SpringMVC总结
Posted Lqc_javaEngineer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC总结相关的知识,希望对你有一定的参考价值。
大纲:
1.SpringMVC架构以及组件
2.参数绑定
3.高级参数绑定
4.@Requestmapping注解的使用
5.Controller方法返回值
6.SpringMVC中异常处理
7.图片上传处理
8.Json数据交互
9.SpringMVC实现Restfull
10.拦截器
1.SpringMVC架构以及组件
架构图见自己总结
1、 用户发送请求至前端控制器DispatcherServlet
2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回 给DispatcherServlet。
4、 DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
5、 执行处理器(Controller,也叫后端控制器)。
6、 Controller执行完成返回ModelAndView
7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、 ViewReslover解析后返回具体View
10、 DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
11、 DispatcherServlet响应用户
核心组件说明:
HandlerMapping:处理器映射器。
HandlAdapter:处理器适配器。
View Resolver:视图解析器。
说明:在springmvc的各个组件中,处理器映射器、处理器适配器、视图解析器称为springmvc的三大组件。需要用户开放的组件有handler、view。
配置文件需要配置springmvc.xml以及web.xml中配置前端控制器。
2.参数绑定
默认支持的参数类型:包括:HttpServletRequest、HttpServletResponse、HttpSession、Model四种
基本数据类型:推荐使用包装类型。
pojo类型:
自动以参数绑定:比如日期类型需要自定义转换器。
解决get和post乱码问题件文档。
3.高级参数绑定
a) 数组类型的参数绑定
b) List类型的绑定
在VO中添加数组或者集合即可。
public class QueryVo
//商品对象
private Items items;
//订单对象…
//用户对象….
//批量删除使用,使用数组
private Integer[] ids;
//批量删除使用,使用List
private List<Items> itemsList;
public List<Items> getItemsList()
return itemsList;
public void setItemsList(List<Items> itemsList)
this.itemsList = itemsList;
public Integer[] getIds()
return ids;
public void setIds(Integer[] ids)
this.ids = ids;
public Items getItems()
return items;
public void setItems(Items items)
this.items = items;
4.@Requestmapping注解的使用
在类上面添加此注解:窄化请求映射。相当于URl中多了一层目录。
5.Controller方法返回值
- 返回ModelAndView:对象中可添加model数据、指定view
- 返回字符串:返回view的逻辑视图名称。
- 返回void:
3.1、使用request转向页面,如下:
request.getRequestDispatcher(“页面路径”).forward(request, response);
3.2、也可以通过response页面重定向:
response.sendRedirect(“url”)
6.SpringMVC中异常处理:全局异常处理
7.图片上传处理
8.Json数据交互
@RequestBody:接收http请求的json数据,将json数据转换为java对象。
@ResponseBody:将controller方法返回对象转换为json响应给客户端。
注意:如果使用 则不用做其他的额外的配置。
9.SpringMVC实现Restfull
Restfull:Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格,是对http协议的诠释。要求url中不能有.action,没有动词,只有名词,没有?传参。
10.拦截器
多用于权限控制,比如登录。具体内容及配置见代码。
以上是关于SpringMVC总结的主要内容,如果未能解决你的问题,请参考以下文章