【问题标题】:JSP Servlet: URI remains that of controller servletJSP Servlet:URI 仍然是控制器 servlet
【发布时间】:2012-09-08 09:58:41
【问题描述】:

使用 MVC,当我从控制器 servlet 将响应返回到我的 jsp 页面时,URI 仍然是 servlet 的。 我希望显示 JSP 的 URI,它显示从控制器 servlet 发回的结果。 任何帮助将不胜感激。

【问题讨论】:

    标签: java model-view-controller jsp servlets


    【解决方案1】:

    这不太可能。

    更简单的方法是反过来解决它。使 JSP 的 URI 成为控制器之一。首先将 JSP 文件隐藏在 /WEB-INF 文件夹中,这样最终用户永远无法在不调用控制器的情况下直接打开它。然后实现控制器servlet的doGet()方法如下:

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
    }
    

    现在,如果您打开控制器 servlet 的 URI 而不是 JSP 的 URI,那么您将看到 JSP。如果您将 JSP 中的表单提交给控制器 servlet(因此将调用其 doPost(),不要忘记更改其中的 JSP 路径以包含 /WEB-INF),那么 URI 基本保持不变,这就是你最终想要的..

    这也是它在现有的基于 Servlet 的 MVC 框架中的一般工作方式。

    另见

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      相关资源
      最近更新 更多