`
hypgr
  • 浏览: 277766 次
社区版块
存档分类
最新评论

使用spring 的action-servlet.xml解决struts线程问题

阅读更多

<bean name="/register" class="com.action.RegisterAction"     singleton="false">

<property name="businessService">
     <ref bean="businessService"/>
   </property>


</bean>

    RegisterAction是Action的实现类,businessService是业务逻辑,Spring把businessService注入到 Action中,在Action中只要写businessService的get和set方法就可以了,同时action的bean设为 singleton="false",这样每次新建一个实例,从而解决了Struts中Action的线程同步问题

1.struts 中实现接口

   <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
     <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml" />
   </plug-in>

2.将<action type 变为

= "org.springframework.web.struts.DelegatingActionProxy"

3.编写action-servlet.xml 如:

   <bean name="/Analyse" class="com.apple.struts.action.IndexAnalyseAction" singleton="false">
     <property name="flowService">
       <ref bean="flowService"/>    //此处对应applicationContext.xml
     </property>
   </bean>

4.web.xml中配置

<filter>  
   <filter-name>hibernateFilter</filter-name>  
   <filter-class>  
      org.springframework.orm.hibernate3.support.OpenSessionInViewFilter   
   </filter-class>  
   <init-param>
     <param-name>singleSession</param-name>
     <param-value>true</param-value>
   </init-param>
</filter>

<filter-mapping>  
   <filter-name>hibernateFilter</filter-name>  
   <url-pattern>/*</url-pattern>  
</filter-mapping>

分享到:
评论

相关推荐

    servlet与Struts action线程安全问题分析

    Servlet和Struts Action是两种常见的Java Web开发组件,它们在多线程环境下运行时可能存在线程安全问题。线程安全是指在多线程环境中,一个类或者方法能够正确处理多个线程的并发访问,保证数据的一致性和完整性。 ...

    ssh三大框架整合

    - **原理**:`DelegatingRequestProcessor`类是Spring提供的一个类,用于替代Struts默认的`ActionServlet`,它将Struts的Action与Spring进行分离,使Struts的Action处于Spring的控制之下。这种方式的最大优点是几乎...

    struts-2.3.4.1开发文档

    `struts.xml`是主要的配置文件,用于定义Action、结果类型、拦截器等。注解配置则可以直接在Action类上声明,简化配置过程。 3. **拦截器(Interceptors)**:Struts 2的拦截器是实现AOP(面向切面编程)的关键组件...

    ssh2框架的整合笔记

    1. **Action实例的作用域**:当使用Spring管理Action时,确保Action实例的作用域设置为`prototype`,以避免多线程安全问题。 2. **Struts2与Spring的整合**:选择适合项目需求的整合方式。如果需要更细粒度的控制,...

    Struts、Hibernate、Spring经典面试题.pdf

    - ActionServlet:是Struts框架的控制器,负责接收用户请求,并根据配置将请求派发给相应的Action对象。 - ActionForm:用于封装用户提交的数据,可以进行数据校验。 - ActionMapping:定义了请求与Action之间的...

    Struts 1 学习资料

    而`web.xml`是Servlet容器的配置文件,用来配置Struts的拦截器以及Action的URL映射。 在`struts-config.xml`中,我们需要配置`&lt;form-bean&gt;`来定义表单Bean,它对应于用户界面中的数据模型。例如,我们可以创建一个...

    Struts专业学习资料

    - 在Web服务器启动时,ActionServlet加载并解析struts-config.xml配置文件。 - 当收到用户请求时,ActionServlet查找与请求匹配的ActionMapping。 - 如果ActionForm不存在,它会创建一个新的ActionForm并将表单...

    30分钟学会STRUTS2.ppt

    5. **线程安全性**:每个线程在Struts2中拥有自己的Action实例,避免了线程安全问题。 6. **配置简化**:Struts2的配置比Struts 1更加灵活,可以使用XML或注解进行配置。 **Struts2的核心组件和配置** - **核心包**...

    开发基于Struts Spring Hibernate Ajax整合配置文件的配置

    它的核心是ActionServlet,它处理HTTP请求并根据配置文件(struts-config.xml)转发到相应的Action。ActionForm用于在Action与视图之间传递数据。 **Hibernate框架** 是一个对象关系映射(ORM)工具,允许开发者使用...

    struts与hibernate所需包

    Action是处理用户请求的业务逻辑组件,ActionForm用于封装表单数据,Controller(通常指Struts的ActionServlet)负责调度请求。通过配置struts-config.xml文件,开发者可以定义请求的路由和视图的渲染方式。 在...

    Struts,Hibernate,Spring的面试题.doc

    1. **初始化ActionServlet**:Web应用启动时加载,读取struts-config.xml配置。 2. **ActionMapping匹配**:根据URL找到对应的Action Mapping。 3. **ActionForm处理**:创建ActionForm,存储表单数据,可能进行表单...

    Hibernate、Spring和Struts工作原理及使用理由

    - 初始化ActionServlet,读取struts-config.xml配置。 - 匹配ActionMapping,创建ActionForm,处理表单数据。 - 验证ActionForm,调用validate()方法。 - 表单验证成功后,调用Action的execute()方法。 - Action的...

    Struts、hibernate、spring常用的面试题

    ActionServlet会根据struts-config.xml配置文件将请求分发到对应的Action,如果Action实例不存在,会创建新实例,并调用execute()方法。Action类需要考虑线程安全,因为可能被多个请求共享。 - **ActionForward类**...

    00000033_bean-struts的用法.rar

    - ActionServlet捕获请求,解析请求参数,根据struts-config.xml配置找到对应的ActionForm Bean实例。 - 将请求参数填充到ActionForm Bean中。 - 调用Action类的方法进行业务处理。 - Action返回ActionForward...

    Struts In Action中文版

    在`web.xml`中配置`ActionServlet`,你可以设置其初始化参数,例如最大线程数、会话超时时间等,这些参数对性能优化至关重要。文件`web_xml中ActionServlet中的属性.doc`很可能详细解释了如何配置这些属性,帮助...

    SSH.zip_ssh struts2

    - **配置文件**:如struts2.xml、spring-servlet.xml和hibernate.cfg.xml,它们分别定义了Struts2、Spring和Hibernate的行为。 - **Action类和ActionForm**:Struts2中的Action类是处理业务逻辑的核心,ActionForm...

    Java面试100题参考答案.docx

    - **初始化阶段**:在Web应用启动时,ActionServlet加载并解析`struts-config.xml`配置文件,将配置信息存储到各个对象中。 - **请求处理**:用户通过HTTP请求到达服务器,ActionServlet接收请求,根据`struts-...

    struts hibernate spring 知识点

    每个请求都会创建一个新的Action实例,避免了线程安全问题,这是与Struts1的一个显著差异。 5. 自定义Action可以通过直接编写Action类并实现execute()方法,或者让Action类实现Action接口或继承ActionSupport类。...

    Java最新笔试题笔记(附详细答案)-9.7.docx

    相反,Struts2的Action为每个请求创建一个新的实例,避免了线程安全问题。 关于Servlet依赖,Struts1的Action直接依赖于Servlet API,意味着测试必须在容器环境中进行。而Struts2降低了对Servlet API的依赖,使得...

Global site tag (gtag.js) - Google Analytics