最近写项目要完成访问地址的功能,后台使用的是struts2,本来以为struts2应该会提供这样的功能的,但是找了很久都没有找到,结果就看到有人使用urlrewriter来完成这个功能,所以自己就试了下,结果还真的可以,而且还很简单:
1. 我使用的是maven项目,所以直接加上
若是不是使用maven的项目,可以自己去 下载这个jar包,而且是可以从svn上检出 源码:http://code.google.com/p/urlrewritefilter/downloads/listorg.tuckey urlrewritefilter 4.0.3
2. 在web.xml中加入一个拦截器,放在struts2拦截器的前面,若还加入了字符编码的拦截器的话就要放到最前面:
3. 新建一个urlrewrite.xml,通过上面web.xml中的配置可以看出这个文件是放在classpath下面的,若是不配置放置的位置,那么就默认在web-inf,可以查看源码验证。j2ee_ttzh UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter confPath /WEB-INF/classes/urlrewrite.xml UrlRewriteFilter /* REQUEST FORWARD struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* REQUEST FORWARD INCLUDE
4. 接下来就是访问 register.html 那么就会去访问register这个action里面的test方法/register. html register!test