web.xml

本文介绍了Struts框架的核心配置文件web.xml的作用及其内部FilterDispatcher的工作原理。文章详细阐述了Struts如何通过web.xml初始化框架并处理所有请求,同时解释了关键初始化参数的功能,如配置文件加载、动作包扫描等。

The web.xml web application descriptor(描述) file represents(代表) the core of the Java web application, so it is appropriate(适当的) that it is also part of the core of the Struts framework. In the web.xml file, Struts defines(定义) its FilterDispatcher, the Servlet Filter class that initializes(初始化) the Struts framework and handles(处理) all requests. This filter can contain(包含) initialization parameters that affect what, if any, additional configuration files are loaded and how the framework should behave.

web.xml 描述了代表Java web应用程序的核心。所以它是struts框架的的核心部分,

在这web.xml文件中,Struts定义了它的FilterDispather,servletFilter类初始化了Struts框架和处理了所有的request

fiter能设置初始参数的作用,其他配置文件被加载和框架如何表现。

In addition to the FilterDispatcher, Struts also provides an ActionContextCleanUp class that handles(处理) special cleanup tasks(任务) when other filters, such as those used by Sitemesh, need access to an initialized Struts framework.

加入FilterDispatcher,Struts同样提供了一个ActionContextCleanUp类,它处理清楚任务,

例如那些被使用通过Sitemesh,需要访问一个初始化Struts框架.


Key Initialization Parameters //初始化参数值

  • config - a comma-delimited list of XML configuration files to load. //一个xml配置文件以逗号分隔列表的加载。

  • actionPackages - a comma-delimited list of Java packages to scan for Actions.//一个Java包以逗号分隔列表的为actions检查

  • configProviders - a comma-delimited list of Java classes that implement the ConfigurationProvider interface that should be used for building the Configuration. //一个Java类以逗号分隔列表,实现ConfigurationProvider的接口,它可以被使用来创建配置

  • loggerFactory - The class name of the LoggerFactory implementation.//LoggerFactory类名的实现。

  • * - any other parameters are treated(看着) as framework constants. // 任何一个参数是被当作框架的常量


