零点起飞学java web开发之spring的web架构

上传人:mg****85 文档编号:49766849 上传时间:2018-08-02 格式:PPTX 页数:22 大小:213.62KB
返回 下载 相关 举报
零点起飞学java web开发之spring的web架构_第1页
第1页 / 共22页
零点起飞学java web开发之spring的web架构_第2页
第2页 / 共22页
零点起飞学java web开发之spring的web架构_第3页
第3页 / 共22页
零点起飞学java web开发之spring的web架构_第4页
第4页 / 共22页
零点起飞学java web开发之spring的web架构_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《零点起飞学java web开发之spring的web架构》由会员分享,可在线阅读,更多相关《零点起飞学java web开发之spring的web架构(22页珍藏版)》请在金锄头文库上搜索。

1、第23章 Spring的Web架构 同Struts 2框架一样,Spring也可以给Web开发者提供 一个MVC框架。虽然Web框架只是Spring的一个模 块,但是它却应用的非常广泛。本章结合实例分析 Spring Web框架的使用方法、各个组件的作用。23.1 第一个Spring MVC例子 在讲解Spring的MVC框架的各个组件之前,先通过 一个例子来体会一下其流程。23.1.1 配置web.xml文件 在ch23的WEB-INF目录下创建web.xml。在使用 Struts 2时,需要在web.xml文件配置FilterDispatcher ,在使用Spring的MVC框架时,也需要

2、配置web.xml 文件。23.1.2 编写用于输出的页面 在ch23文件夹下面创建sayHello.jsp,该页面用来被 Spring的控制器调用向页面上输出一个字符串。23.1.3 创建控制器 Spring的MVC框架也有充当控制器的组件。下面先 在ch23中创建一个package:com.examp.ch23,然后 在其中添加HelloWorldAction.java类,用于调用 sayHello.jsp去显示字符串。23.1.4 创建Spring的配置文件 在前面讲Struts 2时,配置文件struts.xml主要用来对 Action类进行配置,下面看Spring的配置文件是如何 配

3、置的。23.1.5 运行Spring MVC示例 在Eclipse中启动Tomcat,在浏览器中输入 http:/localhost:8080/ch23/helloWorld.do,可以访问到 sayHello.jsp。23.1.6 使用JSTL视图技术 JSTL(JSP Standard Tag Library,JSP标准标签库) 是一个不断完善的开放源代码的JSP标签库,是由 apache的jakarta小组来维护的。使用JSTL可以实现迭 代和条件判断、数据管理格式化、XML操作以及数 据库访问等操作。可以使用JSTL技术去实现 sayHello.jsp。23.2 Spring MVC的

4、控制器 和Struts 2一样,Spring MVC框架的控制器也用来建 立视图层和模型层的联系,Spring的控制器可以通过 继承一些接口来实现,下面进行讲解。23.2.1 核心控制器 DispatcherServlet DispatcherServlet是Spring MVC的核心控制器,其作用相当于Struts 2的 FilterDispatcher,负责对客户端的请求进行分发,把满足特定格式的请求 交给业务控制器去处理。 1DispatcherServlet的配置 2DispatcherServlet的工作流程 当DispatcherServlet接收到用户请求后,按照如下步骤进行处理

5、。 (1)搜索封装配置文件信息的WebApplicationContext,并将它作为一个 属性存储在请求对象中,这样DispatcherServlet就可以使用 WebApplicationContext调用配置文件中定义的 资源。 (2)把本地化信息、主体信息也存储到请求对象上。 (3)根据配置文件搜索合适的业务处理器,并准备用于返回的 ModelAndView。 (4)当业务处理器处理完业务逻辑后,根据WebApplicationContext中绑 定的视图信息显示对应的视图。23.2.2 控制器接口Controller Controller接口是所有控制器接口的父类,所有Spring

6、框架提供的控制器,以及所有用户自定义的控制器 都得实现这个接口。23.2.3 表单控制器 SimpleFormController SimpleFormController可以自动将用户从表单获取的 参数存入一个JavaBean的实例中,这样就不用逐一 调用request.getAttribute()方法去获取。23.3 Spring MVC视图 Spring MVC框架主要以控制器和视图为核心,业务 控制器调用模型层完成请求处理后,试图层负责把 处理完后的数据显示出来。Spring MVC的试图层有 其自己的特点,如下所述。 使用ModelAndView类用来存储处理完后的结果数据 ,以及显

