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方法返回值

  1. 返回ModelAndView:对象中可添加model数据、指定view
  2. 返回字符串:返回view的逻辑视图名称。
  3. 返回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总结的主要内容,如果未能解决你的问题,请参考以下文章

RESTful 的学习总结

springMVC日记

什么是Spring?

spring的介绍

英语动词可分为多少种时态的形式

worth的用法总结