首先,我是Java / J2EE开发的新手。所以,请放纵我的词汇泄漏(但随意纠正我;)
我在.jsp页面中构建了第一个表单(名为form1):
<form name="form1" action="formaction1.do" method="get">
我将表单的结果重定向到FormAction1 java类:
<servlet>
<servlet-class>com.servlet.myproject.FormAction1</servlet-class>
<servlet-name>FormAction1</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>FormAction1</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
这是我的FormAction1 java类:
public class FormAction1 extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
request.getRequestDispatcher("formaction1.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request, response);
}
}
这很好。
现在,我想创建另一个名为form2的表单,并将其链接到FormAction2 但是,FormAction1接收每个.do请求!
我尝试通过编写
来自定义<url-pattern>
<url-pattern>formaction1.do</url-pattern>
我想这太容易了:D
Tomcat不喜欢它:我的项目的每一页都出现了404错误。
那么,你有什么解决方案吗?
使用像FormAction1这样的类,重写doGet方法有什么意义,而我可以写:
<form name="form1" action="anotherFile.jsp" method="get">
并使用anotherFile.jsp中的request.getParameter()恢复信息?
答案 0 :(得分:1)
没有url-pattern需要从头开始匹配,在这种情况下
<url-pattern>/formaction1.do</url-pattern>