Springmvc是什么
Springmvc(spring web mvc)是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发的。
Springmvc能做做什么
- 能很easy的设计出干净的Web层和薄薄的Web层
- 进行更简洁的Web层的开发
- 能与Spring框架非常好的集成(如IoC容器、AOP等)
- 提供强大的约定大于配置的契约式编程支持
- 能简单的进行Web层的单元測试
- 支持灵活的URL到页面控制器的映射
- 很easy与其它视图技术集成,如Velocity、FreeMarker等等
- 提供一套强大的JSP标签库,简化JSP开发
- 支持灵活的本地化、主题等解析
- 更加简单的异常处理
- 对静态资源的支持
- 支持Restful风格
跟踪Springmvc请求
详细运行过程例如以下:
1、用户发出一个http请求给webserver,webserver对http请求进行解析,假设匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet。
1、用户发出一个http请求给webserver,webserver对http请求进行解析,假设匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet。
2、DipatcherServlet接收到这个请求之后将依据请求的信息(包含URL、Http方法、请求报文头和请求參数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。
3-4、DispatcherServlet依据HandlerMapping找到相应的Handler,将处理权交给Handler(Handler将详细的处理进行封装)。再由详细的HandlerAdapter对Handler进行详细的调用。
5、Handler对数据处理完毕以后将返回一个ModelAndView()对象给DispatcherServlet。
6、Handler返回的ModelAndView()仅仅是一个逻辑视图并非一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
7、DispatcherServlet通过model解析出ModelAndView()中的參数进行解析返回view并返回给用户。