1,什么是SpringMVC?SpringMVC常用的组件有哪些?
SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,由于是Spring的后续产品,它有一个天然的优势就是天生就和Spring框架集成。
SpringMVC中最核心的组件就是DispatcherServlet(前端控制器);除此之外还有三大组件:HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、ViewResolver(视图解析器)。
2,SpringMVC的工作流程?
(1)用户发送请求至DispatcherServlet(前端控制器);
(2)DispatcherServlet(前端控制器)收到请求后,调用HandlerMapping(处理器映射器),请求获取Handle(处理器);
(3)HandlerMapping(处理器映射器)根据请求url找到具体的处理器,生成处理器对象及处理器拦截器一并返回给DispatcherServlet(前端控制器);
(4)DispatcherServlet (前端控制器)调用 HandlerAdapter(处理器适配器);
(5)HandlerAdapter(处理器适配器) 经过适配调用Handler(处理器);
(6)Handler(处理器)执行完成返回ModelAndView;
(7)HandlerAdapter(处理器适配器)将Handler执行结果ModelAndView返回给DispatcherServlet(前端控制器);
(8)DispatcherServlet(前端控制器)将ModelAndView传给ViewResolver(视图解析器)进行解析;
(9)ViewResolver(视图解析器)解析后返回具体View;
(10)DispatcherServlet(前端控制器)对View进行渲染视图(即将模型数据填充至视图中)
(11)DispatcherServlet(前端控制器)响应用户。
3,SpringMVC中常用的注解及其作用
@Controller:用户控制层注解
@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestParam(value=“参数名”,required=true):是否传入指定参数,默认是true;若没传入就报错
4,SpringMVC怎么样设定重定向和转发的?
转发:在返回值前面加"forward:",例如"forward:list.action"
重定向:在返回值前面加"redirect:",例如"redirect:list.action"
5,如何解决POST请求中文乱码问题
POST:在web.xml文件中配置一个CharacterEncodingFilter过滤器,设置成utf-8
6,拦截器的使用
新建一个类实现HandlerInterceptor接口
在springmvc的核心配置文件中做出以下配置,path路径可根据实际情况做出修改