Struts 源码学习笔记

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

1.Struts启动入口

在tomcat的启动过程中,tomcat会读取/WEB-INF/web.xml文件中的配置信息进行一些初始化的工作,而Struts的启动工作就从这里开始.

在web.xml文件中有如下的配置信息:

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>/WEB-INF/struts-config.xml</param-value>

</init-param>

<init-param>

<param-name>DEBUG</param-name>

<param-value>2</param-value>

</init-param>

<init-param>

<param-name>detail</param-name>

<param-value>2</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet>

即表示tomcat启动的时候会初始化org.apache.struts.action.ActionServlet类.

<!-- Standard Action Servlet Mapping -->

<servlet-mapping>

<servlet-name>action</servlet-name>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

以*.do的请求都将交给action即org.apache.struts.action.ActionServlet类来处理.

2. Struts的ActionServlet的初始化

ActionServlet是一个Servlet,它具有Servlet的特性,不很清楚servlet的可以参考Servlet的相关资料.

在Servlet的初始化过程中,调用init()方法.

2.1 初始化内部信息initInternal(),调用Struts的资源管理工具org.apache.struts.util.MessageResources来进行ActionResources.properties

资源文件的初始化,此资源文件主要包括一些消息信息的定义,具体可参考org.apache.struts.action下的ActionResources.properties文件.

2.2 根据web.xml中的配置初始化Servlet的一些信息,调用initOther(),

获取struts-conig的的配置文件路径,根据web.xml的配置"config"参数进行设定

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>

<param-name>config</param-name> <!--即此处的设置信息-->

<param-value>/WEB-INF/struts-config.xml</param-value>

</init-param>

.......

</servlet>

同理进行"convertNull"的参数的配置信息的读取.

"convertNull"参数设置为"true"的时候,ConvertUtils

具体参考A1中org.apache.commons.beanutils.ConvertUtils的讲解.

2.3 初始化servlet,根据web.xml中的 <servlet-mapping>进行初始化,调用Digester进行解析web.xml中的<servlet-mapping>相关信息.

Digester参考A2中的org.apache.commons.digester.Digester讲解.

2.4 根据struts-config.xml进行数据初始化

A1. org.apache.commons.beanutils.ConvertUtils

A2. org.apache.commons.digester.Digester

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航