快速上手保姆级
1.SpringMVC和JavaEE比较
SpringMVC请求首先到DispatcherServlet这里,然后进行统一的分发。
2.SpringMVC的核心流程
请求首先到DispatcherServlet这里,通过HandlerMapping建立请求url和Handler之间的映射管理,在请求到达Handler之前通过HandlerAdapter做一些适配性的工作(必须请求参数的类型适配)
3.入门案例
3.1引入对应的依赖
pom文件
3.2配置DispatcherServlet
配置webapp/WEB-INF/web.xml
通过DispatcherServlet初始化WebApplicationContext(Spring容器),需要提供contextConfigLocation的值,提供xml配置文件的位置。
3.3配置文件
此项配置只试用此案例,写在application.xml下
3.4controller组件
Hellocontroller实现了Controller接口
4.入门案例2
请求url和方法建立映射关系
方法:Handler组件中的方法(HandlerMethod handler方法)
RequestMappingHandlerMapping 通过@RequestMapping注解建立映射
RequestMappingHandlerAdapter
需要在application.xml 写入 <mvc:annotation-driven/>
5.Handler方法
5.1@RequestMapping
5.1.1url路径映射
建立请求url和handler方法之间的映射关系
5.1.1.1将多个请求url映射到一个handler方法上
5.1.2窄化请求
/user/login
/user/register
/user/logout
方法上的@RequestMapping注解的value属性值,最左边的”/”可以省略,SpringMVC会帮我们拼接
5.1.3请求方法限定
限定HandlerMethod映射的请求url对应的请求方法
5.1.3.1代码
5.1.3.2限定Get
利用下图软件来模拟get、post请求
5.2.引申注解
利用@GetMapping、@PostMapping注解可以更方便。
其实就是限定了请求方法的RequestMapping
5.2.1请求参数限定(400)
限定请求的参数有哪一些
localhost:8080/login?username=jingtian&password=niupi 请求参数:username和password
5.2.2请求头限定RequestHeader
5.2.2.1特定的请求头的值
produces Accept
5.2Handler方法的返回值
有ModelAndView、string等
5.2.1String
返回值字符串作为ViewName
5.2.2请求转发和重定向
返回值为字符串
转发forward和重定向redirect的是请求
5.2.2.1相对路径
不写/是相对路径,想要访问的url就会发生改变
可能就访问不到。
5.2.3Json
返回值就可以直接写Object
json工具类会自动将Object转换为字符串 Jackson
5.2.3.1引入依赖