SpringMVC
SpringMVC是Spring的一个模块,封装了大部分Servlet开发的重复逻辑,简化了Web层的开发
优势
-
提供一个DispatcherServlet——无需额外开发Servlet。
- 封装为请求切换上下文的代码
- 支持国际化和本地化,支持根据用户区域显示多国语言——DispatcherServlet中会根据请求的LocaleContext(区域上下文)设置响应LocaleContext
- 自动绑定用户输入,并正确的转换数据类型
- 返回值自动填装到响应中
- 支持多种视图技术
-
基于xml配置文件——修改无需重新编译应用程序。
-
有spring支持——便于构造bean.
-
springMVC可以检验用户输入,若校验不通过,则重定向回输入表单。输入校验是可选的, 支持编码方式以
及声明。关于这一点,springMVC内置了常见的校验器。
响应流程
SpringMVC响应流程-
Servlet容器(Tomcat)将请求(ServletRequest)传递给前置控制器(本质是Servlet),并调用其service方法
通常通过配置 *.do 之类的映射使Tomcat将所有符合映射的请求分发给前置控制器
-
前置控制器—请求—>Handler映射器,处理器映射器生成Handler执行链
Handler映射器通过url找到对应的拦截器和Handler,封装成链返回
-
Handler映射器—Handler执行链—>前置控制器
-
前置控制器—请求与Handler执行链—>Handler适配器,适配器调用执行链生成ModelAndView
-
Handler适配器—ModelAndView—>前置控制器
-
前置控制器—ModelAndView—>视图解析器,视图解析器根据ModelAndView渲染视图,生成具体View
-
视图解析器—具体View—>前置控制器,前置控制器根据具体View填充响应
-
前置控制器—响应(ServletResponse)—>Servlet容器
网友评论