去除url后缀(.html,.jsp等)的有效方法

有时候,我们想要隐藏真正的路径,或者觉着很酷,举一个知乎网的例子,如https://www.zhihu.com/question/39547745

那么?如何做到呢,其实,可以有一个非常简单而有效的解决方案,即是利用最为基础的Servlet即可:


首先,在WEB.XML里配置
<servlet>
  <servlet-name>testsuffix</servlet-name>
  <servlet-class>mytest.TestSuffix</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>testsuffix</servlet-name>
  <url-pattern>test</url-pattern>
</servlet-mapping>


在SERVLET的doGet里写页面转向就可以啦..

response.setContentType("text/html");

String uri = request.getRequestURI();

// 将处理成真正访问的url

String newuri = procees(uri);


RequestDispatcher rd = request.getRequestDispatcher(newuri);
rd.forward(request, response);

现在,访问servlet在web.xml中配置的路径,返回的结果极为doGet方法中,真正访问的页面。利用该方法可以隐藏真正的路径。

原文地址:https://www.cnblogs.com/data2value/p/5334197.html