2

JSP 表单动作可以是什么?我有一个 Login.jsp 页面供用户结束详细信息。我可以在表单动作中给出 servlet 类吗?

这是servlet代码。

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 中给出 servlet 类吗?

是的,如果 servlet 类名解析为映射中的有效 URL,web.xml否则您将遇到404

让我们考虑您的 JSP 位于应用程序的根目录,然后

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

现在这将被解析为。现在您应该在web.xml中或通过注释到 Servlet 或 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 回答