【问题标题】:Having trouble with servletsservlet 遇到问题
【发布时间】:2014-09-27 20:19:03
【问题描述】:

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

【问题讨论】:

    标签: html forms jsp servlets netbeans


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-15
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 2021-07-04
      • 1970-01-01
      • 2014-11-30
      相关资源
      最近更新 更多