【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)

上篇博文,我们简单的介绍了什么是SpringMVC,这篇博文,我们搭建一个简单SpringMVC的环境,使用非注解形式实现一个HelloWorld实例,从简单入手,逐步深入。

环境准备

我们需要有基本的java环境,下面只是简单的罗列,不再详细的介绍。

我们使用SpringMVC的版本是Spring3.2.0,下图是最基本的jar包:

在Spring的官方API文档中,给出了所有jar包作用的概述,,现列举常用的包以及相关作用:

后文全部实例都在spring3.2.0版本中进行,为了方便,建议在搭建环境中导入spring3.2.0 的所有jar 包(所有jar 包位于dist 目录下)。

环境准备好了,下面我们开始动手。

编写HelloWorld 实例步骤一、建立名为SpringMVC_helloworld 的动态web项目,并选择服务器,并导入上面列出的jar 包。步骤二、编写web.xml 配置文件,代码如下:==”http://www.w3.org/2001/XMLSchema-instance”xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee”>>org.springframework.web.servlet.DispatcherServlet>>*.do>

简要说明:其实DispatcherServlet就是一个Servlet,也是对Http请求进行转发的核心Servlet 。所有.do的请求将首先被DispatcherServlet处理,而DispatcherServlet 它要作的工作就是对请求进行分发(也即是说把请求转发给具体的Controller )。可以简单地认为,它就是一个总控处理器,但事实上它除了具备总控处理理器对请求进行分发的能力外,还与spring 的IOC 容器完全集成在一起,从而可以更好地使用spring 的其它功能。在这里还需留意< servlet-name> springMVC ,下面步骤三会用到。 3. 步骤三、建立Spring的配置文件,注意上一个步骤中的标签在web.xml中的servlet的名称。DispatcherServlet的初始化后,会在WEB – INF查找一个[servlet-name]-servlet.xml 即springMVC-servlet.xml的文件。它的主要代码如下:

===”http://www.springframework.org/schema/tx”xsi:schemaLocation=”http://www.springframework.org/schema/beans “>=”com.tgb.controller.HelloWorld”></bean><!– 处理器映射器 将bean的name作为url进行查找 ,需要在配置Handler时指定beanname(就是url)所有的映射器都实现 HandlerMapping接口。–>===>=”org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter” /></beans>

说明: helloworld.do的请求将被名为helloControl的bean 进行转发处理。 4. 步骤四、创建一个SpringMVC的控制类,并处理请求,完成HelloWord.java 的编写,代码如下:

package com.tgb.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.Controller;{@Overridepublic ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception {ModelAndView mav = new ModelAndView(“hello.jsp”);mav.addObject(“message”, “Hello World!”);return mav;}}

说明:ModelAndView 对象是包含视图和业务数据的混合对象,即通过此对象,我们可以知道所返回的相应页面(比如这里返回hello.jsp页面),也可以在相应的页面中获取此对象所包含的业务数据(比如这里message-Hello World!)。 5.步骤五、创建jsp,在当前项目web根目录下编写index.jsp,用于发送请求,hello.jsp用于显示消息,主要代码如下: 用index.jsp里面的超链接发出一个请求到HelloWorldController,并返回到hello.jsp 显示message的信息。

<%@ page language=”java” contentType=”text/html; charset=utf-8″pageEncoding=>=>Insert title here>></html><%@ page language=”java” contentType=”text/html; charset=utf-8″pageEncoding=>=>Insert title here>世界,你好!获取值: ${message }</body></html>

6.步骤六:把项目扔到服务器中,运行服务器,在浏览器中输入:8080/SpringMVC_HelloWorld/index.jsp 进行测试。

简析springmvc 工作原理总结

SpringMVC框架的核心是DispatcherServlet,它的作用是将请求分发给不同的后端处理器。Spring的Controller层使用了后端控制器来映射处理器和视图解析器来共同完成Controller层的主要工作。并且spring的Controller层还真正地把业务层处理的数据结果和相应的视图封装成一个对象,即我们后面会经常用到的ModelAndView 对象。

一句话总结springMVC

封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。

下篇博文,我们使用注解形式,并改进HelloWorld实例,敬请期待。

积极的人在每一次忧患中都看到一个机会,

【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)

相关文章:

你感兴趣的文章:

标签云: