关于JavaWeb拦截访问一点总结。
2016-02-29 00:00
387 查看
在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,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 。。所以性能应该会差点,个人愚见。
相关文章推荐
- Java5中并发编程的各种细节。
- Spring的Jar包详解
- jdk5.0 新增的 Concurrent包主要功能详解
- Java 位运算(移位、位与、或、异或、非)
- JAVA实现Key-Key结构
- "Java 反序列化"过程远程命令执行漏洞
- spring 初始化
- Java 正则表达式--匹配类型
- java学习笔记:使用dom4j解析xml
- 拆解身份证的工具类
- java wordpress密码加密
- java自动类型转换
- Spring 中配置申明式的配置信息
- Java 集合系列目录(Category)
- Java 多线程系列目录(共43篇)
- openstack-ice版的eclipse环境配置
- Eclipse快捷键最有用的快捷键
- 浅谈Java中的hashcode方法
- Java中的内存泄漏
- java_patest乙级真题1002. 写出这个数 (20)