struts控制器在读取struts-config.xml文件时是否创建了动作目标?

时间:2010-03-11 15:02:51

标签: java struts configuration-files

  1. 这意味着什么“struts 控制器读取 struts-config.xml文件“什么时候 Web应用程序已启动?

  2. 是控制器创建操作对象 在阅读struts-config时 文件?

3 个答案:

答案 0 :(得分:2)

当struts读入文件时,它只解析它并加载动作定义。您将获得的唯一错误是XML解析错误。不确定Struts 2,但在struts 1中它不会验证对象或转发的目标是否存在或编译。那是运行时检查

答案 1 :(得分:1)

  

是读取struts-config文件时控制器创建操作对象

我认为这是懒惰的(当访问URL时)。至少Struts1会这样做。

答案 2 :(得分:0)

<强> 1。什么意思“struts控制器读取struts-config.xml文件”什么时候启动Web应用程序?

“读取”意味着Struts将解析XML文件并创建您在其中声明的标记的对象表示(例如,ActionMapping反映了<action>标记)。每当Struts需要知道不同的配置信息时,就会使用这些对象,从而无需每次都进行昂贵的I / O操作来转到XML文件。

包含解析文件规则的类是org.apache.struts.config.ConfigRuleSet(javadoc:解析Struts配置文件所需的Digester规则集(struts-config.xml))。

<强> 2。是控制器在读取struts-config文件时创建操作对象吗?

不,这是在以后提出请求时完成的。

当请求进入时,Struts会尝试查找与URL路径匹配的现有Action实例。如果找到它,它将返回它,否则它将创建它并存储它以供以后使用,然后再返回它。

RequestProcessor.processActionCreate方法执行此操作(javadoc:返回将用于处理当前请求的Action实例,必要时创建一个新实例)。