ActionServlet-init()方法详解

实测昇腾310P跑Qwen3有多慢?手把手带你部署vLLM并记录性能数据 本文实测了昇腾310P在vLLM框架下部署Qwen3模型的性能表现,详细记录了2.5 tokens/s的生成速度及其技术瓶颈。通过环境搭建、基准测试和深度分析,揭示了计算资源利用率不足等关键问题,并提供了实用的优化技巧与监控方案,帮助开发者更好地理解和优化昇腾平台上的大模型部署。 阅读详情

init方法的基本内容

init

this.initInternal()

该方法主要是用来把国际化资源的文件加载到内存,并且完成对ActionServlet里类型为MessageResources的变量internal进行初始化。

该方法的执行流程

  • getMessageResources(MessageResources)
  • createFactory(MessageResourcesFactory 默认会创建PropertyMessageResourcesFactory)
  • createResources(PropertyMessageResourcesFactory,该方法创建一个PropertyMessageResources对象,而该对象的构造方法里是调用的父类的构造方法,即MessageResources的构造方法)

this.initOther()

该方法主要作用是得到ActionServlet的初始化参数(config 和 convertNull),并且给ActionServlet里的相应属性进行复制,如果没有配置,则按照默认值(“/WEB-INF/struts-config.xml” 和 false)

该方法的执行流程

  • 从ServletConfig里拿到对应的参数值,如果不为空就给相应的属性赋值
  • 如果convertNull值为TRUE,还会向 ConvertUilts里注册一些转换器

this.initServlet()

该方法的功能主要是对Web.xml里的Servlet-Mapping进行解析,并且完成对ActionServlet里的servletName,servletMapping等进行初始化,并且向Application中设置了一个设置了一个属性名为”org.apache.struts.action.SERVLET_MAPPING”,属性值为servletMapping的一个属性,之后再init方法里又向Application添加了一个属性名为”org.apache.struts.action.ACTION_SERVLET”,属性值为该ActionServlet对象

this.initModuleConfigFactory()

该方法的功能主要是完成对ModuleConfigFactory的初始化

该方法的执行流程

  • 查看ServletConfig里是否存在configFactory该属性,即是否给ActionServlet配置configFactory参数
  • 如果有,则调用ModuleConfigFactory的setFactoryClass方法给ModuleConfigFactory的类属性factoryClass进行赋值
  • 如果没有ModuleConfigFactory的类属性factoryClass还是使它的默认值”org.apache.struts.config.impl.DefaultModuleConfigFactory”,也就是使用该默认的工厂生产MoudleConfig对象

this.initModuleConfig(String prefix, String paths)

该方法的作用主要是创建一个对象MoudleConfig(Struts里的一个重要的配置对象,对该对象的详细解释请看后续章节)对象,并且读取Struts的配置文件完成对MoudleConfig的初始化

该方法的执行流程

  • 调用ModuleConfigFactory的createFactory方法创建一个工厂对象(如果没有配置就是创建上面默认的工厂)
  • 调用该工厂的createModuleConfig方法,如果是默认的工厂则该工厂是通过new来创建一个ModuleConfigImpl对象
  • 读取struts的配置文件,完成ModelConfig的初始化
  • 并且向Application中添加一个属性名为”org.apache.struts.action.MODULE” + config.getPrefix(),属性值为该对象

该方法的执行流程

this.initModuleMessageResources()
该方法主要是对于那些配置了factory的属性MessageResources进行重新赋值


  • 从ModuleConfig对象里拿到类型为HashMap的messageResources的属性
  • 遍历该属性,如果存在存在factory和parameter都不为空,则重新创建ModuleConfigFactory,创建MessageResources对象
  • 把该对象放到Application,key为遍历属性的key,value为后创建的对象

this.initModulePrefixes()
该方法的执行情况如下图

这里写图片描述

this.initModuleDataSources(),initModulePlugIns()与上面类似

