Struts2+Spring+Hibernate step by step 11 ssh整合之拦截器验证用户是否登录
来源:互联网 发布:五常知乎 编辑:程序博客网 时间:2024/05/21 11:20
注:该系列文章部分内容来自王健老师编写ssh整合开发教程
引言:
之前没有引入拦截器之前,我们使用Filter过滤器验证用户是否登录,在使用struts2之后,完全可以使用拦截器,验证用户是否已经登录,如果没有登录,则显示登录页面,要求其先登录。
第一步:书写一个方法拦截器如下:
说明:因为在当前程序中,只有一个Action类,即OneAction.java,而其中的excute方法又是登录方法,所以对于execute方法不能拦截,而对于其他方法则必须拦截,所以使用方法拦截器,代码如下:
package com.xuzheng.filter;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;@SuppressWarnings("serial")public class ValidateLogin extends MethodFilterInterceptor{@Overrideprotected String doIntercept(ActionInvocation invo) throws Exception {//验证用户是否已经登录if(ActionContext.getContext().getSession().get("user")!=null){System.out.println("用户已经登录......");return invo.invoke();}else{System.out.println("你还没有登录......");return Action.LOGIN;}}}
<interceptors><!-- 1、编写自己的拦截器 --><interceptor name="validateLogin1" class="com.xuzheng.filter.ValidateLogin"><param name="excludeMethods">execute</param></interceptor><!-- 2、配置一个拦截器栈 --><interceptor-stack name="validateLogin"><interceptor-ref name="defaultStack"></interceptor-ref><interceptor-ref name="validateLogin1"></interceptor-ref></interceptor-stack></interceptors><!-- 3、配置默认拦截器 --><default-interceptor-ref name="validateLogin"></default-interceptor-ref><!-- 4、配置全局结果转向 --><global-results><result name="login">/index.jsp</result></global-results>
第三步:发布项目,如果在地址栏中直接输入如下:
http://127.0.0.1:8080/ssh/one!update.action 则会跳转至登录页面
图-1
至此,ssh整合系列教程到此完结。
源代码下载:
step by step ssh 10
1 0
- Struts2+Spring+Hibernate step by step 11 ssh整合之拦截器验证用户是否登录
- Struts2+Spring+Hibernate step by step 07 ssh整合之增加用户
- Struts2+Spring+Hibernate step by step 08 ssh整合之删除用户
- Struts2+Spring+Hibernate step by step 09 ssh整合之查询用户
- Struts2+Spring+Hibernate step by step 10 ssh整合之修改用户
- Struts2+Spring+Hibernate step by step 04 整合Spring之二,从数据库验证用户名和密码
- Struts2+Spring+Hibernate step by step 06 整合Hibernate
- Struts2+Spring+Hibernate step by step 02 模拟用户登录(非数据库)
- Struts2+Spring+Hibernate step by step 03 整合Spring之一(在DAO层验证用户名和密码)
- SSH2 Step by Step- Step 4 - Struts2、Spring和Hibernate的整合
- Struts2+Spring+Hibernate step by step 05 使用Spring查询显示所有用户
- Struts2+Spring+Hibernate step by step 01 创建Struts2项目
- SSH2 Step by Step- Step 3 Struts2和Hibernate的整合
- jbpm4.3+SSH整合开发Step by Step
- 用Struts2的拦截器验证用户是否登录
- struts2 tiles2 step by step
- Spring MVC Step by Step
- struts2 拦截器验证是否登录
- 字节对齐
- HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
- C++中vector和map使用详解
- 静态成员变量和静态成员函数
- Android-MediaProvider数据库模式
- Struts2+Spring+Hibernate step by step 11 ssh整合之拦截器验证用户是否登录
- Model实体与Json互相转换
- HCNA,华为认证网络工程师简介
- 计算机网络基础(一)
- 工作总结10 重构认识之三
- Android中怎么启动关闭Service及功能解释 .
- c++中友元类的使用
- 数据库连接池的工作机制
- HashMap的put()方法