关于JavaWeb拦截访问一点总结。

在javaweb中,拦截访问现在有几种方式

一种是Filter,Springmvc的Intercepter,struts2的拦截器等。。。

这里总结一下Filter一些路径的拦截

假如这是一个微博项目
xxxx.com/login   是我前台的登陆 页面
xxxx.com/admin/login   是我后台的登陆 页面 



假如用户没登陆  
 访问 xxxx.com/*   我都让他跳转到    xxxx.com/login 
访问xxxx.com/admin/*     都让他跳转到    xxxx.com/admin/login 

============================拦截方法=============================

在过滤器里面  判断路径是否是

 if  ( /admin   开头的) {

 if(是否登陆){

}else{  跳转到后台登陆页面}

}
else  {

 if(是否登陆){

}else{  跳转到前台登陆页面}

}
<filter>
  <filter-name>SessionCheckFilter</filter-name>
  <filter-class>com.chengxi.pd.filter.SessionCheckFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>SessionCheckFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>


上面 这样拦截的话  js,css等都会被拦截 所以要过滤掉

Servlet规范推荐用Filter用作登陆验证这些。。我个人觉得filter是进入servlet前的拦截

而springmvc的拦截器是进去控制器前拦截  他要先进dispatcherServlet 。。所以性能应该会差点,个人愚见。


你可能感兴趣的:(filter)