2012-05-05 3 views
0

у меня есть index.jsp файл, который имеет два различных типа формНесколько форм в одном файле JSP, взаимодействующих с различными сервлетов

<form action="searchpath" name="searchForm" method="get"> 
<p>BedType</p> 
    <select name="bedType"> 
    <jsp:include page="/WEB-INF/embeds/bedType.jsp"/> 
    </select> 
    <p>Max Price</p> 
    <input size="10" maxlength="10" name="mPrice"/> 
    <br/><br/> 
    <input name="Reset" type="reset" value="RESET" class="input"/> <input type="submit" class="input" value="SUBMIT"/> 
</form> 

и

<form action="loginController" method="post" id="loginForm"> 
     Please Login :<input name="username" size="30" maxlength="30"/> 
     Password : <input name="pass" type="password" size="30" maxlength="30"/>  
     <input type="submit" value="SUBMIT" class="input"/> 
    </form> 

Я думал, что тип action поле, направленное на web.xml<url-pattern>/searchpath</url-pattern> позволил бы мне направлять любую входную информацию, которую я размещаю в этих формах, на сервлет этого пути. То есть, первая форма будет взаимодействовать с моим сервом searchpath. Когда я попытался представить форму и распечатать информацию, ничего не работало, и я продолжал получать http 404 error. Может кто-то, пожалуйста, помогите мне с этим?

web.xml:

<servlet-mapping> 
    <servlet-name>Search</servlet-name> 
    <url-pattern>/searchpath</url-pattern> 
    </servlet-mapping> 

внутри моего search.java сервлета:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 
    out.println("<HTML>"); 
    out.println("<HEAD>"); 
    out.println("<TITLE>Static Servlet</TITLE>"); 
    out.println("</HEAD>"); 
    out.println("<BODY>"); 
    out.println("<h1>WTF</h1>"); 
     out.println("</BODY>"); 
    out.println("</HTML>"); 
+2

Добавить путь контекста в атрибут 'action'' form' –

ответ

1

Проверка браузера URL. Вам не хватает контекста.

Let Say, Вы работаете в http://localhost:8080/test/index.jsp где test - это ваш путь к контексту.

Итак, при вызове сервлета Это должно быть как http://localhost:8080/test/searchpath.

В вашем случае это не так.

Итак, добавление cotextpath решит вашу проблему.

например. action="<%=request.getContextPath()%>/searchpath"

Смежные вопросы