剩余的是读出init param的类似config/*这种类型的参数,且该参数的值为一个配置文件的位置,然后也为该配置生成一个ModuleConfig对象,完成相应的初始化

以上是本人通过看源码之后的一些认识,如果不当之处,还望大家一起指正,共同进步

ENVI遥感技术 记录2024.03.06所遇到的遥感问题 阅读详情

相关推荐

用Matlab搞定Delta并联机器人运动学:从建模到正逆解完整流程(附代码)

本文详细介绍了如何使用Matlab实现Delta并联机器人的运动学分析,包括几何建模、正逆解求解及可视化验证。通过符号计算和数值迭代法,解决非线性方程组问题,并提供完整代码示例,帮助读者快速掌握Delta机器人的运动学计算与应用。

weixin_30955617的博客 175

struts1.x中ActionServlet初始化问题总结

ActionServlet位于org.apache.struts.action包内,这个类将会在struts第一次使用时,作为servlet初始化并存入Servlet容器。在初始化时: 首先调用init() 方法,Struts 的初始化实现就是在这里实现的。在执行init()方法时,会调用initInternal(),初始化内部文件 ActionResources.properties,...

diluojing0141的博客 180

Unity Shader变体优化实战:从内存削减到打包加速

本文深入探讨了Unity项目中Shader变体数量爆炸导致的打包缓慢、内存占用过高及包体臃肿等问题。核心解决方案是通过精准的Shader变体裁剪,即收集项目实际用到的变体形成“白名单”,并利用IPreprocessShaders接口在打包时剔除无用变体。实战表明,该方法能显著提升打包速度并大幅降低运行时内存。

weixin_29300241的博客 217

java action例子_struts1之ActionServlet的实例详解

这篇文章主要介绍了struts1之ActionServlet详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧在web.xml中我们除了配置ActionServlet还配置了一些初始化参数信息,首先我们看第一个config参数,这里配置的是/WEB-INF/struts-config.xml,因为要下面传递一个这样一个配置信息,这个xml文件名是struts1标准的名...

weixin_29910561的博客 319

STM32H750xx【QSPI】轮询方式读写GD25Q64E

本文详细介绍了GD25Q64E其特性、引脚定义及功能说明,重点阐述了在STM32H750平台上通过CubeMX配置QuadSPI接口的步骤,包括时钟设置、参数优化等。文章提供了完整的BSP驱动开发流程,涵盖写使能、四线模式使能、ID读取、解除保护、扇区擦除、整片擦除、页编程和数据读取等关键功能实现,并通过读写测试验证了DummyCycles参数对数据准确性的影响。

honmy18的博客 1421

【FPGA的基础快速入门23--------OV5640摄像头VGA显示】

FPGA的基础学习--------OV5640摄像头VGA显示OV5640简介二级目录三级目录 OV5640简介 OV5640同OV7725一样,都是Omni Vision(豪威科技)公司生产的CMOS图像传感器。 OV5640支持更高的分辨率(500W像素)、采集速率,具有更高的图像处理性能,主要应用在手机、数码相机、电脑多媒体等领域。 OV5640支持LED补光、MIPI(移动产业处理器接口)输出接口和DVP(数字视频并行)输出接口选择、ISP(图像信号处理)以及AFC (自动聚焦控制)等功能。 OV

暮雨中的坚果的博客 7687

Struts源码学习之ActionServlet(一) [转]

Struts 源码最新版本为 struts-1.3.8-src.zip ( 12-Mar-2007 00:06 ) 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地址:http://archive.apache.org/dist/struts/source/ 1. 在web.xml中通过下面定义把所有的*.do交给ActionServlet处理 ...

wangqiaowqo的专栏 191

S32K144后门密钥实战:如何用JLINK脚本绕过复位陷阱更新加密固件

本文详细介绍了在S32K144微控制器上,如何利用JLINK脚本绕过调试器默认复位陷阱,实现通过后门密钥安全更新加密固件的实战方案。针对汽车电子现场维护中常见的“解锁-复位-锁定”循环问题,文章提供了完整的JLinkScript定制方法、批处理工具及故障排除指南,帮助工程师高效完成固件升级。

weixin_29175469的博客 141

【java实现简单的登录界面】

我们可以用java实现简单的登录界面。

ZERO_HOPE的博客 3万+

Ghidra逆向工具入门:从安装到实战分析baby.exe(附详细配置截图)

本文详细介绍了Ghidra逆向工具的安装配置与实战应用,通过破解CTF题目baby.exe的全过程展示其强大功能。从Java环境搭建到插件配置,再到反编译技巧与动态调试方法,帮助读者快速掌握这款免费开源的反编译神器,有效替代收费的IDA Pro工具。

weixin_29252171的博客 352

【嵌入式DIY实例-Arduino篇】-脉搏传感器监测脉搏率 (BPM)及可视化

在本文中,我们将使用 Arduino 和脉搏传感器来测量心率 (BPM)。 在文章中,我们将向展示如何使用脉搏传感器测量您的心率(每分钟心跳次数),并在电脑上位机通过Processing来实现心率数据可视化。同时使用LCD16×2 显示屏显示脉搏率 BPM。 该传感器易于使用和操作。 只需将手指放在传感器顶部,它就会测量心跳变化。

视觉与物联智能 834

ActionServlet的init()方法

 //struts1.1    public void init() throws ServletException {  /*   1. Initialize the framework’s internal message bundle. These messages are used to   output informational, warning, and error messages

Java之路 773

基于Simulink进行步进电机的重复控制仿真建模

重复控制概述目的:通过引入一个周期延迟环节来补偿系统的周期性误差,从而提高系统对周期性参考信号或扰动的跟踪性能。方法内部模型原理:在控制器中嵌入一个与周期性信号相关的模型(例如周期延迟环节),以实现对周期性误差的零稳态误差控制。滤波器设计:为了避免高频噪声放大,通常会在重复控制器中加入低通滤波器。优势对周期性信号具有良好的跟踪性能。不需要精确的数学模型即可实现高性能控制。挑战:需要合理设计重复控制器的参数以避免系统不稳定。

amy_mhd的博客 266

ActionServlet详解

大家都知道,Struts控制器组件负责接受用户请求,更通模型,以及返回给用户合适的视图组件. 控制器将模型层和视图层分开,这样分离,可以为同一个模型开发出不同的视图. 下面时Struts的三大主要组件 ActionServlet组件:充当Struts框架的中央控制器 RequestProcessor组件:充当每个子应用模块的请求处理器 Action组件:真正来处理一项具体的业务...

maple_leilei的专栏 214

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Strust组件—ActionServlet详解

大家都知道,Struts控制器组件负责接受用户请求,更通模型,以及返回给用户合适的视图组件.  控制器将模型层和视图层分开,这样分离,可以为同一个模型开发出不同的视图.  下面时Struts的三大主要组件  ActionServlet组件:充当Struts框架的中央控制器  RequestProcessor组件:充当每个子应用模块的请求处理器  Action组件:真正来处理一项具体的业务

Where_the_way的专栏 726

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

struts控制器组件--actionServlet类

ActionServlet类ActionServlet类对应的类名为org.apche.struts.action.ActionServlet,它是struts框架的核心控制器组件,所有用户的请求都先由ActionServlet来处理,然后再由ActionServlet把请求转发给其他组件。Struts只允许一个应用中配置一个ActionServlet,但是可以将ActionServlet扩展。S

mikechu的专栏 4662

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Struts 源码学习之ActionServlet ( 一)

Struts 源码最新版本为 struts-1.3.8-src.zip ( 12-Mar-2007 00:06 ) 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地址:http://archive.apache.org/dist/struts/source/ 1.  在web.xml 中通过下面定义把所有的*.do 交给Acti...

samson_g_q_su的博客 148

Struts源码学习之ActionServlet(一)

一直想看Struts源码,可是没有什么机会和时间。。。 大概看了一下ActionServlet的代码,有点看不懂,在网上查了一些资料,现在拿出来亮亮!O(∩_∩)O哈哈~ Struts 源码最新版本为 struts-1.3.9-src.zip 听我们经理说马上就要发布1.4了,哎!期待啊。。。。。 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地...

weixin_30631587的博客 65

扩展Struts的ActionServlet满足特殊初始化需求

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 453

struts源码学习之ActionServlet(一)

Struts 源码最新版本为 struts-1.3.8-src.zip ( 12-Mar-2007 00:06 ) 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地址:http://archive.apache.org/dist/struts/source/ 1.  在web.xml中通过下面定义把所有的*.do交给ActionServlet处理   &lt;!-...

zhxing 169

strut-控制器ActionServlet类详解

大家都知道,Struts控制器组件负责接受用户请求,更通模型,以及返回给用户合适的视图组件. 控制器将模型层和视图层分开,这样分离,可以为同一个模型开发出不同的视图. 下面时Struts的三大主要组件 ActionServlet组件:充当Struts框架的中央控制器 RequestProcessor组件:充当每个子应用模块的请求处理器 Action组件:真正来处理一项具体的业务

u012169411的专栏 1217

Struts控制器组件-ActionServlet

    org.apache.struts.action.ActionServlet类是Struts框架的核心控制器组件,所有的用户请求都是先由ActionServlet来处理,然后再由ActionServlet把请求转发给其他组件,Struts框架只允许在一个应用中配置一个ActionServlet类,在应用的生命周期中,仅创建ActionServlet类的一个实例,这个ActionServle

1432

回首struts1.2的ActionServlet类

首先是Struts1.2的核心类,ActionServlet类。 ActionServlet位于org.apache.struts.action包内,这个类将会在struts第一次使用时,作为servlet初始化并存入Servlet容器。在初始化时: 首先调用init()方法,Struts 的初始化实现就是在这里实现的。在执行init()方法时,会调用initInternal(),初始化

kissing7的专栏 498
上一篇: Struts-DispatchAction
下一篇: Struts基本执行流程
ASKYOFCODE
博客等级 码龄9年 3粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值