struts2和urlrewriter结合使用 完成访问路径隐藏

2014-11-24 08:20:04 · 作者: · 浏览: 0

最近写项目要完成访问地址的功能,后台使用的是struts2,本来以为struts2应该会提供这样的功能的,但是找了很久都没有找到,结果就看到有人使用urlrewriter来完成这个功能,所以自己就试了下,结果还真的可以,而且还很简单:

1. 我使用的是maven项目,所以直接加上

  
	
   
    org.tuckey
   
	
   
    urlrewritefilter
   
	
   
    4.0.3
   

  
若是不是使用maven的项目,可以自己去 下载这个jar包,而且是可以从svn上检出 源码:http://code.google.com/p/urlrewritefilter/downloads/list

2. 在web.xml中加入一个拦截器,放在struts2拦截器的前面,若还加入了字符编码的拦截器的话就要放到最前面:

  

  
	
   
    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
     
   

  
3. 新建一个urlrewrite.xml,通过上面web.xml中的配置可以看出这个文件是放在classpath下面的,若是不配置放置的位置,那么就默认在web-inf,可以查看源码验证。

  
 

  
	
    
    
     /register.
     html
     
    
     register!test
     
   
  
4. 接下来就是访问 register.html 那么就会去访问register这个action里面的test方法