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

Spring MVC中慎用SessionForm

阅读更多

在session form 模式之下,form保存在Session当中,这就意味着每个Session只有一个Form Backing Object,如果同时打开两个页面来编辑同一对象的不同实例时,就会有冲突产生。

 

比如:A有两个实例a1、a2,这时就有可能将a1的值保存在a2当中。

分享到:
评论
2 楼 xucons 2009-04-25  
To:smxwjd

对不起,是我的意思表达错了。
protected String getFormSessionAttributeName() { 
    return getClass().getName() + ".FORM." + getCommandName(); 
} 


上面获得的FormSessionAttributeName对于同一个Form Backing Object来说都是一样的。这样打开两个浏览器窗口时,就会发生冲突。

Please note that the AbstractFormController class (and all subclasses of it unless stated to the contrary) do not support the notion of a conversation. This is important in the context of this property, because it means that there is only one form per session: this means that if session form mode is activated and a user opens up say two tabs in their browser and attempts to edit two distinct objects using the same form, then the shared session state can potentially (and most probably will) be overwritten by the last tab to be opened, which can lead to errors when either of the forms in each is finally submitted.

1 楼 smxwjd 2009-04-17  
你搞错了哦~~~看Spring的源码:org.springframework.web.servlet.mvc.AbstractFormController
protected String getFormSessionAttributeName() {
return getClass().getName() + ".FORM." + getCommandName();
}

相关推荐

    精通Spring MVC 4

    , 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、...

    Spring MVC jar包

    - **DAO层**:Spring MVC中的Service层通常调用DAO层完成数据访问,DAO层使用Hibernate进行具体操作。 在`hibernate3.6.8.chm`文件中,可能包含了Hibernate 3.6.8的官方文档,对于深入理解Hibernate的工作原理和...

    最全最经典spring-mvc教程

    在这个"最全最经典spring-mvc教程"中,我们可以期待深入探讨Spring MVC的各个方面。 首先,Spring MVC的基础架构包括DispatcherServlet(前端控制器)、Model、View和Controller。DispatcherServlet是整个流程的...

    Spring MVC 教程快速入门 深入分析

    五、Spring MVC双亲上下文的说明:在Spring MVC中,可以通过双亲上下文机制来共享Spring IoC容器中的Bean。这样,Spring MVC和Spring的应用程序上下文可以共享配置信息。 六、Spring MVC mvc.xml配置文件片段讲解:...

    Spring MVC 4.2.3

    在"Spring MVC 4.2.3"版本中,我们看到了一系列的功能改进和优化,以提升开发效率和应用性能。 首先,让我们深入了解Spring MVC的基础架构。模型(Model)负责存储应用的数据,视图(View)用于展示这些数据,而...

    Mastering Spring MVC 4(2015.09)源码

    在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。在这个"Mastering Spring MVC 4(2015.09)源码"中,我们可以深入理解这个框架的核心概念和实际应用。 首先,Spring MVC ...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    在Spring MVC中,每个请求都会经过DispatcherServlet,这是一个前端控制器,它会根据请求的URL和配置的映射规则将请求分发到合适的处理器。处理器可以是自定义的Controller类,Controller通过方法注解(如@...

    spring mvc 4.0

    在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring MVC 4.0继续支持Spring框架的核心功能,依赖注入(DI),允许开发者通过配置来管理对象及其依赖...

    Spring MVC 4.2.4.RELEASE 中文文档

    **Spring MVC 4.2.4.RELEASE 中文文档** Spring MVC是Spring框架的一个核心组件,专注于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者组织和分离应用的业务逻辑、数据处理以及用户界面。...

    Spring MVC + Mybatis+Spring实现的个人博客系统

    这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...

    Spring MVC所需jar包

    在 Spring MVC 的开发中,需要用到一系列的 jar 包来支持其功能。这些 jar 包通常包括以下几个核心部分: 1. **Spring 框架核心库**:这是 Spring MVC 的基础,它包含了 IoC(Inversion of Control,控制反转)和 ...

    Spring MVC使用Demo

    这通常包括安装Java Development Kit (JDK)、配置IDE(如IntelliJ IDEA或Eclipse)、添加Spring MVC的相关依赖到构建工具(如Maven或Gradle)的pom.xml或build.gradle文件中。还需要配置Web应用服务器,比如Tomcat,...

    spring MVC .docx

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要...在提供的文档"spring MVC .docx"中,应该包含了关于这些知识点的详细解释和示例代码,帮助读者更好地理解和应用Spring MVC框架。

    spring-mvc-官方中文文档

    7. **ModelAndView**:这是 Spring MVC 中的一个重要类,用于存储模型数据和视图名。在控制器处理完请求后,可以通过返回一个 ModelAndView 对象来指定视图和传递模型数据。 8. **视图解析**:Spring MVC 支持多种...

    基本的spring mvc + spring security实现的登录(无数据库)

    在本项目中,我们主要探讨的是如何利用Spring MVC和Spring Security框架构建一个基本的无数据库登录系统。Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的...

    spring mvc 的入门级资料

    在 Spring MVC 中,核心类和接口是 DispatcherServlet、HandlerMapping、HandlerAdapter、Controller、ViewResolver、HandlerInterceptor、View 等。 DispatcherServlet 是 Spring MVC 的前置控制器,它负责处理...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    Spring MVC 和 MyBatis 是两个在Java Web 开发中广泛使用的框架。Spring MVC 作为Spring框架的一部分,负责处理HTTP请求并转发到相应的业务逻辑,而MyBatis则是一个轻量级的持久层框架,用于简化数据库操作。整合这...

    spring MVC配置详解

    ViewResolver 是 Spring MVC 框架中负责将模型数据渲染到视图中的组件。我们可以使用 InternalResourceViewResolver 或其他视图解析器来配置 ViewResolver。 七、总结 Spring MVC 是一个功能强大且灵活的 Web 框架...

Global site tag (gtag.js) - Google Analytics