Servlet中的URL映射

时间:2010-05-01 05:36:43

标签: jsp url servlets

我正在使用JSP和Servlet构建一个站点。 如何映射此example.com/12345之类的网址,以便获得响应,就好像请求是example.com/content.jsp?id=12345一样?

1 个答案:

答案 0 :(得分:3)

使用url-pattern /*,按HttpServletRequest#getPathInfo()收集路径信息,最后通过RequestDispatcher#forward()将请求转发到所需目的地。

基本启动示例(除了业务逻辑和异常处理):

String pathInfo = request.getPathInfo();
String id = pathInfo.substring(1); // Get rid of trailing slash.
String newURL = String.format("/content.jsp?id=%d", id);
request.getRequestDispatcher(newURL).forward(request, response);

或者,特别是如果实际上没有涉及业务逻辑,您也可以使用Tuckey's UrlRewriteFilter。通过这种方式,您可以像使用Apache HTTPD众所周知的mod_rewrite一样重写URL。