Starting Struts2摘抄(4)

项目启动报错:SEVERE: Exception starting filter struts2 1、错误描述 今天想要搭建一个简单的Struts环境做功能测试,但是项目的启动的时候报错,具体错误内容如下: SEVERE: Exception starting filter struts2 Class: com.opensymphony.xwork2.spring.SpringObjectFactory File: SpringObjectFactory.java Method: ge 阅读详情

 Struts2解释器:

负责异常处理、文件上传、回调生命周期以及认证。支撑action的预处理和后处理

涉及的解释器:

1.Spring Framework -- ActionAutowiringInterceptor
2.Request String and Form Values -- ParametersInterceptor
3.Servlet-based object -- ServletConfigInterceptor

接下来逐一学习。

第一个解释器是一个单纯的spring框架解释器。(没找到过多解释)
第二个解释器很明显与action访问request以及form中的数据相关。
以上两个解释器都对操作的action没有任何要求。从这里我们看得出,解释器一词
更多使用了依赖注入的机制。在配置文件中,指定了对应的action,那么调用过程
中,便针对该依赖,进行数据的注入,而程序员无需关心数据的来源,仅仅进行操作
即可。但是,看到这里,我的问题就是:如果这样的解释器存在,而action给出的
格式或者定义是不合法的时候。调试会不会比version1.1里面复杂的多呢?

第三个解释器需要依赖interface实现,具体如下:

1)SessionAware -- 通过一个Map访问一个Session所有属性
2)ServletRequestAware -- 访问 HttpServletRequest 对象的接口。这里,
HttpServletRequest对象是在上一个版本的Struts里面很重要的数据获取来源。
当时页面的form数据内容就包含其中。
3)RequestAware -- 通过一个Map访问Request属性
4)ApplicationAware -- 通过一个Map访问Application属性

备注:1、2、4是jsp很重要的几个属性空间,具备不同的生命周期。看来Struts2
      提供了很强的兼容性。也许将来会提供更令活的数据访问方式。

5)ServletResponseAware -- 访问HttpServletResponse对象的接口,这是上一个
版本中action提供的execute方法的另一个重要参数。一般作为出口参数。
6)ParameterAware -- 通过一个Map对所有request和form数据进行访问
7)PrincipleAware -- 访问PrincipleProxy对象。(这里没有接触,照抄原话)

(PrincipleProxy) this object implements the principle and role methods
of the HttpServletRequest object in implementation, but by providing a
proxy, allows for implementation independence in the action.

8)ServletContextAware -- 提供访问ServletContext对象的接口。


要注意,最重要的两个解释器并没有介绍。虽然这里说了这么多,这不是最重要的
因为我们最终要接受并熟练掌握Struts2框架的实现机制,才能灵活使用新框架,
新功能。

接下来我们看看通过这些解释器我们怎么实现依赖注入,从而将数据获取很轻易的
从我们的程序里面隐藏的呢?

首先我们记得在struts.xml里面,指定package的位置上,我们有这样一个标签
<package>其中一个属性 extends,指明了继承自struts-default。这里说明,在
struts-default里面已经有一个默认的解释器配置。因为模块化,所以每个package
被声明的时候最简单的使用解释器

最新扣子(coze)案例:在coze上用DeepSeek+私有数据库、知识库,创建你的专属智能体 Gartner预测,到2026年,70%的企业将通过Al知识库实现「组织记忆外化」。数字化时代,数据已成为企业发展的核心资产。我们通过人工智能将知识库从“静态存储"升级为“智能服务”。让"沉睡宝藏"焕发新生,助力企业突破数据困局。 阅读详情

相关推荐

STM32硬件SPI驱动ADS1220实战:从零搭建高精度数据采集系统(附避坑指南)

本文详细介绍了使用STM32硬件SPI驱动24位高精度ADC芯片ADS1220的完整实战方案。内容涵盖从硬件设计、CubeMX工程配置、SPI通信底层实现到数据读取策略与性能优化的全流程,并重点分享了多通道切换、噪声抑制等关键避坑指南,帮助开发者构建稳定可靠的高精度数据采集系统。

o4p5q6r7s的博客 450

Struts2配置异常:Exception starting filter struts2

<br />开发环境:JDK6+tomcat6+struts-2.1.6(最新) <br />(tomcat一定是5.5以上,jdk为1.5以上) <br />struts2下载地址:http://struts.apache.org/ <br /><br />最基本的小程序用到jar包,struts2-core.jar,commons-logging.jar,freemarker.jar,ognl.jar,xwork.jar <br />(注意了:struts2-core-2.1.6.jar时要附加上两个包

jsycjacky的专栏 2万+

超实用!用 Ollama + DeepSeek + Dify 搭建本地知识库,提升企业效率

本文介绍了如何使用 Ollama + DeepSeek + Dify 搭建本地知识库,帮助企业高效管理信息。通过简单配置,可实现智能问答、文档检索等功能,提升效率并保障数据安全。

Happiness is everywhere 4294

Starting Struts2摘抄(3)

