基于SSH2框架Struts2拦截器的登录验证实现

strust2校验框架练习 NULL 博文链接:https://wj131.iteye.com/blog/317117 立即下载
通过之前的 Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解系列文章,我们已经成功将这三种框架整合到了一起, 这次大象将在此基础上用一个小实例来说明,怎么利用 Struts2 的拦截器特性实现登录验证,以及超时后的跳转问题。
    大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了。那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证。
    修改数据库
    在user表中增加password字段,将初始密码都设为123,因为是示例所以采用明码,实际开发中,当然不能这样做,需要进行加密处理。再将name改为username,其实name字段可以不用改名,我这样做是为了命名规范,请注意,如果字段改为username,User类中的对应属性也要进行相应变化(如果你加注释写法可以不用改),还有Test与TestHibernateDao中的getName()都要改为getUsername()。
    修改index.jsp
    将hello.action改为login!welcome.action
    增加登录类
    在web包下创建LoginAction类,在其中添加welcome与login方法,前者为index.jsp的跳转方法,它将转向到login.jsp页面。而后者则用来处理登录事件,如果成功将进入到主页面,失败则返回到登录页面。最后面有源码下载,这里省略。
    增加拦截器
    要实现登录拦截的功能,最关键的就是要实现拦截类了,在common包下面再增加一个interceptor包,创建AuthorityInterceptor类,并继承MethodFilterInterceptor,为什么继承它呢?因为它是对方法进行拦截,而在这个应用中,我们是对绝大部分的方法进行拦截,而对个别例外的方法排除。
    
    从session中取得当前登录用户,如果存在,就继续执行后面的拦截器;否则,就跳转到登录页面。所以这样实现了代码后,还要在struts.xml中进行相应的设置。
    增加拦截器配置
   
    做好这一步之后,那么登录验证拦截器将会对除了welcome与login之外的所有方法进行拦截了。另外我想说下,拦截器的实现还有一种注解的方式,它不需要实现拦截器类,只需要指定一个注解类型和一个拦截方法就可以了,具体的请自己去查相关资料。这里我没采取注解方式是因为它只能应用到方法级别,不能进行代码复用,如果有多个Action都需要执行拦截操作,那么就得把同样的注解方法复制到不同的Action中,这无疑是很糟糕的。而使用拦截器类就简单多了,只需要在配置文件中指定它,并引用它,就可以在任意的Action中生效,也没有侵入式代码,这就是常说的AOP切面,struts2的拦截器就是AOP的一个具体实现。
    增加全局转向配置
   
    还记得拦截器里面的return Action.LOGIN 这句吧,当程序执行完这一行后,就会到struts.xml文件中去找name为login全局转向配置,因此这里我设置为一个jsp页面,而没有定义成/login!welcome.action就是因为如果按这样做了,那么转向后,登录页面将显示在iframe框架中,这肯定不是我们希望看到的。解决这个问题,网上有很多方法,我查了一下,再结合实际,其实没那么复杂,一句话就可以搞定。如果使用frameset这种做法也有效,大象同样测试过,只不过例子中的代码没有这样写而已。
    增加jump.jsp
   
    增加login.jsp
    登录页面,输入用户名与密码,因为是例子,所以我没加验证码,在正式开发中应该加上。
   
    增加login-index.jsp
    这是登录成功后转向的页面,在这里,我用iframe框架来显示内容。
   
    到这里,所有工作都已经完成,已经可以登录登出了,并且拦截器也可以正常工作,超时登出也没问题,大家下载例子运行看看吧!
   
    本文为菠萝大象原创,如要转载请注明出处。
漂亮登陆界面+Struts2 验证码 完整实现 开发环境: eclipse Kepler JEE IDE + Tomcat v6.0 + Struts-2.3.15(最新版) 步骤: 1. 下载后解压,import to eclipse as a project. 2. 启动 Tomcat v6.0 3. 打开http://localhost:8080/RandomChecker/Login.html 不能用,找我! 立即下载

相关推荐

基于ssh拦截器框架Struts2拦截器的登录验证实现

基于SSH2框架Struts2拦截器的登录验证实现

基于SSH2框架Struts2拦截器的登录验证实现 (转)

