什么是SpringMVC
SpringMVC是Spring提供的一个灵活且强大的Web框架,总的来说就是简化了传统的纯Servlet的开发
SpringMVC组成部分
- DispatcherServlet
- 处理器映射
- 处理器(控制器)
- 视图解析器
- 视图处理器
最重要的两个部分就是处理器映射和视图解析器它们分别决定着选择使用哪个控制器来处理请求 以及选择结果应该如何渲染
浅尝SpringMVC
-
依赖包
使用Idea创建SpringMVC项目更方便
创建入口 -
主要配置解析
非注解
控制器映射器
映射器分两种
第一种
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
功能:根据Url的名字来中寻找控制器的
第二种
org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
功能:允许多个请求来访问到控制器
注意,以上两中映射器可以同时共存
处理器适配器
处理器适配器分两种
第一种
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter
功能:适配合适的控制器
使用这种适配器必须要让控制器实现Controller接口
第二种
org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter
功能:适配合适的控制器
使用这种适配器必须要让控制器实现HttpReqeustHandler接口
注解
控制器映射器
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
适配器
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
添加上面两个配置后控制器的写法要发生改变
@Controller:注明这是一个控制器
@RequestMapping:映射指定的URL到该方法上
测试
更简单的用法:
修改配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.jyg.controller"></context:component-scan>
<mvc:annotation-driven></mvc:annotation-driven>
</beans>
context:component-scan:组件扫描,扫描指定路径下的所有bean,如果当中有加了类似@Controler的表明是Spring的组件的bean就会被装载到spring容器中
mvc:annotation-driven:代替映射器和适配器的配置,默认绑定了更多的参数绑定的方法,如JSON转换解析器