熬之滴水穿石:Spring--精简的J2EE(5)
47--Spring的MVC
在Spring的框架中也存在MVC这样的模式,在Spring下有2个这样的控制器一个叫Controller,另一个叫SimpleFormController。Controller主要负责显示数据,SimpleFormController更倾向于处理表单的增删检查操作。通过handleRequest(request, response)方法。该方法返回一个ModelAndView类,这是Spring特定的MVC类,ModeAndView这个类包含着model和view的内容,view是要显示的位置逻辑,mode则是一个对象的名称。当然这些内容也可以包含有多个相关的更多内容。一般来说,我们使用SimpleFormController就可以满足我们开发的需求。使用SimpleFormController时需注意一些方法在GET请求时调用,而有一些方法则是POST请求调用。在Servlet的单元中曾说过幂等性,Get操作一般用于编辑,Post则用于保存和更新。Spring MVC框架与之前在JSP单元中说起的框架Struts不同之处,就是有两个控制器来处理页面,如果用Struts时,通常是一个Action来完
成删除,编辑,保存,及列出数据表中的记录。控制器通常包含了execute()方法。不管请求是Get还是Post都会用这个方法去执行,这种方式的优点和缺点一样的明显:就是根本不在乎是哪种请求是Get和Post并不重要。在Spring中MVC则要求不要用一个控制器来做任何事情,当然你如果不想为每个界面设置一个控制器一样,也可以用MultiActionController可以为每个显示定义一个独立的方法。看Spring在MVC这块考虑得多么周全。
SimpleFormController设计主要用于与域对象进行交互,动态的绑定请求参数到对象上。与Struts相比,Spring更为简洁,SimpleFormController便是如此,提供可配置的表单和成功页面视图,方便复写的onSubmit()方法。如果出现验证错误,它会自动重复提交表单视图,如果的合法的提交,则生成成功视图。SimpleFormController只是Spring众多控制器中的一个,但是它确实有过人之处,也是使用最为多的一个。它是FormContrller的一个具体的实现,提供了可配置的表单(form)和成功视图(view)。当验证出错时,它会自动重现表单视图,验证通过时,会显示成功视图。这个类提供了很多在显示表单和提交表单的生命周期中可以复写的方法。这是Spring MVC框架的一个独到之处。其它框架一般只提供一种方法进行复写,你无法更多的控制出现情况时到底发生了什么。当然,使用Spring MVC时,并没有强求实现它的生命周期方法。在你需要它时,它可以为你提供了一种选择。实际上,你只需要复写两个方法:onSubmit()和formBackingObject()。onSubmit()处理表单post请求,formBackingObject()为请求提供一个对象,它封装了HTML表单的字段值。对于获取现有的记录,此方法是一个非常方便的位置,它也是初始化空对象(例如,显示空白表单)的好地方。理解SimpleFormController的生命周期也是一个非常重要的事情,理解它能够更好的理解在Spring下的MVC模式。
(未完待续.....)
熬之滴水穿石:Spring--精简的J2EE(5)的更多相关文章
- 熬之滴水穿石:Spring--精简的J2EE(6)
48--曾用过的View 在Spring MVC架构中View实际上是有多种选择的.JSP是首选的view,实际上在J2E ...
- 熬之滴水穿石:JSP--HTML中的JAVA代码(6)
39--JSTL 在JSP编码中需考虑的一种方法,因为这种方法可以 ...
- spring入门教程——笔记
Spring学习笔记(1)----简单的实例 --------------------------------- 首先需要准备Spring包,可从官方网站上下载. 下载解压后,必须的两个包是s ...
- 不错的Spring学习笔记(转)
Spring学习笔记(1)----简单的实例 --------------------------------- 首先需要准备Spring包,可从官方网站上下载. 下载解压后,必须的两个包是s ...
- Spring框架IOC容器和AOP解析
主要分析点: 一.Spring开源框架的简介 二.Spring下IOC容器和DI(依赖注入Dependency injection) 三.Spring下面向切面编程(AOP)和事务管理配置 一.S ...
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...
- 13.SpringMVC和Spring集成(一) && 14.SpringMVC和Spring集成(二)
1.概念 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,Spring致力于J2EE应用的各层的解决方案,Spring是企业应用开发的“一站式”选择,并贯 ...
- Spring实战1:Spring初探
主要内容 Spring的使命--简化Java开发 Spring容器 Spring的整体架构 Spring的新发展 现在的Java程序员赶上了好时候.在将近20年的历史中,Java的发展历经沉浮.尽管有 ...
- 什么是Spring?Spring是什么?
Spring概述: Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的. 从简单性.可測试性和松耦合的角度而言,不论什么java应用都能够从Spring中受益. 简而言之,Sprin ...
随机推荐
- PHP计算一个目录文件大小方法
<?php $dirfile='../hnb'; /** *计算一个目录文件大小方法 *$dirfile:传入文件目录名 **/ function dirSize($dirfile) { $di ...
- JConsole 连接配置
远程监控配置 JDK配置 在%JAVA_HOME%/jre/lib/management目录下,jmxremote.password.template.jmxremote.password需要修改配置 ...
- HDU 4287 (13.08.17)
Problem Description We all use cell phone today. And we must be familiar with the intelligent Englis ...
- hdu1171 Big Event in HDU 01-背包
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1171 Problem ...
- [Python学习笔记][第八章Python异常处理结构与程序调试]
1/30 第八章Python异常处理结构与程序调试 异常处理 try-except结构 try: try块 except Exception: except块 try-except-else结构 tr ...
- CSS基础知识笔记(四)
元素分类 标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1>...<h6& ...
- BOM 窗体相关属性以及页面可见区域的获取方式
1 在IE Safari Oper Chrome 都提供了screenLeft和screenTop属性: screenLeft : 相对于屏幕左边的距离 screenTop : 相对于屏幕上边的距离 ...
- PHP学习笔记三十八【下载】
<?php //演示下载一个图片 $file_name="SunSet.jpg"; $file_name=iconv("utf-8","gb23 ...
- IOS UI篇—UILabel的文字顶部对齐
UILabel的文字顶部对齐 NOV 20TH, 2011 默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中. 如下图所示(图片来自stackove ...
- Linux脚本中使用特定JDK
有时linux系统中装了很多应用,我们又不能覆盖系统中设置的版本,此时我们就需要在脚本文件中设置特定版本. export JAVA_HOME= export CLASSPATH=.:$JAVA_HOM ...