- 实施
javax.servlet.Filter
。 - 在
doFilter()
方法中,将传入内容强制转换ServletRequest
为HttpServletRequest
。 - 用
HttpServletRequest#getRequestURI()
抢的路径。 - 使用简单的
java.lang.String
方法,如substring()
,split()
,concat()
等提取感兴趣的部分,构成了新的路径。 - 使用或
ServletRequest#getRequestDispatcher()
然后RequestDispatcher#forward()
将请求/响应转发到新的URL(服务器端重定向,不反映在浏览器地址栏中),或将传入的内容强制转换ServletResponse
为HttpServletResponse
然后HttpServletResponse#sendRedirect()
将响应重定向到新的URL(客户端重定向,反映在浏览器地址栏)。 - 注册过滤器
web.xml上url-pattern的/*
或/Check_License/*
根据上下文路径上,或者如果你是在Servlet的3.0已经使用了@WebFilter注解为代替。
不要忘记在代码中添加检查,如果需要更改URL ;如果不需要,则只需调用
FilterChain#doFilter(),否则它将在无限循环中调用自身。
另外,你也可以只使用现有的第三方API为你完成所有工作,例如
Tuckey的UrlRewriteFilter,可以像使用
Apache的方式进行配置
mod_rewrite。



