Настроитьсвязать форму с действием формы - PullRequest
0 голосов
/ 11 января 2011

Во-первых, я новичок в разработке Java / J2EE. Так что, пожалуйста, будьте снисходительны с моей утечкой словарного запаса (но не стесняйтесь поправлять меня;)

  • Вот моя первая проблема:

Я создал первую форму (с именем form1) на странице .jsp:

<form name="form1" action="formaction1.do" method="get">

Я перенаправляю результат моей формы в Java-класс FormAction1:

<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>

Вот мой Java-класс FormAction1:

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">

и восстановить информацию с помощью request.getParameter () в anotherFile.jsp?

1 Ответ

1 голос
/ 11 января 2011

шаблон URL не требует совпадения с начала, в этом случае

<url-pattern>/formaction1.do</url-pattern>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...