自定义<url-pattern>以将Form链接到FormAction </url-pattern>

时间:2011-01-11 02:53:00

标签: java java-ee

首先,我是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()恢复信息?

1 个答案:

答案 0 :(得分:1)

没有url-pattern需要从头开始匹配,在这种情况下

<url-pattern>/formaction1.do</url-pattern>