JSP 表单"action"采用哪些值?



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

根据规范,它可以接受任何有效的URI

此属性指定表单处理代理。未定义HTTP URI以外的值的用户代理行为。

我可以在表单操作中给servlet类赋值吗

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

让我们考虑您的JSP是应用程序的根,然后

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

现在,这将被解析为protocol://servername:port/context/someServletName。现在,您应该在web.xml中或通过注释/someServletName映射到Servlet或JSP。

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