2010-02-23 91 views
1

我想部署一個簡單的Spring應用程序,並得到「連接超時」的錯誤。我的應用程序試圖把來自用戶的文本輸入一個JSP,在用戶名中插入該值在db,然後在另一個JSP與問候例如,沿着顯示名稱:「你好,」連接超時錯誤,同時部署彈簧應用程序

我的環境:

  1. 操作系統:Windows XP專業
  2. 服務器:Tomcat的6
  3. IDE:Eclipse的
  4. DB:MS Access 2007年

我得到以下錯誤:

重度:上下文初始化失敗

org.springframework.beans.factory.BeanDefinitionStoreException:從 ServletContext的資源 [/ WEB-INF /的applicationContext IOException異常解析XML文檔.XML]; 嵌套的異常是 java.net.ConnectException:連接 超時:接

java.net.ConnectException:連接 超時:在java.net.PlainSocketImpl.socketConnect(母語 方法)
連接
在java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java .net.Socket.connect(Socket.java:520) at java.net.Socket.conne ct(Socket.java:470) at sun.net.NetworkClient.doConnect(NetworkClient.java:157) at sun.net.www.http.HttpClient.openServer(HttpClient.java:388) at sun.net。 www.http.HttpClient.openServer(HttpClient.java:523) at sun.net.www.http.HttpClient。(HttpClient.java:231) at sun.net.www.http.HttpClient.New(HttpClient.java :304) 在sun.net.www.http.HttpClient.New(HttpClient.java:321)

重度:Servlet的/ SpringExample扔 負載()異常

java.net.ConnectException:連接 超時:連接 在java.net.PlainSocketImpl.socketConnect(母語 方法) 在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)

訪問分貝的代碼如下:

//在配置文件中。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源I已設置「usernamedb」作爲用戶一個DNS源。我無法弄清楚這個錯誤的根本原因。

+0

的applicationContext.xml: 的 <屬性名= 「數據源」 REF = 「數據源」> neetu 2010-02-23 05:30:46

+0

你可以ping用戶名db嗎? – Bozho 2010-02-23 09:24:10

+0

對不起,沒有得到您的問題。我怎樣才能ping分貝?其次,我試圖運行沒有數據庫連接性的程序,這也給出了相同的錯誤。 – neetu 2010-02-23 10:37:45

回答

0

首先我會檢查你的數據庫服務器是否在運行。如果是,請確保您嘗試以正確的端口號在正確的地址連接到它,並且如果您提供了正確的用戶名和密碼。

如果所有這些似乎工作,你可能還需要檢查你的數據庫服務器將接受來自你的地址的連接。

+1

stacktrace表明它無法解析'/ WEB-INF/applicationContext.xml'文件,並且所有的數據庫交互都遠遠超出了這個範圍,因此可能不是這一切的根本原因。 OP錯誤地僅讀取「連接超時」消息而不是整個跟蹤。 – BalusC 2010-03-16 18:23:30

相關問題