出自:http://bolo.blogjava.net/ 通过之前的Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解系列文章,我们已经成功将这三种框架整合到了一起,这次大象将在此基础上用一个小实例来说明,怎么利用Struts2的拦截器特性实现登录验证,以及超时后的跳转问题。     大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实

1351

ssh最新框架搭建,加入拦截器

在博客http://blog.youkuaiyun.com/u014201191/article/details/49339143 中讲解的ssh框架搭建基本,调试通过,好好学习

基于SSH2框架Struts2拦截器的登录验证实现 来自菠萝大象

本文为菠萝大象原创,如要转载请注明出处。 通过之前的Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解系列文章,我们已经成功将这三种框架整合到了一起,这次大象将在此基础上用一个小实例来说明,怎么利用Struts2的拦截器特性实现登录验证,以及超时后的跳转问题。 大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了。那么我们在之前

zhanghuidongss的专栏 889

struts2-demo及登录验证的拦截器的使用

struts2-demo及登录验证的拦截器的使用

基于STM32的简易电压、频率、占空比测量仪

任务详解:我们需要实现三个功能: 第一个是测频率的功能,输入信号为频率为1kHz~10kHz的三种波形(方波、三角波、正弦波),这也是我们最常见的三种波形。幅度是不需要测量的,所以先不关心幅度。 第二个是电压报警功能,当输入信号的幅度超过15V时,我们需要报警(这里我用了一个红色LED当报警器,有条件的还可以加个蜂鸣器)并且把此时的信号幅度显示在OLED屏幕上。 第三个是通信方式的要求,需要有串口通信功能。 第四个是计算占空比的任务,这个任务的输入是幅度为1V~10V、频率为20Hz ~1kHz的方波,需要

weixin_43469377的博客 7251

基于SSH2框架Struts2拦截器的登录验证实现(转)

大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了。那么我们在之前的基础上只需要做下小小的改变,就可以使用Struts2的拦截器机制实现登录的验证。 修改数据库 在user表中增加password字段,将初始密码都设为123,因为是示例所以采用明码,实际开发中,当然不能这样做,需要进行加密处理。再将name改为username,其实na...

weixin_30670925的博客 120

【v4l2】在Android SDK中交叉编译v4l2-ctl

为调试Android设备中camera的相关功能,需要引入v4l2-ctl工具。由于厂商提供的Android SDK源码中未集成v4l2-utils(包含v4l2-ctl以及其它组件的工具包),故需要下载v4l2-utils源码,并在Android SDK中交叉编译生成v4l2-ctl可执行文件。本文讲述其过程步骤。

rentong123的博客 1324

基于SSH2框架Struts2拦截器的登录验证实现(转载大象)

 通过之前的Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解系列文章,我们已经成功将这三种框架整合到了一起,这次将在此基础上用一个小实例来说明,怎么利用Struts2的拦截器特性实现登录验证,以及超时后的跳转问题。     大象在这里假设你已经弄清楚了Struts2拦截器的基本概念,可以进入实际运用了。那么我们在之前的基础上只需要做下小小的改变,就可以使...

skyqqzhou的专栏 192

使用BK3432芯片进行蓝牙开发的详细指南:编程手册与实际应用

BK3432是一款蓝牙4.2双模式芯片,支持蓝牙低功耗(BLE)和经典蓝牙(BR/EDR)模式。它集成了高性能的RF收发器、基带处理器、ARM9E内核、丰富的功能外设单元,并支持BLE应用的可编程协议和概要文件。蓝牙版本:4.2数据速率:最高支持2Mbps内核:ARM9ERF收发器:高性能、低功耗外设单元:包括UART、SPI、I2C、GPIO等功耗:超低功耗设计,适合电池供电的应用。

m0_57781768的博客 4447

Simulink/Requirements Toolbox 学习(一):概述

编写、导入、导出需求并使需求正式化;两种创建需求的模块:需求编辑器、需求透视;描述需求的方式:文本、图像和关键字;通过导入和导出需求文件,与第三方需求管理工具(例如 Microsoft Word、Microsoft Excel®、IBM DOORS和 IBM DOORS Next)集成。涉及模块:Requirements Eidtor、Requirements Table等;

855

