一个JSP文件中的多个表单与不同的Servlet交互

时间:2012-05-05 05:42:09

标签: java html forms jsp servlets

我有一个index.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的{​​{1}}字段类型允许我将这些表单中的输入信息指向该路径的servlet。也就是说,第一个表单将与我的<url-pattern>/searchpath</url-pattern> servlet交互。当我尝试提交表单并打印出信息时似乎没有任何效果,我一直收到searchpath。有人可以帮我解决这个问题吗?

web.xml:

http 404 error

在我的search.java servlet中:

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

1 个答案:

答案 0 :(得分:1)

检查浏览器网址。你缺少背景。

假设您正在http://localhost:8080/test/index.jsp运行,其中test是您的上下文路径。

所以,当调用Servlet时,它应该像http://localhost:8080/test/searchpath

在你的情况下,它不是那样的。

因此,添加cotextpath将解决您的问题。

e.g。 action="<%=request.getContextPath()%>/searchpath"