Why the Filter is mapped with /* and how to configure explicit exclusions (since 2.1.7)

为什么过滤器是用/*和怎样给配置指定其他的

In the example above we've mapped the Struts 2 dispatcher to /*, so Struts 2 has a crack(打开) at all incoming requests. This is because Struts 2 serves staticcontent(内容) from its jar files, including Dojo JavaScript files (if using S2.0, or the Dojo plugin in S2.1+) andFreeMarker(自定义标签) templates(标准) for the Struts 2 tags that produce(提供) HTML.

在例子中我们一直用映射struts2的/* ,所以Struts2是打开所有的请求事物
这是因为Struts 2提供了静态的内容从它的包文件,
包含了dojo jav文件aScript,和自定义了标签为struts提供html;

If we change the filter mapping to something else, for example /*.html, we must take this in toaccount(说明) and extract(提取) the content that wouldnormally(正常的) be served from the Struts 2 jar files, or some othersolution(解决).

假如我们改变过滤器映射用其他的,例如/*.html,
我们必须把它加进去给它说明,和提取内容从Struts 2 包文件中。或者其他的解决

Since Struts 2.1.7, you are able(能够) to provide acomma(逗号) seperated(分割) list of patterns for which when matching against the
request URL the Filter will just pass by. This is done via the configuration option struts.action.excludePattern, for example in your struts.xml

自从Struts 2.1.7,你是可以

源码来自:https://pan.quark.cn/s/a4b39357ea24 ### 操作指南:洗衣机使用方法详解#### 1. 启动与水量设定- **使用方法**:使用者必须首先按下洗衣设备上的“启动”按键,同时依据衣物数量设定相应的“水量选择”旋钮(高、中或低水量)。这一步骤是洗衣机运行程序的开端。- **运作机制**:一旦“启动”按键被触发,洗衣设备内部的控制系统便会启动,通过感应器识别水量选择旋钮的位置,进而确定所需的水量高度。- **技术执行**:在当代洗衣设备中,这一流程一般由微处理器掌管,借助电磁阀调控进水量,直至达到指定的高度。#### 2. 进水过程- **使用说明**:启动后,洗衣设备开始进水,直至达到所选的水位(高、中或低)。- **技术参数**:水量的监测通常采用浮子式水量控制器或压力感应器来实现。当水位达到预定值时,进水阀会自动关闭,停止进水。- **使用提醒**:务必确保水龙头已开启,并检查水管连接是否牢固,以防止漏水。#### 3. 清洗过程- **使用步骤**:2秒后,洗衣设备进入清洗环节。在此期间,滚筒会执行一系列正转和反转的动作: - 正转25秒 - 暂停3秒 - 反转25秒 - 再次暂停3秒- **重复次数**:这一系列动作将重复执行5次,总耗时为280秒。- **技术关键**:清洗环节通过电机驱动滚筒旋转,利用水流冲击力和洗衣液的化学效果,清除衣物上的污垢。#### 4. 排水与甩干- **使用步骤**:清洗结束后,洗衣设备会自动进行排水,将污水排出,然后进入甩干阶段,甩干时间为30秒。- **技术应用**:排水是通过泵将水抽出洗衣设备;甩干则是通过高速旋转滚筒,利用离心力去除衣物上的水分。- **使用提醒**:...
代码下载地址: https://pan.quark.cn/s/c289368a8f5c 在安卓应用开发领域,构建一个高效且用户友好的聊天系统是一项核心任务。 为了协助开发者们迅速达成这一目标,本文将分析几种常见的安卓聊天框架,并深入说明它们的功能特性、应用方法及主要优势。 1. **环信(Easemob)** 环信是一个专为移动应用打造的即时通讯软件开发套件,涵盖了文本、图片、语音、视频等多种消息形式。 通过整合环信SDK,开发者能够迅速构建自身的聊天平台。 环信支持消息内容的个性化定制,能够应对各种复杂的应用场景,并提供多样的API接口供开发者使用。 2. **融云(RongCloud)** 融云作为国内领先的IM云服务企业,提供了全面的聊天解决方案,包括一对一交流、多人群聊、聊天空间等。 融云的突出之处在于其稳定运行和高并发处理性能,以及功能完备的后台管理工具,便于开发者执行用户管理、消息发布等操作。 再者,融云支持多种消息格式,如位置信息、文件传输、表情符号等,显著增强了用户聊天体验。 3. **Firebase Cloud Messaging(FCM)** FCM由Google提供的云端消息传递服务,可达成安卓设备与服务器之间的即时数据交换。 虽然FCM主要应用于消息推送,但配合Firebase Realtime Database或Firestore数据库,开发者可以开发基础的聊天软件。 FCM的显著优势在于其全球性的推送网络,保障了消息能够及时且精确地传输至用户。 4. **JMessage(极光推送)** 极光推送是一款提供消息发布服务的软件开发工具包,同时具备基础的即时通讯能力。 除了常规的文字、图片信息外,极光推送还支持个性化消息,使得开发者能够实现更为复杂的聊天功能。 此...
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)内容概要:本文提出了一种基于融合鱼鹰和柯西变异的麻雀优化算法(OCSSA)优化变分模态分解(VMD)参数,并结合卷积神经网络(CNN)与双向长短期记忆网络(BiLSTM)的OCSSA-VMD-CNN-BiLSTM模型,用于轴承故障诊断。该方法利用西储大学公开的轴承故障数据集进行实验验证,通过OCSSA优化VMD的分解层数和惩罚因子,有效提升了信号去噪与特征提取能力;随后将分解得到的模态分量输入CNN-BiLSTM网络进行自动特征学习与分类识别,实现了高精度的故障状态判别。研究展示了智能优化算法与深度学习在机械故障诊断领域的深度融合应用。; 适合人群:具备一定信号处理、机器学习及MATLAB编程基础的研究生、科研人员及从事工业设备故障诊断的工程技术人员。; 使用场景及目标:①应用于旋转机械的轴承早期故障诊断与状态监测;②为复杂工况下的振动信号分析提供有效的去噪与特征提取方案;③推动智能优化算法与深度学习模型在工业大数据分析中的集成应用研究。; 阅读建议:建议读者结合提供的Matlab代码实现,复现实验流程,重点关注OCSSA算法的改进机制、VMD参数优化过程以及CNN-BiLSTM网络结构设计,深入理解各模块协同工作的原理,便于进一步拓展至其他设备的故障诊断任务中。
内容概要:本文详细介绍了三相异步电机SVPWM-DTC(空间矢量脉宽调制-直接转矩控制)的Simulink仿真实现方法,结合DTC响应快与SVPWM谐波小的优点,构建高性能电机控制系统。文章系统阐述了控制原理,包括定子磁链观测、转矩与磁链误差滞环比较、扇区判断及电压矢量选择,并通过SVPWM技术生成固定频率PWM信号,提升系统稳态性能。同时提供了完整的Simulink建模流程,涵盖电机本体、磁链观测器、误差比较、矢量选择、SVPWM调制、逆变器驱动等模块的搭建与参数设置,给出了仿真调试要点与预期结果,如电流正弦性、转矩响应快、磁链轨迹趋圆等,并提出了模型优化与扩展方向,如改进观测器、自适应滞环、弱磁控制和转速闭环等。; 适合人群:电气工程、自动化及相关专业本科生、研究生,从事电机控制算法开发的工程师,具备一定MATLAB/Simulink和电机控制理论基础的技术人员。; 使用场景及目标:①掌握SVPWM-DTC控制策略的核心原理与实现方式;②在Simulink中独立完成三相异步电机高性能控制系统的建模与仿真;③通过仿真验证控制算法有效性,为实际工程应用提供设计依据。; 阅读建议:学习过程中应结合文中提供的电机参数和模块配置逐步搭建模型,重点关注磁链观测、矢量选择表和SVPWM调制的实现细节,仿真时注意滞环宽度与开关频率的调试,建议配合MATLAB官方工具箱文档进行参数校准与结果分析。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值