0

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

4

1 回答 1

3

这不太可能。

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

@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 路径也更改为 include /WEB-INF),那么 URI 基本上保持不变,这就是您最终想要的..

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

也可以看看

于 2012-09-08T10:01:51.203 回答