package example;public class Login extends ExampleSupport { /**  * 添加序列ID,系统自动生成,added by wangkuo 117527  */ private static final long serialVersionUID = 4340282834311892506L; public String execut

Vincent--programming life 554

NMS非极大值抑制算法原理

NMS非极大值抑制算法

pywin 3500

从零到一:Gromacs伞形采样的实战避坑指南

本文详细介绍了Gromacs伞形采样技术的实战应用与避坑指南,涵盖核心原理、环境准备、参数设置、数据分析及性能优化等关键环节。特别针对蛋白质-配体结合自由能计算等典型应用场景,提供了弹簧常数设置、采样窗口间距等实用参数建议,帮助研究人员高效完成分子动力学模拟。

weixin_29243279的博客 514

struts2下的“Exception starting filter struts2”错误的问题

最近开始学习struts2,配置好了运行的时候总是有如下的错误:严重: Exception starting filter struts2java.lang.NoClassDefFoundError: Lorg/codehaus/plexus/PlexusContainer; at java.lang.Class.getDeclaredFields0(Native Method) at jav

cxc3980的专栏 6万+

STM32实现简单的智能电梯控制

上述代码实现了一个简单的智能电梯控制器。电梯的状态包括IDLE(停止)、UP(向上移动)和DOWN(向下移动)三种状态。通过向上和向下按钮的按下,可以控制电梯移动到指定的楼层。在主循环中,不断读取当前楼层的按钮状态,并根据电梯状态决定执行的动作。具体的楼层数量和按钮的GPIO引脚可以根据实际情况进行调整。要实现简单的智能电梯控制,我们可以使用STM32微控制器来实现。

2401_85258012的博客 336

Starting Struts2摘抄(2)

上次我们看到了Struts2框架给我们带来新的平台配置理念。书我已经看到1/3的样子,现在进行一下总结。感觉摘抄这个题目不太贴切了。不过,这里的内容很大程度上是我对这本书的一些摘要,并且包含一些我的理解。还请各位读友与我多多交流。这里展示的是struts.xml文件配置,和我在分析该文件时一些注释。  --http://struts.apache.org/dtd/struts-2.0.

Vincent--programming life 646

Serdes之什么是(CDR)?

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。目前市场上大多数收发器都没有专用的时钟输入,因此时钟恢复和数据重新定时等功能是在收发器外部(即在主板上)进行的。接收端则需要恢复时钟以采样串行线上的数据。为了实现这一点,接收端需要一个与输入数据频率大致相同的时钟。通过使参考时钟与输入数据信号的跳变相位对齐,可以生成一个恢复的时钟。这被称为时钟恢复。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2389

R语言机器学习:XGBoost线性回归模型的SHAP值

SHAP(SHapley Additive exPlanations)值是一种基于博弈论Shapley值的机器学习模型解释方法,能够解释任何模型的预测结果。其主要用途包括:1)提高模型的可解释性,帮助非技术用户理解模型预测;2)识别对模型预测最重要的特征,辅助特征选择;3)调试模型,发现预测中的异常;4)评估模型公平性,避免偏见。SHAP值的计算方法包括初始化、迭代计算、归一化和解释,常用工具如Python的shap库支持多种计算方式(如TreeSHAP、KernelSHAP等)。本文还提供了基于R语言计算

专注生信领域 3441

Exception starting filter Struts2

昨天在使用maven的时候,由于struts2-core的版本和xwork-core的版本不一致,导致出现下面的异常 严重: Exception starting filter Struts2 java.lang.NoSuchMethodError: com.opensymphony.xwork2.config.ConfigurationManager.addConfigurationProv

baidu_34347951的博客 258

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6940

Exception starting filter struts2

Exception starting filter struts2

口袋里的小龙的专栏 1222

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Starting Struts 2

JavaTopicsArchitecture DO NOT USE,Web Frameworks,Open SourceTagsStruts <!--google_ad_client = "pub-9668481618842342";/* 728x90, 创建于 08-4-17 */google_ad_slot = "4264214738";g

nessofblade的专栏 699

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Exception starting filter [struts2]

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:...

weixin_42933886的博客 728

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Starting Struts2摘抄(6)

 自定义Interceptor的实施方案:1.实现Interceptor接口,该接口定义如下: public interface Interceptor extends Serializable {      void Destory();        void Init();        String intercept(ActionInvocation invocation)     

Vincent--programming life 749

Exception starting filter struts2的解决方法

在用jsp+strusts2+javabean+jdbc方式开发一个web登录程序的过程中,最后运行出错显示Exception starting filter struts2 解决办法:重新加载了Struts的jar包,一开始导入的jar包是不同版本中的,这次都换成了一个版本的,运行成功,看来jar包在导入的时候还是会有版本冲突的。

lamphouse_369的博客 533

Starting Struts2摘抄(1)

 在我阅读完成后,我会尽力翻译全书。为大家提供Struts2的学习资料。web.xml配置    struts2    org.apache.struts2.dispatcher.FilterDispatcher    struts2    /*使用过struts的同学可以很容易理解这里。毕竟这里跟注册actionservlet控制器的格式是差不多的。但是要

Vincent--programming life 608

关于自己遇到的"Exception starting filter struts2"的问题的解决方案(转)

关键字: struts2 好久没有写东西了, 已经实习了,哈哈,实习还不到一个月 但是感觉还是很充实的 最近一直在看struts2 因为之前对struts1.2了解过,所以学起来还凑合, 今天在联系一些标签的时候就莫名其妙的出现了“Exception starting filter struts2”这个错误.真的让我无语了,找了一下午.最终找出来了, 其实很多人都有这个错误,都不知道该怎么解决, 在我看来,大家都是因为小马虎才出来的这个问题,

子曰:“志于道,据于德,依于仁,游于艺。” 801
上一篇: Starting Struts2摘抄(3)
下一篇: Starting Struts2摘抄(5)
fishstudio
博客等级 码龄23年 4粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值