在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 。。所以性能应该会差点,个人愚见。