过滤器代码:userLoginFilter.java
package com.gifer.action; 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; import org.apache.log4j.Logger; public class userLoginFilter implements Filter { private static Logger log = Logger.getLogger(AuthenticationFilter.class); private static String LOGIN_PAGE = "/login.jsp"; @Override public void init(FilterConfig arg0) throws ServletException { if (log.isDebugEnabled()) { log.info("权限过滤器初始化完成。"); } } @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; // 当前访问路径 String currentUrl = req.getRequestURI(); // 获取session HttpSession session = req.getSession(); // 如果不是登录页面,就要进行身份认证 if (currentUrl.indexOf(LOGIN_PAGE) == -1) { if (log.isDebugEnabled()) { log.info("正在对请求进行权限认证," + "请求URL:" + currentUrl); } // 如果session为空,或者用户没有登录,则重定向输出登录页面 if (session == null || session.getAttribute("user") == null) { res.sendRedirect(req.getContextPath() + LOGIN_PAGE); return; } } // 过滤完成,filter链继续向下执行 chain.doFilter(request, response); } }
web.xml
<!-- 自定义权限过滤器 --> <filter> <filter-name>authFilter</filter-name> <filter-class>com.gifer.action.userLoginFilter</filter-class> </filter> <filter-mapping> <filter-name>authFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关推荐
Java SSH 权限验证过滤器实现。。。内容简单 有部分struts.xml配置信息,自己测试过。仅供参考。。。
Struts2 使用了一个过滤器作为控制器 2、Struts1 中每个 HTML 表单都对应一个 ActionForm 实例. Struts2 中, HTML 表单将被直接映射到一个 POJO. 3、Struts1 的验证逻辑编写在 ActionForm 中; Struts2 中的验证逻辑...
1.3 带过滤器调度程序的Model 2 9 1.4 小结 13 第2章初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts....
拦截器可以说相当于是个过滤器:就是把你不想要的或不想显示的内容给过滤掉。拦截器可以抽象出一部分代码可以用来完善原来的Action。同时可以减轻代码冗余,提高重用率。比如在登入一个页面时,如果要求用户密码、权限...
数据验证:HTML5 的原生验证模式、Struts2 的 Validation 验证框架以及 Interceptor 拦截器、JavaEE 的 Filter 过滤器 学生端(修改个人信息、修改密码、查看成绩) 教师端(成绩查看与修改、录入成绩、所教科目管理...
该资源在MYEclipse下运行,有登陆界面,拦截器过滤器,国际化,数据验证,框架验证,在tomcat6.0下运行,有资源配置文档.主要实现登录界面的拦截等。
1.3 带过滤器调度程序的Model 2 9 1.4 小结 13 第2章 初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件...
以上的这些功能,通过一种名为责任链或者拦截器或者过滤器(语义上的区别而技术上没有什么区别,知道做了什么就行了)的设计模式可以实现,那么就来看看什么是责任链的设计模式。 以下内容参考北京尚学堂的马士兵...
针对初学者,学习Ajax验证用户的唯一性实战是为了巩固Ajax,Jquery,Json与Struts2基础知识,具体内容如下 浏览效果图: 那我们就开始了,操作步骤如下 1.首先我们先导入所需要的包及文件 Json 包: struts2 包:...
其实就是把原web.xml中的最后的过滤器代码移到最顶端就可以了.具体查看代码) 更多内容可以关注我新建立的博客:http://blog.csdn.net/wuxinfengjing<br>我也是初学拉.就只是为了大家共同进步. <br> <br>原...
学生成绩管理系统JSP课程设计 可实现学生和老师两个端的登录;...等功能 运用技术: ...3、数据验证:HTML5的原生验证模式、Struts2的Validation验证框架以及Interceptor拦截器、JavaEE的Filter过滤器
使用struts2+spring+hiernate开发的小项目,供想自己搭建环境的兄弟们借鉴,使用了拦截器、过滤器做权限验证和字符集设置。以及spring配置hibernate数据源。数据库方面大家根据hibernate文件和数据源配置自己建立。
基于Struts Hibernate Spirng 框架的WEb项目 过滤器对用户经行验证
使用struts2+spring+hiernate开发的小项目,供想自己搭建环境的兄弟们借鉴,使用了拦截器、过滤器做权限验证和字符集设置。以及spring配置hibernate数据源。数据库方面大家根据hibernate文件和数据源配置自己建立。 ...
这是博客文章http://blog.csdn.net/lenotang/archive/2008/10/01/3007894.aspx配套的源代码,里面主要涉及的知识点有Struts中I18N,数据验证,过滤器,以及ajax(利用prototype库)与Struts的集成。
例程2-6:利用过滤器限制客房端访问 例程2-7:多组件协作实现用户用户登录验证 本章小结 第3章 管理和维护应用程序状态 例程3-1:购物车 例程3-2:聊天室 例程3-3:网站计数器 本章小结 第4章 访问企业信息资源 ...
在myeclipse中测试过的,里面有filter中文过滤器.validator验证方法的使用.绝对值的珍藏.
Web集成:Shiro可以无缝集成到Java Web应用程序中,提供了过滤器和标签库等工具,简化了权限控制和身份验证的实现。 容器友好:Shiro可以与常见的Java容器(如Spring、Guice)以及其他框架(如Apache Struts、...