网站流程http://imageshack.com/a/img661/8053/64Mqxv.gif
我目前让index.html
->LoginCtrl正常工作。如果用户名和密码错误,代码将转发回index.html
页面,如果用户名和口令正确,则代码将转发到BuildRegistration.java
。
这是因为我不知道如何处理从servlet到servlet的转发,以构建一个带有表单的网页。我用上面的表单创建了一个jsp页面,我可以转发到那个jsp,但教授希望我转发到另一个servlet,让它构建网页和表单。
我找不到任何关于servlet到servlet交互的资源,所以如果有任何链接或解释的帮助,我将不胜感激。
登录控制servlet:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
if (request.getParameter("userName").equals("schmitts") &&
request.getParameter("password").equals("pass")){
request.getRequestDispatcher("BuildRegistration.java").forward(request, response);
} else {
request.getRequestDispatcher("index.html").forward(request, response);
}
}
传递给forward()
的是映射资源的路径(相对或绝对,在同一个webapp中)。
如果它是<webappRoot>/foo/bar
下的JSP,那么路径是/foo/bar/theJsp.jsp
。如果它是servlet,那么它就是使用web.xml文件的servlet-mapping
元素或@WebServlet
注释映射到的路径。如果servlet映射到/registration/build
,那么这就是应该传递到forward()
的路径。