部署spring app时连接超时错误

时间:2010-02-23 05:10:50

标签: java ms-access spring jdbc spring-mvc

我正在尝试部署一个简单的Spring应用程序并获得“连接超时”错误。我的应用程序尝试从一个jsp中的用户输入文本输入,在db中的username下插入该值,然后在另一个jsp中显示该名称以及问候语,例如:“hello,”

我的环境:

  1. 操作系统:Windows XP专业人员
  2. 服务器:Tomcat 6
  3. IDE:Eclipse
  4. DB:MS Access 2007
  5. 我收到以下错误:

      

    严重:上下文初始化失败

         

    org.springframework.beans.factory.BeanDefinitionStoreException:   IOException解析XML文档   ServletContext资源   [/WEB-INF/applicationContext.xml的];   嵌套异常是   java.net.ConnectException:连接   超时:连接

         

    java.net.ConnectException:Connection   超时:连接
            在java.net.PlainSocketImpl.socketConnect(Native   法)
            在java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)         在java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)         在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)         在java.net.Socket.connect(Socket.java:520)         在java.net.Socket.connect(Socket.java:470)         在sun.net.NetworkClient.doConnect(NetworkClient.java:157)         在sun.net.www.http.HttpClient.openServer(HttpClient.java:388)         在sun.net.www.http.HttpClient.openServer(HttpClient.java:523)         在sun.net.www.http.HttpClient。(HttpClient.java:231)         在sun.net.www.http.HttpClient.New(HttpClient.java:304)         在sun.net.www.http.HttpClient.New(HttpClient.java:321)

         

    严重:Servlet / SpringExample扔了   load()异常

         

    java.net.ConnectException:Connection   超时:连接         在java.net.PlainSocketImpl.socketConnect(Native   方法)         在java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)         在java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)         在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)         在java.net.Socket.connect(Socket.java:520)         在java.net.Socket.connect(Socket.java:470)         在sun.net.NetworkClient.doConnect(NetworkClient.java:157)

    访问数据库的代码如下:

    //在profile.java类中

    public void setUsername(String username) {
                  int rowsInserted;
                  setDataSource(dataSource);
                 jt = new JdbcTemplate(dataSource);
                 rowsInserted = jt.update("insert into usernamedb (username) values(?)",new Object[] { username });
                 System.out.println(rowsInserted);
                 }
    
    在profileFormController.java类

    protected ModelAndView onSubmit(Object command)
        {
            Profile profile = (Profile) command; 
            String greeting = "Hello," + profile.getUsername() + "!";
            //System.out.println(greeting);
            profile.setUsername(profile.getUsername());
            return new ModelAndView("greetingDisplay", "greeting", greeting);
        }
    

    要设置DNS,在ODBC源中我已将“usernamedb”设置为用户的DNS源。我无法弄清楚这个错误的根本原因。

2 个答案:

答案 0 :(得分:0)

首先,我会检查您的数据库服务器是否正在运行。如果是,请确保您尝试在正确的端口号的正确地址连接到它,并且如果您给它正确的用户名和密码。

如果所有这些似乎都在工作,您可能还需要检查您的数据库服务器是否接受来自您地址的连接。

答案 1 :(得分:0)

如果任何人仍在寻找解决方案,请查看/WEB-INF/applicationContext.xml中的DTD定义,包括dtd版本

如果找不到任何错误,请尝试转到XML Schema配置样式。请参阅http://docs.spring.io/spring/docs/current/spring-framework-reference/html/xsd-config.html#xsd-config-body