linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > unix > unix提高 >
栏目导栏
资料搜索
热门文章
·20%的SOLARIS知识解决80%的问题
·Solaris启动过程详解 zt
·查看Solaris系统硬件配置的命令
·Unix系列shell程序编写(中)
·STRUTS 源码学习笔记
·SOLARIS技巧篇
·snort源码分析
·Unix系列shell程序编写(下)
·在solaris 10/x86下安装oracle
·solaris 10 硬盘安装
·Solaris安全配置手册
·Apache源代码分析——关于模块
·HP-UX基本指令快速参考
· Tomcat Server源码启动分析
·Solaris8 双网卡配置(路由器用
最新文章
·solaris系统安全配置
·RHEL5.0操作系统下NFS服务的配
·Solaris Linux 9下Vsftpd的配置
·在HP-UX下建立只归属于某个目录
·SolarWinds2002使用说明
·从外部存储划盘并加入vg,为fs扩
·因带库问题导致系统光纤卡报错
·Unix下多线程中条件变量的使用
·UNIX和Linux中信号的个数
·不同的类UNIX操作系统密码破解
·AIX系统下Domino邮件服务器安装
·限制ROOT用户远程登陆UNIX系统
·Unix操作系统入侵追踪反击战
·AIX CDE不能启动的故障一般性解
·CentOS4.4用VSFTPD架设FTP服务
Google
 
STRUTS 源码学习笔记
[ 作者:  加入时间:2006-06-20 12:21:03  来自: ]


qttLinux联盟
qttLinux联盟
      qttLinux联盟
1.Struts启动入口qttLinux联盟
   在tomcat的启动过程中,tomcat会读取/WEB-INF/web.xml文件中的配置信息进行一些初始化的工作,而Struts的启动工作就从这里开始.qttLinux联盟
   在web.xml文件中有如下的配置信息:qttLinux联盟
    <servlet>qttLinux联盟
        <servlet-name>action</servlet-name>qttLinux联盟
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>qttLinux联盟
        <init-param>qttLinux联盟
            <param-name>config</param-name>qttLinux联盟
            <param-value>/WEB-INF/struts-config.xml</param-value>qttLinux联盟
        </init-param>qttLinux联盟
        <init-param>qttLinux联盟
            <param-name>DEBUG</param-name>qttLinux联盟
            <param-value>2</param-value>qttLinux联盟
        </init-param>qttLinux联盟
        <init-param>qttLinux联盟
            <param-name>detail</param-name>qttLinux联盟
            <param-value>2</param-value>qttLinux联盟
        </init-param>qttLinux联盟
        <load-on-startup>2</load-on-startup>qttLinux联盟
    </servlet>   qttLinux联盟
    即表示tomcat启动的时候会初始化org.apache.struts.action.ActionServlet类.qttLinux联盟
    <!-- Standard Action Servlet Mapping -->qttLinux联盟
    <servlet-mapping>qttLinux联盟
        <servlet-name>action</servlet-name>qttLinux联盟
        <url-pattern>*.do</url-pattern>qttLinux联盟
    </servlet-mapping>   qttLinux联盟
    以*.do的请求都将交给action即org.apache.struts.action.ActionServlet类来处理.qttLinux联盟
2. Struts的ActionServlet的初始化qttLinux联盟
   ActionServlet是一个Servlet,它具有Servlet的特性,不很清楚servlet的可以参考Servlet的相关资料.qttLinux联盟
   在Servlet的初始化过程中,调用init()方法.qttLinux联盟
2.1 初始化内部信息initInternal(),调用Struts的资源管理工具org.apache.struts.util.MessageResources来进行ActionResources.propertiesqttLinux联盟
资源文件的初始化,此资源文件主要包括一些消息信息的定义,具体可参考org.apache.struts.action下的ActionResources.properties文件.qttLinux联盟
2.2 根据web.xml中的配置初始化Servlet的一些信息,调用initOther(),qttLinux联盟
   获取struts-conig的的配置文件路径,根据web.xml的配置"config"参数进行设定qttLinux联盟
    <servlet>qttLinux联盟
        <servlet-name>action</servlet-name>qttLinux联盟
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>qttLinux联盟
        <init-param>qttLinux联盟
            <param-name>config</param-name>   <!--即此处的设置信息-->qttLinux联盟
            <param-value>/WEB-INF/struts-config.xml</param-value>qttLinux联盟
        </init-param>qttLinux联盟
        .......qttLinux联盟
    </servlet>   qttLinux联盟
    同理进行"convertNull"的参数的配置信息的读取.qttLinux联盟
    "convertNull"参数设置为"true"的时候,ConvertUtilsqttLinux联盟
    具体参考A1中org.apache.commons.beanutils.ConvertUtils的讲解.qttLinux联盟
2.3 初始化servlet,根据web.xml中的 <servlet-mapping>进行初始化,调用Digester进行解析web.xml中的<servlet-mapping>相关信息.qttLinux联盟
    Digester参考A2中的org.apache.commons.digester.Digester讲解.qttLinux联盟
    qttLinux联盟
2.4 根据struts-config.xml进行数据初始化    qttLinux联盟
    qttLinux联盟
    qttLinux联盟
    qttLinux联盟
    qttLinux联盟
A1. org.apache.commons.beanutils.ConvertUtilsqttLinux联盟
qttLinux联盟
qttLinux联盟
A2. org.apache.commons.digester.Digester  qttLinux联盟

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息