Spring-AOP-Struts重新解析

来源:互联网 发布:防木马软件 编辑:程序博客网 时间:2024/06/05 10:03

问题:

    * action是单例还是多例?怎么样证明?

        Action是多例的,在构造函数中输出一句话,如果请求好几次,只输出一次,单例

           如果请求很多次,输出很多次,多例

    * struts2有三个类

         ActionContext

         ServletActionContext  建立struts2与servlet的通信的桥梁

         ActionInvocation   struts2总的上下文

    * struts2的数据都在值栈中,怎么样保证数据的安全性?值栈的生命周期是什么?

        因为ValueStack在ActionContext中,而ActionContext在ThreadLoad中,所以可以保证数据的安全性

        值栈的生命周期是一次请求,当前的action,actioncontext,valuestack的生命周期是一致的

    * 自己写的action是由谁调用的?

    * ActionProxy和拦截器的意义?









init_DefaultProperties方法加载了default.properties配置文件

init_TraditionalXmlConfigurations();// [2]

     加载了三种配置文件

       struts-default.xml  只有一个

       struts-plugin.xml  可能有很多个

       struts.xml   只有一个

    * 这三个配置文件的did一样,所以如果出现相同的选项,后者覆盖前者

    * struts2容器会在classpath环境下,及jar包下找所有的struts-plugin.xml文件







Struts2静态注入

在struts的配置文件中,利用

  <bean type=""  name=""class="">的形式写的类都叫静态注入

当tomcat服务器启动的时候就加载了,比如:

<beantype="com.opensymphony.xwork2.util.ValueStackFactory"name="struts"class="com.opensymphony.xwork2.ognl.OgnlValueStackFactory" />

  意味着在web服务器启动的时候,ValueStack接口的实现类是OgnlValueStack





struts2详细的流程:





0 0
原创粉丝点击