今天开始我们对Spring MVC框架的入门介绍,如果说是基础入门我们会先给大家介绍如下几个技术内容
- 理解Spring MVC工作流程
- 快速搭建Spring MVC
- 详细介绍@RequestMapping的用法
- Spring MVC如何发送JSON数据
- 如何整合Spring和Spring MVC
上面内容我个人认为是基础性入门介绍,所以我们会分几讲内容来进行
1. Spring MVC工作原理
- Spring MVC框架围绕DispatcherServlet这个核心控制器来开展工作
- DispatcherServlet它负责拦截请求并将其分配给相应的处理器
- 整个Spring MVC的工作流程如下
- 客户端发送HTTP请求,Web服务器接收请求并查找配置在web.xml中的DispatcherServlet
- DispatcherServlet接收请求后,将根据请求的信息以及HandlerMapping的配置找到处理请求的处理器
- DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装
- 处理器完成业务逻辑处理后返回一个ModelAndView给DispatcherServlet,ModelAndView包含视图逻辑名和模型数据信息
- DispatcherServlet借由ViewResolver完成逻辑视图名到真实视图对象的解析工作
- 得到真实的视图View对象,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染
2. 快速搭建SpringMVC开发环境
- 导入SpringMVC相关的jar包
- 在web.xml文件中配置SpringMVC的核心控制器,DispatcherServlet
<?xml version="1.0" encoding="UTF-8"?>springmvcindex.htmlindex.htmindex.jspdefault.htmldefault.htmdefault.jspspmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:com/zlt/spmvc/config/springmvc-web.xml1spmvc*.do
注意上述代码有几个关键点:
(1)DispatcherServlet虽然是SpringMVC框架中核心控制器,但是它在web.xml还是需要来进行配置
(2)DispatcherServlet需要在web容器启动的时候加载基于SpringMVC的配置文件,所以这里还需添加来指出SpringMVC配置文件的路径
- 创建一个SpringMVC的配置文件,此配置文件主要添加SpringMVC框架所持有的功能。如:视图解析,拦截器,模型驱动等相关功能。单从这一节内容我们只配置一个解析JSP的视图解析器InternalResourceViewResolver
<?xml version="1.0" encoding="UTF-8"?>
- 最后创建控制器来测试SpringMVC框架是否可以运行
package com.zlt.spmvc.controller;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import com.zlt.spmvc.entity.Student;/** * SpringMVC的控制器(业务控制器) * 定义的方法就是一个请求处理的方法 * @author caleb * */@Controllerpublic class TestController { /** * @RequestMapping主要是定义用户的url请求 * @RequestMapping("/m01"), http://localhost:8080/springmvc/m01.do * 返回指就是一个逻辑视图名, 它遵循springmvc-web.xml视图解析器去寻找物理视图名(m01.jsp) * @return */ @RequestMapping("/m01") public String m01() { return "m01"; } }
本文原创:知了堂Java培训讲师-子墨,欢迎转载,请务必注明出处
原文链接:Spring MVC入门