欢迎来到天天文库
浏览记录
ID:38811298
大小:213.62 KB
页数:22页
时间:2019-06-19
《零点起飞学JavaWeb开发之Spring的Web架构x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第23章Spring的Web架构同Struts2框架一样,Spring也可以给Web开发者提供一个MVC框架。虽然Web框架只是Spring的一个模块,但是它却应用的非常广泛。本章结合实例分析SpringWeb框架的使用方法、各个组件的作用。23.1第一个SpringMVC例子在讲解Spring的MVC框架的各个组件之前,先通过一个例子来体会一下其流程。23.1.1配置web.xml文件在ch23的WEB-INF目录下创建web.xml。在使用Struts2时,需要在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的配置文件在前面讲Struts2时,配置文件struts.xml主要用来对Action类进行配置,下面看Spring的配置
3、文件是如何配置的。23.1.5运行SpringMVC示例在Eclipse中启动Tomcat,在浏览器中输入http://localhost:8080/ch23/helloWorld.do,可以访问到sayHello.jsp。23.1.6使用JSTL视图技术JSTL(JSPStandardTagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。使用JSTL可以实现迭代和条件判断、数据管理格式化、XML操作以及数据库访问等操作。可以使用JSTL技术去实现sayHello.jsp。23.2Sp
4、ringMVC的控制器和Struts2一样,SpringMVC框架的控制器也用来建立视图层和模型层的联系,Spring的控制器可以通过继承一些接口来实现,下面进行讲解。23.2.1核心控制器DispatcherServletDispatcherServlet是SpringMVC的核心控制器,其作用相当于Struts2的FilterDispatcher,负责对客户端的请求进行分发,把满足特定格式的请求交给业务控制器去处理。1.DispatcherServlet的配置2.DispatcherServlet的工作流程当DispatcherServlet接收到用户请
5、求后,按照如下步骤进行处理。(1)搜索封装配置文件信息的WebApplicationContext,并将它作为一个属性存储在请求对象中,这样DispatcherServlet就可以使用WebApplicationContext调用配置文件中定义的资源。(2)把本地化信息、主体信息也存储到请求对象上。(3)根据配置文件搜索合适的业务处理器,并准备用于返回的ModelAndView。(4)当业务处理器处理完业务逻辑后,根据WebApplicationContext中绑定的视图信息显示对应的视图。23.2.2控制器接口ControllerController接口是
6、所有控制器接口的父类,所有Spring框架提供的控制器,以及所有用户自定义的控制器都得实现这个接口。23.2.3表单控制器SimpleFormControllerSimpleFormController可以自动将用户从表单获取的参数存入一个JavaBean的实例中,这样就不用逐一调用request.getAttribute()方法去获取。23.3SpringMVC视图SpringMVC框架主要以控制器和视图为核心,业务控制器调用模型层完成请求处理后,试图层负责把处理完后的数据显示出来。SpringMVC的试图层有其自己的特点,如下所述。使用ModelAndV
7、iew类用来存储处理完后的结果数据,以及显示该数据的视图。支持多种视图层技术,如JSP/Servlet、Jstl、Velocity等,通过配置相应的视图解析器来实现。23.3.1模型视图类ModelAndView从名字上看ModelAndView中的Model代表模型,View代表视图,这个名字就很好地解释了该类的作用。业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该SpringMVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析
8、,最后把结果数据显示在指定的页面上。23.3.2支持
此文档下载收益归作者所有