进入Spring MVC
来源:互联网 发布:yy免费刷礼物软件 编辑:程序博客网 时间:2024/05/17 23:50
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
Spring 的 Web MVC 框架是围绕 DispatcherServlet
设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。默认的处理程序是非常简单的 Controller
接口,只有一个方法
Spring 提供了一个控制器层次结构,可以派生子类。如果应用程序需要处理用户输入表单,那么可以继承
如果需要把多页输入处理到一个表单,那么可以继承
示 例应用程序有助于直观地学习这些特性。银行应用程序允许用户检索他们的帐户信息。在构建银行应用程序的过程中,可以学到如何配置 Spring MVC 框架和实现框架的视图层,视图层包括 JSTL 标记(用于显示输出的数据)和JavaServer Pages 技术。
要开始构建示例应用程序,请配置 Spring MVC 的 DispatcherServlet
。请在 web.xml 文件中注册所有配置。
< servlet - name > sampleBankingServlet </ servlet - name >
< servlet - class > org.springframework.we.servlet.DispatcherServlet < servlet - class >
< load - on - startup > 1 < load - on - startup >
< servlet >
DispatcherServlet
从一个 XML 文件装入 Spring 应用程序上下文,XML 文件的名称是 servlet 的名称后面加上 -servlet 。在这个示例中,DispatcherServlet
会从 sampleBankingServlet-servlet.xml 文件装入应用程序上下文。
刘文涛说明 :也可以类似这样动态指定 :
< servlet - name > cms </ servlet - name >
< servlet - class > org.openuap.base.setup.cms.CmsCoreDispatcherServlet </ servlet - class >
< init - param >
< param - name > contextConfigLocation </ param - name >
< param - value >
classpath: / cms - web - servlet.xml,
classpath: / cms - admin - web - servlet.xml
</ param - value >
</ init - param >
< load - on - startup > 1 </ load - on - startup >
</ servlet >
说明完毕。
下一步是配置想让 sampleBankingServlet
处理的 URL。同样,还是要在 web.xml 中注册所有这些信息。
< servlet - name > sampleBankingServlet < servlet - name >
< url - pattern >* .jsp </ url - pattern >
</ servlet - mapping >
示例银行应用程序允许用户根据惟一的 ID 和口令查看帐户信息。虽然 Spring MVC 提供了其他选项,但是我将采用 JSP 技术作为视图页面。这个简单的应用程序包含一个视图页用于用户输入(ID 和口令),另一页显示用户的帐户信息。
我从 LoginBankController
开始,它扩展了 Spring MVC 的 SimpleFormController
。SimpleFormContoller
提供了显示从 HTTP GET
请求接收到的表单的功能,以及处理从 HTTP POST
接收到的相同表单数据的功能。LoginBankController
用 AuthenticationService
和 AccountServices
服务进行验证,并执行帐户活动。
下面,我必须注册在接收到 HTTP GET
请求时显示的页面。我在 Spring 配置中用 formView
属性注册这个页面,如清单 5 所示。sucessView
属性代表表单数据提交而且 doSubmitAction()
方法中的逻辑成功执行之后显示的页面。formView
和 sucessView
属性都代表被定义的视图的逻辑名称,逻辑名称映射到实际的视图页面。
< property name = " sessionForm " >< value > true </ value ></ property >
< property name = " commandName " >< value > loginCommand </ value ></ property >
< property name = " commandClass " >
< value > springexample.commands.LoginCommand </ value >
</ property >
< property name = " authenticationService " >
< ref bean = " authenticationService " />
</ property >
< property name = " accountServices " >
< ref bean = " accountServices " />
</ property >
< property name = " formView " >< value > login </ value ></ property >
< property name = " successView " >< value > accountdetail </ value ></ property >
</ bean >
commandClass 和
commandName
标记决定将在视图页面中活动的 bean。例如,可以通过 login.jsp 页面访问 loginCommand
bean,这个页面是应用程序的登录页面。一旦用户提交了登录页面,应用程序就可以从 LoginBankController
的 onSubmit()
方法中的命令对象检索出表单数据。Spring MVC 的 视图解析器 把每个逻辑名称解析成实际的资源,即包含帐户信息的 JSP 文件。我用的是 Spring 的 InternalResourceViewResolver
,如 清单 6 所示。
因为我在 JSP 页面中使用了 JSTL 标记,所以用户的登录名称解析成资源 /jsp/login.jsp,而 viewClass
成为 JstlView
。
验证和帐户服务
就像前面提到的,LoginBankController
内部连接了 Spring 的 AccountServices
和 AuthenticationService
。AuthenticationService
类处理银行应用程序的验证。AccountServices
类处理典型的银行服务,例如查找交易和电汇。清单 7 显示了银行应用程序的验证和帐户服务的配置。
<bean id="accountServices"
class="springexample.services.AccountServices">
</bean>
<bean id="authenticationService"
class="springexample.services.AuthenticationService">
</bean>
</beans>
- 进入 Spring MVC
- 进入 Spring MVC
- 进入Spring MVC
- 进入 Spring MVC
- Spring 系列:进入 Spring MVC
- Spring 系列: 进入 Spring MVC
- Spring 系列,第 3 部分: 进入 Spring MVC
- Spring 系列,第 3 部分: 进入 Spring MVC
- Spring 系列,第 3 部分: 进入 Spring MVC
- Spring 系列,第 3 部分: 进入 Spring MVC
- Spring 系列,第 3 部分: 进入 Spring MVC
- 迁移应用进入基于Annotation MVC的spring 2.5
- 迁移应用进入基于Annotation MVC的spring 2.5
- spring-mvc使用ajaxFileUpload上传文件总是进入error方法
- Spring MVC不进入Controller,报错404解决方案
- 从web.xml进入Spring MVC 源码分析(4.x)
- Spring 不能进入方法
- spring mvc
- 广州印象 天气篇
- 说说 spring mvc 中的controller
- 追MM与JAVA的23种设计模式
- 在spring MVC中配置多个视图
- Symbian OS中的消息存储与常用操作
- 进入Spring MVC
- spring mvc入门
- Verilog开发环境
- 简化Spring(3)--Controller层
- Spring之MVC web 框架
- SpringSite Spring MVC 文档
- 论坛的发展死在了谁的手上
- 深入Spring MVC framework之总体分析
- 应用Linux上的 OpenLDAP集群