<%@ page contentType="text/html; charset=gb2312"%> Java中应用Filter对权限和Session控制
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
Java中应用Filter对权限和Session控制
     发布者: 发布时间:2007-11-26
package com.drp.util.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class AuthFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,FilterChain filterChain) throws IOException, ServletException {/** 1,doFilter方法的第一个参数为ServletRequest对象。此对象给过滤器提供了对进入的信息(包括* 表单数据、cookie和HTTP请求头)的完全访问。第二个参数为ServletResponse,通常在简单的过* 滤器中忽略此参数。最后一个参数为FilterChain,此参数用来调用servlet或JSP页。*/HttpServletRequest request = (HttpServletRequest)servletRequest;/** 如果处理HTTP请求,并且需要访问诸如getHeader或getCookies等在ServletRequest中* 无法得到的方法,就要把此request对象构造成HttpServletRequest*/HttpServletResponse response = (HttpServletResponse)servletResponse;String currentURL = request.getRequestURI(); //取得根目录所对应的绝对路径:String targetURL = currentURL.substring(currentURL.indexOf("/", 1),currentURL.length()); //截取到当前文件名用于比较HttpSession session = request.getSession(false);if (!"/login.jsp".equals(targetURL)) {//判断当前页是否是重定向以后的登录页面页面,如果是就不做session的判断,防止出现死循环if (session == null || session.getAttribute("user") == null) {//*用户登录以后需手动添加sessionSystem.out.println("request.getContextPath()=" + request.getContextPath());response.sendRedirect(request.getContextPath() + "/login.jsp");//如果session为空表示用户没有登录就重定向到login.jsp页面return;}}//加入filter链继续向下执行filterChain.doFilter(request, response);/** 调用FilterChain对象的doFilter方法。Filter接口的doFilter方法取一个FilterChain对象作* 为它 的一个参数。在调用此对象的doFilter方法时,激活下一个相关的过滤器。如果没有另* 一个过滤器与servlet或JSP页面关联,则servlet或JSP页面被激活。*/}public void init(FilterConfig filterConfig) throws ServletException {}}然后在配置文件web.xml里添加: (请注意,过滤是在serlvet规范2.3版中初次引入的。因此,web.xml文件必须使用DTD的2.3以上版本。)<filter><filter-name>AuthFilter</filter-name><filter-class>com.drp.util.filter.AuthFilter</filter-class></filter><filter-mapping><filter-name>AuthFilter</filter-name><url-pattern>*.jsp</url-pattern>//表示对所有jsp文件有效</filter-mapping>这样用户没有登录的情况下就会转到登录页面
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
对于JAVA基础测试中常见的异常问题汇总
Java语言相关的重要术语解析
如何使用Java编写NT服务
JAVA语言基础:现在你还在用if else吗?
成为java高手的八大条件
如何实时得到java object占用的空间
 
最近评论:
        
鍥炲
        
那个雨天的想法!
wow gold,wow power leveling.wow power leveling,wow power leveling, max(4691)
        
如果真的有来生!
四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游, max(4819)
        
如果真的有来生!
四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游, max(8507)
        
左边的风景!
wow gold,wow power leveling.wow power leveling,wow power leveling, max(1149)
        
轻轻走过你的窗前!
world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(5373)
        
不在的哪天!
final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,final fantasy xi gil, max(3570)
        
快乐情人节!
wow gold,wow gold,wow gold,wow gold,wow gold,wow gold,wow gold buy wow gold for cheap. max(4152)
        
昨夜的狂想曲!
wow gold,WoW Gold,world of warcraft gold,WoW Gold, max(2783)
        
没有情人的情人节!
wow gold,wow power leveling.wow power leveling,wow power leveling, max(3260)
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号