Struts2.1笔记(四):深入Struts2

SpringBoot集成auth0-jwt插件,实现jwt的token生成、校验,用户登录验证,配置拦截器拦截请求校验token功能 该文章介绍了SpringBoot如何集成auth0-jwt插件,实现jwt的token生成、校验,用户登录验证,配置拦截器拦截请求校验token功能. JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在各方之间安全地传输信息。它以JSON对象的形式存在,并使用数字签名来验证信息的完整性和真实性。JWT由三部分组成,分别是Header、Payload和Signature。 阅读详情

4.1 深入Struts2配置文件
4.1.1 Bean设置
在struts.xml文件中定义bean时,通常有如下两个作用
a.创建该bean的实例,将该实例作为struts2框架的核心组件使用
b.bean包含的静态方法需要注入一个值
4.1.2 常量配置
struts2的常量既可以在struts.xml文件中配置,也可以在struts.properties文件中配置,
还可以在web.xml文件中配置
struts2框架加载常量顺序
struts-default.xml,struts-plugin.xml,struts.xml,struts.properties.xml,web.xml
配置常量需要指定两个必要属性:name,value
推荐在struts.xml中配置常量
4.1.3包配置
在struts.xml文件中,package元素用于定义包配置,每个package元素定义了一个包配置
一个包配置如下所示:
<struts>
   <package name="default" extends="struts-default">
   </package>
</struts>
4.1.4命名空间配置
同一个命名空间里不能有同名的Action不同的命名空间里可以有同名的Action。
4.1.5 包含配置
一个配置文件可以包含其他的多个配置文件 如下:
<struts>
<include file="struts-shop.xml"/>
<include file="struts-user.xml"/>
</struts>
4.1.6 拦截器配置
使用拦截器可以完成如下操作:
进行权限控制,跟踪日志,跟踪系统系能瓶颈。

4.2 Struts2的Action
4.2.1 实现Action处理类
Struts2通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参
数对应的属性,并且为该属性提供对应的set和get方法。
4.2.2 Action访问ServletAPI
Struts2提供了一个ActionContext类,Struts2的Action可以通过该类访问ServletAPI
4.2.3 配置Action
在struts.xml中配置Action
Action是Struts2的基本单位“程序单位”
定义Action时至少需要指定该Action的name属性,该name属性即是该Action的名字
4.2.4 配置Action的默认处理类
配置 <action.../>元素时可以不指定class属性,如果没有指定class属性则系统会默认使
用ActionSupport作为Action处理类
开发者可自定义Action默认处理类
在struts.xml中使用<default-class-ref.../>元素
4.2.5 配置默认的Action
在struts.xml中使用<default-action-ref.../>元素完成

4.3 管理处理结果
Action处理用户请求→返回字符串(逻辑视图)→映射成物理视图→呈现给浏览者
4.3.1 配置结果
Struts2通过在Struts.xml文件中使用<struts.../>元素来配置结果
两种结果:
a.局部变量:将<result.../>作为<action.../>元素的子元素配置
b.全局结果:将<result.../>作为<global-results../>元素的子元素配置
4.3.2 Struts2支持的处理结果类型
chain、chart、dispatcher、freemarker、httpheader、jsper、jsf、redirect、
redirectAction、strean、tiles、velocity、xslt、plaintext
4.3.3redirect结果类型
与dispatcher结果类型相反,dispatcher结果类型是将请求转发到指定JSP,而redirect结果类型
意味着将请求重定向到指定的视图资源。

如何在 UniApp 中接入讯飞语音听写功能 文末附vue3+vue2完整代码 在开发过程中,我遇到了讯飞接口返回空数据的问题。通过仔细检查传送的每一帧数据,我发现问题出在第一帧的配置信息以及 Base64 数据的切片。确保每一帧的数据正确且符合接口要求,问题就能够得到解决。希望这个过程能帮助你在项目中顺利对接讯飞语音识别。 阅读详情

相关推荐

半导体设备隔振必看:如何用天棚阻尼PID控制实现VC-C级振动抑制(含SIMULINK模型)

本文深入探讨了在半导体精密制造中,如何运用天棚阻尼PID控制算法实现VC-C级振动抑制。通过构建高保真单自由度仿真模型,详细解析了从算法原理、SIMULINK实现到参数整定的全链路方案,并针对谐波扰动提供了陷波滤波器设计方法,为工程师提供了从仿真到实践的完整主动隔振技术指南。

pz89012345的博客 541

struts2 spring集成时struts.xml文件中action的class属性值意义

struts2单独使用时action由struts2自己负责创建;与spring集成时,action实例由spring负责创建。这导致在两种情况下struts.xml配置文件的略微差异。假如:LoginAction在包cn.edu.jlu.cs.action中。1. struts2单独使用时,action的class属性为LoginAction的全路径名,如下: ...&l...

iteye_1489的博客 238

手把手教你用STM32CubeMX和HAL库驱动MT6835磁编码器(SPI读取21位角度)

