SpringMVC基础
SpringMVC 顾名思义就是Spring对MVC架构的一种实现,属于轻量级的WEB框架。
它通过一个简单的注解就可以让一个普通的Java类成为控制器,这种低侵入性的设计使得他备受业界欢迎
同时他还支持RestFul风格的编程风格。
SpringMVC:
就是Spring提供的mvc框架,Spring对web层进行封装的产物
Controller: 控制器,控制器本质上是一个java类,java类中提供了一些方法
这些方法用来接收来自浏览器的请求,我们给这些方法起个名称叫做---处理器
使用SpringMVC框架后,我们使用一个简单的注解,就可以将一个方法变成SpringMVC的处理器
Model: SpringMVC提供获取请求参数的API,不再需要我们自己获取请求携带的数据了
View: SpringMVC封装请求转发,重定向,异步响应相关的代码,我们只需要返回指定的字符串,SpringMVC就好帮我们生成执行的视图
入门案例执行过程
1. 浏览器发出请求 http://localhost/hello
2. Tomcat接收请求,经过请求解析封装出Request和Response对象,然后转交给我们的应用程序
3. 因此我们配置的DispatcherServlet会拦截到请求的路径
4. DispatcherServlet经过一番分析处理,会将请求转发到我们定义的Controller上(@RequestMapping("/hello"))
5. Controller经过处理,给出了一个返回路径
6. DispatcherServlet拿到这个路径会找到对应的JSP进行视图渲染。
SpringMVC加载流程
1.服务器启动后只会加载一个配置文件--web项目的核心配置文件(web.xml)
2.实例化并初始化前端控制
3.解析SpringMVC的核心配置文件,并创建对应的对象
4.HandlerMapping(处理器映射器)被创建,解析@RequestMapping注解,并建立路径与类之间的对应关系(映射关系) /hello com.village.web.HelloController.hello()
5.ViewResolver视图解析器,被创建. 得到对应的视图的前后缀
6.加载配置文件中<mvc:annotation-driven/>,将SpringMVC需要依赖的对象构建
SpringMVC执行流程:
1.浏览器发起请求
2.前端控制器(DispatcherServlet)接收请求
3.前端控制器调用处理器映射器,找到对应的方法
4.前端控制器调用处理器适配器找到对应的类. 使用反射技术让方法执行
5.方法执行,将返回结果交个前端控制器
6.前端控制器调用实体解析器,返回指定的页面