JSP形成“行动”的价值观是什么?

时间:2013-07-04 15:55:44

标签: forms 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 {
}

}

1 个答案:

答案 0 :(得分:6)

根据specs,它可以采用任何有效的URI

  

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

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

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

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

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

现在这将被解析为protocol://servername:port/context/someServletName。现在您应该在 web.xml annotation /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>