2

JSP フォーム アクションとは? ユーザーが詳細を終了するための Login.jsp ページがあります。フォーム アクションでサーブレット クラスを指定できますか?

ここにサーブレットコードがあります。

package mybean;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
    super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try
    {
        System.out.println("In the Login Servlet");
        LoginBean user = new LoginBean();
        user.setUemail(request.getParameter("uemail"));
        user.setUpass(request.getParameter("upass"));
        user = LoginDAO.login(user);
        if(user.isValid())
        {
            HttpSession session = request.getSession(true);
            session.setAttribute("currentSessionUser",user);
            response.sendRedirect("LoginSuccess.jsp");
        }else
            response.sendRedirect("LoginFailed.jsp");
    } catch (Throwable exc)
    {
        System.out.println(exc);
    }
}

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}

}
4

1 に答える 1

6

仕様に従って、任意の有効なURIを取ることができます

この属性は、フォーム処理エージェントを指定します。HTTP URI 以外の値に対するユーザー エージェントの動作は未定義です。

フォーム action でサーブレット クラスを指定できますか?

はい、サーブレット クラス名が にマップされた有効な URL に解決される場合、そうでない場合は404web.xmlが発生します。

JSP がアプリケーションのルートにあると考えてみましょう。

<FORM action="someServletName" method="post">

これで、これは として解決されます。web.xml内、またはサーブレットまたは JSP へのアノテーションを介しprotocol://servername:port/context/someServletNameて、どこかに のマッピングが必要です。/someServletName

<servlet>
     <servlet-name>someServletName</servlet-name>
     <servlet-path>packageName.servletName</servlet-path>
</servlet>
<servlet-mapping>
     <servlet-name>someServletName</servlet-name>
     <url-pattern>/someServletName</url-pattern>
</servlet-mapping>
于 2013-07-04T16:00:51.850 に答える