我在jsp文件中有一个在servlet中处理的表单
servlet看起来像这样
@WebServlet("/hello")
public class Test extends HttpServlet
//////////////
jsp文件看起来像这样
<form action="/Project/hello" method="GET">
<input type="submit" value="Submit form "/>
</form>
我需要这个servlet将请求转发给不同的jsp 所以我将此代码修改为
// I remove @WebService The Test class is in the test folder
public class Test extends HttpServlet
//////////////
forward blah blah
<form action="/test/Test" method="GET">
<input type="submit" value="Submit form "/>
我得到了404
如何在表单的action属性中指定我的servlet?
答案 0 :(得分:1)
将web.xml
映射到<url-pattern>
/test
上。{/ p>
<servlet>
<servlet-name>testServlet</servlet-name>
<servlet-class>com.example.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
在你的jsp中,表单操作指向此URL。
<form action="test"/>
答案 1 :(得分:1)
@WebService("/test/Test")
public class Test extends HttpServlet
您需要注释将servlet映射到web.xml中的url或servlet条目
答案 2 :(得分:1)
首先,您需要使用web.xml中的url映射servlet,如下所示
<servlet>
<servlet-name>testServlet</servlet-name>
<servlet-class>com.company.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
然后你需要在表单动作中给出url如下:
<form action="test" method="get">
servlet中的方法(doGet或doPost)应该与你在jsp中指定的方法相匹配。