Struts2+Spring+Hibernate step by step 11 ssh拦截验证用户登录到集成
注意:该系列文章从教师王健写了一部分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{ @Override
protected 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;
} } }
第二步:将此拦截器配置到struts.xml中。例如以下:
<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整合系列教程到此完结。
源码下载:
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Struts2+Spring+Hibernate step by step 11 ssh拦截验证用户登录到集成的更多相关文章
- Struts2,Spring,Hibernate三大框架的整合(SSH)
一.搭建struts2 1).导入struts2 jar包 2).编写web.xml 3).编写jsp页面 4).创建action类,action类要继承ActionSupport类 5).创建str ...
- SSH面试题(struts2+Spring+hibernate)
struts2 + Spring +hibernate Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
- struts2+spring+hibernate(SSH)框架的搭建和总结
SSH框架:struts2+spring+hibernate,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. struts2+spring+hibernat ...
- SSH框架简化(struts2+spring+hibernate)
目的: 通过对ssh框架有了基础性的学习,本文主要是使用注解的方式来简化ssh框架的代码编写. 注意事项: 1.运行环境:Windows 8-64位,Eclipse(开发工具),jdk1.8.0_91 ...
- Maven搭建struts2+spring+hibernate环境
Maven搭建struts2+spring+hibernate环境(一) 本文简单的使用STS的自带的maven插件工具搭建ssh(struts2+spring+hibernate)开发环境,图文并茂 ...
- SSH---整合Struts2&Spring&Hibernate(实例)
一.SSH回顾 Struts2:核心为过滤器+拦截器.过程:Filter--->FilterDispatcher-->ActionMapper-->ActionProxy--> ...
- Struts2 + Spring + Hibernate
Struts2 + Spring + Hibernate整合. 使用的是无配置方法进行SSH的整合,struts-convertion plugin + spring annotation + hib ...
- Spring、Struts2+Spring+Hibernate整合步骤
所使用的Jar包: Hibernate: Spring(使用MyEclipse自动导入框架功能) Struts2: 注解包和MySql驱动包: 1.配置Hibernate和Spring: <be ...
随机推荐
- Android PackageInstaller 安装和卸载
应用的安装方式:adb install或者下载安装 过程分析请參考老罗的blog,这里记录一下第三方应用程序安装apk的过程. 安装的过程主要是调用PackageInstaller这个App,源码的位 ...
- cocos2d-x 3.0游戏实例学习笔记 《跑酷》第一步--- 开始界面
说明:这里是平局:晓风残月前辈的博客.他是将泰然网的跑酷教程.用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 ...
- TP-LINK telnet远程 重启路由器(转)
突然断网,以前房东的路由器管理页面可以打开,今天突然间就打不开了.ping了下,可以ping通,于是就想起了房东的路由器是TP-LINK的 可以 telnet登陆的.每次,断网,我都会重启房东的路由器 ...
- 编译联想A820内核源码
编译平台:Fedora 20 x64 交叉编译工具链:arm-linux-androideabi-4.6 话说这个编译工具我研究了两天,Fedora自带一个arm-none-eabi的ToolChai ...
- Storm On YARN带来的好处
1)弹性计算资源 将storm执行在yarn上后.Storm能够与其它计算框架(如mapreduce)共享整个集群的资源.这样当Storm负载骤增时,可动态为它添加计算资源. 负载减小时,能够 ...
- 初步C++类模板学习笔记
类模板 实现:在上课时间的定义给它的一个或多个参数,这些参数代表了不同的数据类型. -->抽象的类. 在调用类模板时, 指定參数, 由编 ...
- Android自己的自动化测试Monkeyrunner和用法示例
眼下android SDK在配有现成的测试工具monkey 和 monkeyrunner两. 也许我们不看一样的兄弟名字.但事实是完全跑了两个完全不同的工具.在测试的不同区域的应用程序.总体,monk ...
- 移植kl档,但调用默认Generic.kl解决的方法
从飞机到现在移植模型来开发遥控器按键,调查发现,大部分的功能键始终没有任何效果. 跑 dumpsys input 要查看当前的关键kl, 查找KeyLayoutFile它原来是默认Generic.kl ...
- char *详细指针
我前段时间写的char*和char[]差额.今char*做一个更深入的了解 1:char像指针和其他指针,也定义一个地址,例如int*它定义了一个堆栈,4字节,char*之,现在写一段代码 #incl ...
- WCF 部署时,soap:address location 显示的是电脑名,而不是ip地址
部署WCF服务时,发现soap:address location 和wsdl:import location 显示是电脑名,而不是ip地址,这样外面公司的人就无法下载剩下的wsdl,post也会往错误 ...