什么是SpringMVC:
**Spring**是java的开源框架,SpringFramework的一个独立模块
**MVC** 是项目开发过程中的层次框架,分别为Model、View和Controller层
Model:模型:业务模型,主要负责业务中的数据获取和处理,对应Dao和Service层
VIew:视图,数据展示和渲染,对应jsp层
Controller:控制器,直接对应请求,控制整个项目的流程和跳转
好处:
低耦合高内聚
流程
-
新建Web项目
导入jar包: -
在web.xml中配置中央处理器(DispatcherServlet)
在整个项目运行的过程中,需要获取请求,DispacherServl首先起到拦截请求的作用,之后还会负责整个SpringMVC的任务调度,负责分发任务
-
配置后端控制器
新建一个类,作用等价于Servlt
-通过注解@Controller声明这是个注解
-通过注解@RequestMapping设置访问路径
-
配置文件(springMVC-config.xml)
-告诉springMVC在哪个位置存在被注解的类,并扫描注解类
-注册 注解开发驱动
-配置视图解析器:作用 1:获取后端控制器返回的结果
2:对返回值进行解析,在返回值前后添加相关字段
页面跳转
1. return值是一个字符串时,视图解析器会将字符串拼接成一个访问jsp的路径
2. redirect:重定向,填写一个真是的路径名,springMVC会为我们补全项目名
3. forward:转发,真是路径
接收参数
1. 散装参数:直接在方法写,springMVC为根据字段名自动帮我们映射
2. JavaBean:直接映射到javaBean的成员变量上
3. 数组
4. 集合
返回参数
放到域中
1. HttpServletRequest
直接调用setAttribute()方法,将数据放入request域中
2. Model
3. ModelAndView
调用addObject()方法,将数据放入ModelAndView中
调用setViewName()方法,设置跳转路径(视图解析器会自动拼接路径)
4. Map
返回json
1. 使用原生的Jackson(springMVC默认使用)
-导入jar包
-在方法上加上@ResponseBody注解,springMVC会自动转换
2. 使用fastjson
-导入jar包
-在后端控制器配置文件中配置fastjson转换器
-在方法上加上@ResponseBody注解
访问静态资源
1. 在DispatcherServlet中使用其他的url-pattern
2. 在DispatcherServlet中还是使用/作为过滤条件,在后端控制器中追加一个配置
3. 在后端控制器上增加配置 mapping是访问路径 location是静态资源存放路径