2013-01-23 165 views
0

當我嘗試將我的表單提交給servlet處理時,瀏覽器指示請求的資源不可用,並出現HTTP 404錯誤。該URL的樣子:JSP Servlet請求的資源()不可用

http://localhost:8080/Website/DateSearchServlet 

我的XML文件:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
<servlet> 
    <servlet-name>DateSearchServlet</servlet-name> 
    <servlet-class>DB.DateSearchServlet</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>DateSearchServlet</servlet-name> 
    <url-pattern>/Search/*</url-pattern> 
</servlet-mapping> 
<session-config> 
    <session-timeout> 
     30 
    </session-timeout> 
</session-config> 

要叫我用這簡單的形式在servlet:

<form name="dateSearch" action="DateSearchServlet" method="post"> 
    <label for="from">Date From</label> 
    <input type="text" id="from" name="from" /> 
    <label for="to">Date To</label> 
    <input type="text" id="to" name="to" /> 
    <input type="submit" id="submit" value="Submit"> 
</form> 

最後是這樣的servlet:

@WebServlet(name = "DateSearchServlet", urlPatterns = {"/Search"}) 
public class DateSearchServlet extends HttpServlet { 

DatabaseConnector dataManager; 
boolean dbOK = false; 
HomeList homes = new HomeList(); 

@Override 
public void init() { 
    dataManager = new DatabaseConnector(); 
} 

@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    String dateFrom = request.getParameter("from"); 
    String dateTo = request.getParameter("to"); 

    if (dateFrom == null || dateTo == null) { 
     dbOK = false; 
    } else { 
     dbOK = true; 
    }//end if 

    request.setAttribute("homeList", null); 

    if (dbOK) { 
     homes = dataManager.getPropertiesSearch(dateFrom, dateTo); 
     request.setAttribute("homeList", homes); 
     request.getRequestDispatcher("bookings.jsp").forward(request, response); 
    } else { 
     System.out.println("DBNOTOK"); 
     //error... 
    } 
} 
} 

謝謝

+0

您好,感謝您的意見,我有按照建議改變表單動作,但似乎仍然拋出相同的資源未找到錯誤 – user1851487

回答

2

web.xml中的URL模式未針對您正在調用的servlet進行正確配置。

因此,在形式的行動改變爲URL 搜索/ DateSearchServlet

0

試試這個....

<form name="dateSearch" action="DateSearchServlet.action" method="post"> 
<label for="from">Date From</label> 
<input type="text" id="from" name="from" /> 
<label for="to">Date To</label> 
<input type="text" id="to" name="to" /> 
<input type="submit" id="submit" value="Submit">