本文详细介绍了如何使用STM32CubeMX和HAL库驱动MT6835磁编码器,通过SPI接口读取21位高精度角度数据。从硬件准备、CubeMX配置到HAL库驱动实现与优化,提供了完整的实战指南,帮助开发者快速掌握磁编码器的应用技巧,适用于机器人关节和精密仪器等高精度场景。

weixin_28716769的博客 439

(日常踩坑)Spring+Struts2整合时Action在struts.xml中配置class属性为beanID时报错

原因:少了这个架包 struts2-spring-plugin-XXXXX.jar包 示范包已经上传: https://download.csdn.net/download/maoziyang1996/10924001

毛兔记录:工作小技巧、遇到的一些典型bug、问题汇总、小知识。 865

避坑指南:Abaqus网格划分中90%用户会遇到的5个质量陷阱(附解决方案)

本文深入剖析Abaqus网格划分中90%用户会遇到的5个典型质量陷阱,包括单元扭曲、扫掠网格失败、尺寸梯度控制等,并提供工程级解决方案。通过Python脚本和虚拟拓扑等技巧,帮助用户提升网格质量,确保有限元分析结果的可靠性,适用于CAE工程师和仿真分析师。

weixin_29243279的博客 101

Wio-LR1121多频段LoRa模块技术解析与应用实践

LoRa技术作为低功耗广域物联网(LPWAN)的核心通信方案,通过独特的扩频调制技术实现远距离传输与强抗干扰能力。其工作原理基于CSS(Chirp Spread Spectrum)调制,支持动态调整扩频因子(SF)和带宽(BW)来平衡传输距离与数据速率。Wio-LR1121模块作为Semtech LR1121芯片的载体,创新性地整合了sub-GHz、S-Band和2.4GHz多频段支持,配合仅1.35μA的睡眠电流,为跨境物联网部署提供了硬件基础。在智慧农业、工业监测等场景中,开发者可通过SPI接口快速集成

weixin_33742618的博客 417

struts配置文件中action元素属性设置

在配置struts.xml的时候,对于元素来说,name属性是必须的,class属性是可以省略的,class属性的默认值是“com.opensymphony.xwork2.ActionSupport”。 以前配置的元素都是有class属性的,现在就来探究一下为什么可以不写class属性,以及在什么情况下可以不写。 1:为何可以不配置的class属性呢? 在HelloWorld中, 元素的ex

lfy9608110935的专栏 5634

Cursor聊天记录迁移工具:实现跨设备AI对话同步与备份

在软件开发中,数据持久化与迁移是常见需求,尤其当工具依赖本地存储时。SQLite作为轻量级关系型数据库,因其嵌入式、零配置特性,常被用于存储应用状态与用户数据。其WAL(预写式日志)模式提升了并发性能,但也增加了数据操作复杂性。通过命令行工具与JSON序列化技术,可以实现结构化数据的提取、转换与安全迁移,这对于保障开发资产的连续性与可移植性具有重要价值。例如,在AI辅助编程场景下,开发者与AI的对话记录包含关键的问题分析、解决方案与决策逻辑,是重要的上下文资产。cursor-chat-transfer工具正

weixin_42551967的博客 535

Struts1 和 Struts2

关于Struts2的出现缘由和好处就不多说啦,看了几篇总结的不错的文章,整理下贴出来,共同学习了。 Action的区别 对于有着丰富的Struts1.x开发经验的朋友来说,都十分的清楚Action是整个Struts框架的核心内容,当然Struts2也不例外。不过,Struts1.x与Struts2的Action模型很大的区别。 Struts2和Struts1.x的差别,最明显的就是Strut

袁伏彪 —— 共享,共赢 2万+

微信小程序PC端兼容性实战:如何绕过限制在电脑上运行手机端小程序

本文详细解析了微信小程序在PC端的兼容性问题及解决方案,重点介绍了如何利用`wx.getSystemInfo`API检测运行环境,并通过修改User-Agent、动态环境检测与适配等技术手段实现手机端小程序在PC端的顺畅运行。文章还提供了常见兼容性问题的解决方法和调试工具推荐,帮助开发者高效应对多端适配挑战。

weixin_28366053的博客 870

百度智能云训练图像分割模型+python调用模型并分割图像

目录 训练模型阶段 发布图像分割API 调用图像分割API 创建应用后显示以下两个代码 在pycharm中可以调用API mask解码 依赖库pycocotools安装步骤: 依赖库urllib2的安装 源码下载: 最近上课听老师介绍了一个训练图像分割模型的网站,把数据集上传之后做图像标注,然后进行训练就能得到准确率等指标。 训练模型阶段 图像分割:https://ai.baidu.com/easydl/vision/ 图像分割-->创建模型-->上传数据--&gt

icecreamdinner的博客 1389

struts2马士兵笔记

Struts2 学习笔记 ---wjt276       [二○一○年一月五日 完]     目录 01 Struts2-Action 一、         Struts作用: 二、         搭建Struts2的运行环境: 三、

