今天复习前些天讲解的spring mvc,要求每个学员都能独立使用SimpleFormController完成表单处理流程,主要由学生自己动手实践。
写spring mvc的例子程序时,想想spring mvc程序的工作流程,然后根据这个流程一步步进行实施。
在配置InternalResourceViewResolver时,注意其prefix属性值的最后一定要有“/”。
AbstractController里面的handleRequest方法为什么被定义成final呢?模板方法模式:一个类自己一个方法调用自己的其他方法,而其他方法由子类来实现。不管内部调用的方法是怎样的流程,外部始终只与那个总的调用方法交互。
SimpleFormController处理两种请求:显示表单、处理表单提交。显示表单又可以分为两种情况:注册与编辑,对于注册的情况,表单内容应该为空,对于修改信息的情况,表单内容应该有数据。
formBackingObject总是会返回一个对象的,这个对象就是用于填充表单的,父类返回的对象中的值是空(即成员变量都为默认值),如果子类要返回一个带有信息的对象去填充表单(如编辑信息),那就应该覆盖这个方法。将对象的信息填充到表单中时会有一个问题,例如,int类型的成员变量的初始值为0,那么填充到表单中的信息是0,而不是空白字符串。所以,为了解决这个问题,有人将int改为Integer类型,这样,它的初始值就是null。
用下面的例子分析显示表单时,为什么也要绑定请求参数到formBackingObject方法返回的对象上。这需要设置bindOnNewForm属性
1.
<input type="text" name="email" />
服务器接受到第1个页的的访问请求后,将返回第2个页面供用户继续填写信息,
2.
String email = request.getParameter("email");
<input type="hidden" name="email" value="<%=email%>"
<input type="text" name="name" value=""/>
<input type="password" name="password" value=""/>
第2个页面中的隐藏字段的值是从第一个页面中获取的的请求参数。
采用formBackingObject,这个过程可以自动完成。
其实,可以直接在配置文件中使用SimpleFormController,而不用编写它的子类,也可以演示显示表单和校验的效果。
思考题:
AbstractController->AbstractFormController-->SimpleFormController,为什么总是父类干一半后,就留出一个方法让子类继续去干?这就体现了面向对象编程的多态性,这样可以出现完成各种功能的子类。
一个问题:如果存储到请求域中的属性名中有点(.),那就EL表达式中怎样访问这个属性对象?
request.setAttribute("error.email",new Errors());
${error.email}
没有找到答案,这可能是根本就不允许出现的规则。
问题:
1.对于SimpleFormController显示的表单,如果其提交方式是GET,将继续显示原来的表单,那能否显示出原来的表单数据呢?怎么做?用bindOnNewForm属性。
2.对于网上和书上介绍的spring的文件上传的例子,在上传大文件时,应该有问题,spring mvc中有没有不用字节数组的解决方案呢?
分享到:
相关推荐
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
Spring MVC 是一款强大的Java Web开发框架,用于构建高效、可维护和模块化的Web应用程序。它作为Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求和响应,使得开发者可以专注于业务逻辑而不是底层实现。在这...
Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序而设计。它提供了模型-视图-控制器(MVC)架构,使开发者能够有效地分离业务逻辑、数据处理和用户界面。在"Spring MVC 4.2.3"版本中,我们看到了一系列的...
Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring ...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个教程“Spring MVC - A Tutorial”旨在帮助开发者深入理解和掌握Spring MVC的核心概念和...
Spring MVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了IoC容器,支持RESTful风格的应用程序开发。Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发...
Spring MVC是Spring框架的一个核心模块,专用于构建Web应用程序。这个"Spring MVC使用Demo"提供了实践操作,帮助开发者深入理解Spring MVC的开发环境配置、注解的使用以及工作原理。 首先,Spring MVC的设计模式...
Spring MVC 是一个强大的Java Web开发框架,它是Spring框架的一部分,专为构建高度可扩展和模块化的Web应用程序而设计。在2015年的版本中,Spring MVC 4已经相当成熟,提供了许多特性来简化开发流程并提高开发效率。...
Spring MVC 是一个基于 Java 的轻量级Web应用框架,它为构建模型-视图-控制器(MVC)架构的应用程序提供了强大的支持。在本压缩包中包含了一系列与Spring MVC相关的jar文件,这些文件是构建和运行Spring MVC项目所...
这是一个基于Spring MVC、Mybatis和Spring框架实现的个人博客系统,涵盖了Web开发中的后端架构设计、数据库管理和前端展示等多个方面。以下将详细介绍这个系统的关键知识点: **1. Spring MVC** Spring MVC是Spring...
11. **Tiles or Layouts**: 为了实现页面布局,Spring MVC可以与其他框架集成,如Tiles,允许创建可重用的页面片段。 12. **RESTful**: Spring MVC支持RESTful Web服务,通过HTTP动词(GET、POST、PUT、DELETE等)...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...
**Spring MVC 概述** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的轻量级、模型-视图-控制器(MVC)框架。Spring MVC 提供了处理 HTTP 请求和响应的机制,以及解耦业务逻辑和用户界面的...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
Spring MVC 是一款基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。这个"Spring MVC 简单Demo"旨在帮助初学者理解如何设置和运行一个基本的Spring MVC项目。下面,我们将深入探讨Spring MVC...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(Model-View-Controller)架构的应用程序提供了强有力的支持。在本示例中,我们将深入探讨Spring MVC的基本概念、配置以及如何创建一个...