初试 struts2拦截器

原本框架只是 jsp+servlet+mysql,修改为SSH2框架。 因为要对 action 进行监听,所以使用了struts2的拦截器。框架这东西,配置起来还真是烦人~~ 功能: a. 用户登录。向服务器传递用户名(username)、密码(password)、项目名称(projectName); b. 对游客访问进行过滤,所以开始的框架过滤采用的是 Filter。修改为SSH

koterror的专栏 388

Backblaze 2025全年硬盘故障率报告解读

作为长期追踪存储行业动态的科技博主,每年/季度Backblaze的Drive Stats报告都是我重点关注的核心内容——不同于厂商发布的实验室数据,Backblaze以近13年、数十万片企业级硬盘的真实运行数据为基础,其年化故障率(AFR)、寿命趋势等结论,直接反映了硬盘在严苛数据中心环境下的真实表现,无论是企业存储选型还是个人高端存储参考,都具备极高的实用价值。2025年末,Backblaze发布了第13年的年度收官报告,涵盖2025年Q4、全年及终身硬盘可靠性数据。

存储随笔 4018

【5】图书在线平台系统(SSH框架+Bootstrap/Angular+...)实现---【用户管理后台的实现】

此处更新实现的内容有:1、使用struts2实现全局登录拦截器验证2、对用户个人信息的管理平台进行了管理实现(1)用户可以查看自己上传至平台的书籍内容、并进行删除、修改(2)用户可以查看自己的个人下载记录、历史(3)用户可以进行新书籍的上传与发布(4)用户可以对自己的账户个人信息进行设置【以上对书籍进行操作的功能均需要管理员进行验证】3、具体页面:(1)查看个人上传记录、并提供删除,修改功能   ...

Jayant89的博客 1050

Joule 终于会说 ABAP 了:从 ADT 提效到 ABAP AI SDK + ISLM 自建企业级 AI 场景的落地路线

生成结构化摘要(故障现象、初步原因、处理动作、备件消耗)自动给出建议分类(电气、机械、软件、网络)把摘要回写到工单抬头,方便后续统计与知识沉淀如果你用 CAP 来做这类服务,通常会在 Node.js 层封装一个对 AI Hub 的调用,再通过 OData 或 Event 把结果写回 SAP。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 343

4.3 Langfuse 集成实战:追踪 OpenAI、LangChain 和 LangGraph 应用

本文介绍了如何将Langfuse集成到不同类型的AI应用中,包括原生OpenAI、LangChain和LangGraph应用。主要内容包括: 两种集成模式:手动追踪(精确控制)和自动追踪(通过回调机制) 三种应用场景的集成方案: 原生OpenAI应用:使用langfuse.trace()手动记录对话流程、LLM调用和工具执行 LangChain应用:通过LangfuseCallbackHandler自动追踪Agent执行过程 LangGraph应用:与LangChain相同的自动追踪方式,可可视化节点和状态

yonggeit的博客 3303

【SSH框架-CRM整合练习】 字典表 分页PageBean 静态包含 FastJson ajax异步 structs Upload文件上传 BaseDao BaseAction 关系映射 统计

字典表 分页PageBean 静态包含 FastJson ajax异步获取 structs Upload文件上传 BaseDao BaseAction 多对多关系 统计查询

alwarse 309

71、CAN总线双绞线绞距与抗共模干扰的定量关系

摘要:本文探讨了CAN总线双绞线绞距与抗共模干扰的定量关系。通过理论推导得出共模电压与绞距平方成正比,绞距越小抑制效果越好。工程实践表明,工业现场推荐绞距不超过30mm,高频干扰场景需优先优化绞距。实测数据验证了绞距均匀性的重要性,建议控制在15-25mm范围,安装时保持绞合结构完整。案例显示,将绞距从50mm改为15mm后,共模干扰从12V降至1.8V,有效解决了CAN通信问题。绞距选择需兼顾理论计算与现场实测,同时注意与屏蔽层的协同设计。

2401_88858637的博客 186
上一篇: Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(五)
下一篇: applicationContext-common.xml 之spring tx:advice 和 aop:config 配置事务属性详解
dw_java08
博客等级 码龄15年 122粉丝 66原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值