Insist 5486

深入浅出DNS系列(一)- DNS杂谈

黄丝玛:班达山,你好,我记性不好,你告诉我搜狐、新浪的网站IP地址好吗? 班达山:你问问DNS先生吧,他专门干这买卖的

jiangsd198的博客 4130

struts1和struts2的区别

下面有关struts1和struts2的区别,描述错误的是? B A Struts1要求Action类继承一个抽象基类。Struts 2 Action类可以实现一个Action接口 B Struts1 Action对象为每一个请求产生一个实例。Struts2 Action是单例模式并且必须是线程安全的 C Struts1 Action 依赖于Servlet API,Struts 2 ...

熊仙森滴Blog 2431

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【Struts】:Struts1和Struts2的区别与联系

之前的两篇博文分别介绍了Struts1和Struts2这两个框架的概念和简单的使用流程,但是没有对这个两个框架之间的不同进行详细的说明,接下来就来看看两者到底有哪些不同的地方吧。         区别一:Struts1的Action类必须要继承Action,而Struts2的则可以不继承         在使用Struts1进行开发的时候,必须要继承Struts1的抽象基类Action,并且要

爱技术 爱生活 3463

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Struts1和Struts2对比

最近学习了Struts1和Struts2.很多人、很多资料都提到。Struts2不是从Struts1发展而来的。Struts2的前身是WebWork。那它俩到底有多大的不同呢,看了一些资料,下边就来比较比较。一、架构分析Struts1的架构图: 执行流程: 1.用户在浏览器端发送请求,服务器(比如:Tomcat)创建HttpServletRequest和HttpServletResponse对象

大道至简 1699

Struts1到Struts2

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Stru...

qq_42264638的博客 1122

struts1与struts2的对比学习

Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。 FilterDispatcher是控制器的核心,就是mvc中c控制层的核心。下面粗略的分析下我理解FilterDispatcher工作流程和原理:FilterDispatcher进行初始化并启用核心doFilter。该控制器作为一个Filter运行在Web应用中,它负

变是永远不变的...... 1302

Struts2与Struts1的比较

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 简单来说二者的区别是:         一个是Stuts1 ,一个是Stuts2,这是最大的区别,技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置a

(Java) 3514

struts1 与 struts2的区别

Struts 2是在WebWork基础上发展起来的。从某种程度上来讲,Strut2没有继承Struts 1的血统,而是继承了WebWork的血统。或者说,WebWork衍生出了Struts 2,而不是Struts 1衍生了Struts 2。因为Struts 2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证;而且吸收了Struts 1和WebW...

dfyg28276的博客 112

Struts1与Struts2

Struts1就不多说了,它遵循并实现了MVC的设计思想,在传统的SSH架构中体现着至关重要的作用。        今天我们主要说说Struts2,并简单对比一下Struts1和Struts2,供大家学习和参考。

劝学 786

struts1 和 struts2中的validate

STRUTS1 1,重写FormAction的validate方法public ActionErrors validate(ActionMapping mapping,   HttpServletRequest request) {  ActionErrors erros = new ActionErrors();  Locale local = RequestUtils.getUse

joeho的专栏 593

Struts1和Struts2的区别

Struts1和Struts2的区别 Struts 1要求Action类要扩展自一个抽象基类。Struts 1的一个共有的问题是面向抽象类编程而不是面向接口编程。  Struts 2的Action类实现了一个Action接口,连同其他接口一起实现可选择和自定义的服务。Struts 2提供一个名叫ActionSupport的基类实现一般使用的接口。虽然,Action接

kingscoming的博客 1567

区别struts1和struts2

1struts的产生           strus最初的产生是为了整合jsp和servlet,使web的视图和应用逻辑得以清晰的分离.         之后struts成了web应用的标准,要不断的跟上web应用框架的变化需求.同时要与众多的框架相融合.StrutsTi是在此基础上和mvc模式进行改革而成的一款较成功的产品.         WebWork项目对struts式框架进行了革命

~ 1440

Struts1、Struts2

<br />1、web.xml主要配置:<br />struts1:<br />  <servlet><br />     <servlet-name>action</servlet-name><br />     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class><br />     <init-param><br />       <param-name>config</param-name>

xiemk2005的专栏 1299

从struts1到struts2的跳转

struts2原理 1.Struts 2的基本流程    Struts 2框架由3个部分组成:核心控制器FilterDispatcher、业务控制器和用户实现的业务逻辑组件。在这3个部分里,Struts 2框架提供了核心控制器FilterDispatcher,而用户需要实现业务控制器和业务逻辑组件。  2.核心控制器:FilterDispatcher    FilterDi

执行梦想代码 1221
上一篇: Struts2.1笔记(三):Struts2基础
下一篇: Struts2.1笔记(五):Struts2的类型转换
不善^
博客等级 码龄18年 635粉丝 235原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值