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类名称解析为在中映射的有效URL,web.xml否则您将遇到 404 。
web.xml
让我们考虑您的JSP是应用程序的根,然后
<FORM action="someServletName" method="post">
现在,这将解析为protocol://servername:port/context/someServletName.Now,现在您应该/someServletName在 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>