复习总结
代码地址
https://github.com/huyang1981115225/springmvc-1.git
day02-----------------SpringMVC
1、SpringMVC简介
1. Spring为展现层提供的基于MVC设计理念的优秀的WEB框架,是目前最主流的MVC框架之一。
2. 支持REST风格的url请求
3. 采用松散耦合的组件结构,比其他MVC框架更具扩展性
1.1 配置Web.xml
1.2 配置SpringMVC.xml
使用@RequestMapping映射请求,DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求对应的处理方法。
2、SpringMVC的相关术语
2.1 @RequestMapping
2.2 method
2.3 params 和 headers
2.4 支持ant路径
2.5 @PathVariable
2.6 Rest 风格的 URL
2.7 @RequestParam
2.8 @RequestHeader
2.9 @CookieValue
2.10 POJO(简单Java对象)
2.11 Serlvet 原生的 API
2.12 ModelAndView
2.13 Map
2.14 @SessionAttributes
2.15 @ModelAttribute
2.16 配置直接转发的页面
2.17 重定向和转发
2.18 SpringMVC处理静态资源
3、拦截器
package com.atguigu.springmvc.interceptors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class FirstInterceptor implements HandlerInterceptor{
/**
* 该方法在目标方法之前被调用.
* 若返回值为 true, 则继续调用后续的拦截器和目标方法.
* 若返回值为 false, 则不会再调用后续的拦截器和目标方法.
*
* 可以考虑做权限. 日志, 事务等.
*/
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("[FirstInterceptor] preHandle");
return true;
}
/**
* 调用目标方法之后, 但渲染视图之前.
* 可以对请求域中的属性或视图做出修改.
*/
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("[FirstInterceptor] postHandle");
}
/**
* 渲染视图之后被调用. 释放资源
*/
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("[FirstInterceptor] afterCompletion");
}
}
4、SpringMVC异常处理