7、示该数据的视图。 支持多种视图层技术,如JSP/Servlet、Jstl、Velocity 等,通过配置相应的视图解析器来实现。23.3.1 模型视图类ModelAndView 从名字上看ModelAndView中的Model代表模型, View代表视图,这个名字就很好地解释了该类的作 用。业务处理器调用模型层处理完用户请求后,把 结果数据存储在该类的model属性中,把要返回的视 图信息存储在该类的view属性中,然后让该 ModelAndView返回该Spring MVC框架。框架通过调 用配置文件中定义的视图解析器,对该对象进行解 析,最后把结果数据显示在指定的页面上。23.3.2 支持

8、不同的视图 Spring MVC支持不同的视图技术,如JSP/Servlet、 Jstl、Velocity等。每种视图技术对应一个 XXXView.java类,它们都要实现View接口。例如, JSP/Servlet技术对应的类是InternalResourceView.java ;Jstl技术对应的类是JstlView.java;Velocity技术对 应的类是VelocityView.java。23.4 使用拦截器 和Struts 2一样,Spring MVC也可以使用拦截器对请求进 行拦截处理,用户可以自定义拦截器来实现特定的功能 ,自定义的拦截器必须实现HandlerIntercept

9、or接口。 下面对代码中的三个方法进行解释。 preHandle():这个方法在业务处理器处理请求之前被调用 ,在该方法中对用户请求request进行处理。如果程序员 决定该拦截器对请求进行拦截处理后还要调用其他的拦 截器,或者是业务处理器去进行处理,则返回true;如果 程序员决定不需要再调用其他的组件去处理请求,则返 回false。 postHandle():这个方法在业务处理器处理完请求后,但 是DispatcherServlet向客户端返回请求前被调用,在该方 法中对用户请求request进行处理。 afterCompletion():这个方法在DispatcherServlet完全处

10、理 完请求后被调用,可以在该方法中进行一些资源清理的 操作。23.5 数 据 验 证 在Spring MVC框架中,同样可以对表单数据进行验证,把错误信 息返回页面,提示用户重新输入。Spring MVC框架提供了 Validator接口,用户通过实现该接口来对数据进行研制,Validator 的代码如下: 01package org.springframework.validation; 02public interface Validator 03boolean supports(Class clazz); 04void validate(Object obj, Errors errors

11、); 05 上面代码有两个方法,如下所述。 supports:用来判断参数clazz是否是要验证的Class类。 validate:用来对参数obj进行研制,并把错误信息存入errors对象。23.6 Spring和Struts 2整合 Spring 和Struts 2都是应用非常广泛的J2EE应用程序 框架,Struts 2主要注重的是将视图层和控制层分开 ,但是不涉及对模型层的优化设计;而Spring除了实 现Struts 2的MVC功能外,还可以利用其控制反转的 思想实现对模型层的优化,从更深层次去降低应用 程序各个组件的耦合程度。本节将结合实例讲解如 何实现Spring框架和Strut

12、s 2框架的集成使用。23.6.1 整合原理 Struts 2在发布的时候在其插件包struts-2.1.2lib中有 Struts 2-spring-plugin-2.1.2.jar,正是它实现了Struts 2 和Spring的整合。这个插件覆盖了Struts 2的 ObjectFactory,所以在Struts 2创建一个对象的时候, 例如Action类,它会先到Struts 2的配置文件去寻找类 的名字,然后转到Spring配置文件中去查找名字找到 该类。23.6.2 整合步骤 Spring和Struts 2的整合其实很简单,下面是整合步 骤。 (1)复制jar文件。 (2)配置str

13、uts.objectFactory属性。 (3)配置Spring监听器。 (4)编写Spring配置文件。 (5)编写Struts 2配置文件。23.7 一个Spring+Struts 2的开发实 例 下面通过一个实例来讲解如何实现Spring和Struts 2的 集成使用。23.8 小 结 本章结合实例讲解了Spring MVC框架的各个组件的 使用方法、Spring拦截器和数据验证的使用方法,以 及Spring和Struts 2集成的实现方法。本章的重点是掌 握Spring MVC框架的思想及其原理,并且能够实现 Struts 2框架和Spring的整合使用。通过本章的学习, 读者应该可以掌握Spring MVC框架的使用方法,并 且能够实现Spring和Struts 2的集成使用。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号