`
niyong
  • 浏览: 32009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在并发情况下struts2与spring 组合需要注意的问题

    博客分类:
  • java
阅读更多
1.struts2为每个线程提供一个action实例,多线程访问时不会出现问题。当使用spring管理struts2的action实例对象时,scope必须配置为prototype或者session,若配置为 singleton则多线程访问时会出现问题,多用户访问时有的用户访问到的是另一个用户的数据,数据会发生乱窜现象。

2.scope=“prototype”是为每个请求提供一个action实例。
scope=“session”是为每个会话提供一个action实例。

3.通常使用prototype,即让spring容器为每个请求提供一个action实例,好处是服务器端不用维护用户状态信息,否则使用session服务器端必须存储状态信息,用户多时占用服务器端内存过多。使用prototype时,必须自己在客户端维护用户的状态,每次访问服务端时将相应状态信息提交给服务器。

例如scope=“prototype”时,页面一般< input name="id" type="hidden" value="${id}"/>用来存储用户的id信息,访问action时提交到server端供action中函数使用。而使用scope=“session”时,页面不必使用hidden的对象隐藏id信息,只要服务端获取过用户的id,action中的 id属性即会保存这个信息。
分享到:
评论

相关推荐

    Struts2+Spring+Maven+MongoDB

    Struts2、Spring、Maven和MongoDB是四个在Java开发中非常重要的技术组件,它们分别扮演着不同的角色,共同构建了一个高效、可扩展的Web应用程序框架。 首先,Struts2是一个基于MVC(Model-View-Controller)设计...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    在SSH系统中,EhCache的集成可以减轻数据库的压力,尤其是在大量并发访问的情况下,提高用户体验。 整合EhCache与Spring和Hibernate非常简单,Spring提供了配置支持,使得EhCache的初始化和管理变得自动化。通过...

    Spring+Struts2+hibernate+Redis整合

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...

    Struts2与Spring整合

    2. **Spring作为Action的管理容器**:整合时,我们可以让Spring作为Struts2的Action管理容器,不再需要在struts.xml中配置每个Action,而是通过Spring的bean配置来定义Action。这样可以利用Spring的生命周期管理和...

    内容管理系统(hibernate3+struts2+spring2).rar

    在"内容管理系统(hibernate3+struts2+spring2)"中,这些框架的集成有以下关键点: - **Spring整合Hibernate**:Spring通过其JDBC抽象层和HibernateTemplate/SessionFactoryBean,使得配置和管理Hibernate变得简单。...

    Struts2+spring+hibernate(登录与注册模块)

    Struts2+Spring+Hibernate是Java Web开发中的经典组合,常被称为SSH框架。这个组合提供了模型-视图-控制器(MVC)架构模式,用于构建高效、可维护的Web应用程序,特别是登录和注册模块。接下来,我们将深入探讨这些...

    Struts2+Spring+EJB框架整合实例

    在Struts2+Spring+EJB框架整合中,首先我们需要理解每个框架的基本概念: 1. **Struts2**:Struts2是基于拦截器的MVC框架,它通过Action类来处理用户请求,并通过配置文件或注解定义Action与URL的映射。Struts2的...

    spring4+hiberante4+struts2+maven

    SSH是Java开发中的一种经典企业级应用框架组合,由Spring、Hibernate和Struts2组成,分别负责控制层、持久层和表现层。Spring是整个应用的核心,提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,极大地简化了...

    基于Struts 2+Hibernate+Spring实现论坛系统

    Struts 2、Hibernate 和 Spring 是 Java Web 开发中的三个重要框架,它们组合起来可以构建高效、可维护的Web应用程序,尤其是对于复杂的企业级论坛系统。这个基于Struts 2+Hibernate+Spring实现的论坛系统,充分利用...

    网上商城struts2+spring+hibernate

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们共同构建了高效且模块化的应用程序。本项目“网上商城struts2+spring+hibernate”是一个典型的MVC(Model-View-Controller)架构的电子商务平台实现,...

    开发struts2+spring

    4. **整合Struts2与Spring**:通过配置Struts2的拦截器,使其能够识别Spring管理的Bean。 #### 12.5 实现文件上传下载 文件上传下载是Web应用中常见的功能之一。 ##### 12.5.1 文件下载 1. **单个文件下载**:...

    小型论坛系统 struts2 hibernate spring

    【标题】"小型论坛系统 struts2 hibernate spring" 是一个基于Java技术栈构建的简单但功能完备的在线讨论平台。这个系统利用了Struts2、Hibernate和Spring这三大核心框架,它们是Java企业级应用开发中的常用工具,...

    struts2.3.14+spring3.1.1+hibernate4.1.0 jar包

    在使用这个压缩包时,你需要将这些jar包添加到项目的类路径中,然后按照SSH的集成指南配置相应的XML配置文件,如struts.xml、spring-servlet.xml和hibernate.cfg.xml。在struts.xml中定义Action和结果,spring-...

    Struts2+Spring2+Hibernate3

    【Struts2+Spring2+Hibernate3】是一个经典的Java企业级开发组合,常用于构建复杂的Web应用程序,如图书管理系统。这个组合充分利用了每个框架的核心优势,以提高开发效率和代码的可维护性。 **Struts2** 是一个MVC...

    Struts2_Spring3_hibernate3_s2hh

    《Struts2_Spring3_Hibernate3_s2hh:整合框架与实践》 在现代企业级Web应用开发中,框架的集成使用已经成为提高开发效率、保证系统稳定性的关键。Struts2、Spring3和Hibernate3(简称s2hh)是Java开发中的三大神器...

    Spring+Struts2+iBatis简要说明

    总的来说,Spring+Struts2+iBatis组合提供了完整的Web应用程序开发框架,Spring作为核心管理组件,Struts2负责MVC的路由和控制,而iBatis则处理与数据库的交互,这三者协同工作,使得开发者能够高效、灵活地构建复杂...

    Struts2.5+hibernate5+spring4基本包整合

    同时,需要配置Spring与Struts2的集成,例如使用`org.springframework.web.struts2.SpringPlugin`插件,让Struts2能够识别Spring管理的Bean。 3. **配置Hibernate**: 引入Hibernate的相关库,配置hibernate.cfg.xml...

    jsp for struts2 and spring.rar

    Struts2和Spring是两种非常重要的Java Web开发框架,它们在企业级应用中广泛使用。JSP(JavaServer Pages)则是动态网页技术,通常与这些框架结合使用来创建用户界面。下面将详细介绍这三个核心概念以及它们之间的...

    基于Java S2SH框架开发的网上订餐管理系统 (struts2,hibernate4,spring3)

    这些操作会触发Struts2的动作类,动作类进一步调用Spring3管理的业务服务,这些服务又会利用Hibernate4与数据库进行交互。例如,当用户提交订单时,Struts2会调用订单服务,该服务通过Spring3注入的Hibernate4数据...

Global site tag (gtag.js) - Google Analytics