这意味着什么“struts 控制器读取 struts-config.xml文件“什么时候 Web应用程序已启动?
是控制器创建操作对象 在阅读struts-config时 文件?
答案 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实例,必要时创建一个新实例)。