遇到servlet问题

时间:2014-09-27 20:19:04

标签: html forms jsp servlets netbeans

flow of website http://imageshack.com/a/img661/8053/64Mqxv.gif

我目前有index.html - > LoginCtrl工作得很好。如果用户名和密码错误,代码会转发回index.html页面,如果用户名和密码正确,则会转发到BuildRegistration.java

这是我无法弄清楚如何处理从servlet转发到servlet以构建带有表单的网页。我创建了一个带有表单的jsp页面,我可以转发到那个jsp,但是教授希望我转发到另一个servlet并让它构建网页和表单。

我无法在servlet上找到servlet交互的任何资源,因此非常感谢任何有关链接或解释的帮助。

LoginCtrl 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);
    }
}

1 个答案:

答案 0 :(得分:0)

传递给forward()的是映射资源的路径(相对或绝对,在同一个webapp中)。

如果它是<webappRoot>/foo/bar下的JSP,则路径为/foo/bar/theJsp.jsp。如果它是一个servlet,那么它是使用web.xml文件的servlet-mapping元素或@WebServlet注释映射到的路径。如果您的servlet映射到/registration/build,那么这就是您应该传递给forward()的路径。