一尘不染

JSP表单“操作”可以采用什么值?

jsp

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

}

阅读 176

收藏
2020-06-08

共1个答案

一尘不染

根据规范,它可以使用任何有效的URI

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

我可以在表单操作中给Servlet类吗?

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

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

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

现在,这将解析为protocol://servername:port/context/someServletName.Now,现在您应该/someServletName
web.xml中 或通过 注释 到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>
2020-06-08