从Servlet转发到JSP页面时如何在URL中显示.jsp扩展名

时间:2012-09-12 13:51:31

标签: java jsp servlets

正如标题所说:当从Servlet转发到JSP页面而不重定向从而失去Servlet的功能时,如何在URL中显示.jsp扩展名?

如果我使用以下代码从Servlet转发到JSP页面,我的URL中仍然有Servlet:

request.getRequestDispatcher("index.jsp").forward(request, response);

2 个答案:

答案 0 :(得分:2)

你没有。

浏览器显示它认为从中获取数据的URL。除非你告诉它通过重定向得到一个不同的URL,否则它无法知道服务器在幕后做了什么。也不应该。

从应用程序设计的角度来看,您也不应该关心。使用唯一URL的唯一原因是用户可以设置书签。如果JSP页面需要来自servlet的数据,那么为用户提供不同的URL是没有意义的。

如果你没有设置为浏览器提供“.jsp”URL,那么让servlet在会话中存储数据。这是丑陋的,毫无意义的,并且受到并发访问问题的影响,但它确实有效。

答案 1 :(得分:-1)

您可以重定向到JSP而不是转发到它:

response.sendRedirect("index.jsp");