JSP Servlet:URI仍然是控制器servlet的URI

时间:2012-09-08 09:58:42

标签: java model-view-controller jsp servlets

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

1 个答案:

答案 0 :(得分:3)

这不太可能。

Eaiser将以相反的方式解决它。使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框架中的工作原理。

另见