导包
**
Springmvc是spring的web模块;
所有模块的运行都是依赖核心模块(Ioc模块)

ioc模块需要用的包:
前端控制器的配置
Springmvc有个独特的思想:多了前端控制器,拦截请求。
前端控制器看这个请求谁能处理,就把这个请求转发到可以处理的控制器。
这个前端控制器是个servlet
应该在web.xml中配置这个servlet,并拦截所有请求。
服务器启动时,创建servlet对象,load on start up 值越小,优先级越高
init-param 初始化参数
contextConfigLocation :springmvc配置文件的位置
配置文件放在classpath(类路径下)
有servlet-mapping这个标签
servlet-name:指定哪个控制器拦截请求
url-patten:拦截所有请求

SpringMVC的配置文件
- context:compent-scan标签
扫描所有组件,带有注解的组件帮他注册在ioc容器
2.可以配置一个视图解析器,帮我们拼接页面地址。
been class=InternalResourceViewResolver
两个属性
property name=prefix前缀 页面前一串 /WEB-INF/pages/
property name=suffix后缀 .jsp
控制器类
@Controller注解:这个组件是控制器,加入到ioc容器中。
告诉springmvc ,控制器里这个方法来处理哪个请求呢?
用RequestMapping 就是请求映射

/表示 处理当前项目下的请求
这个控制器方法 实现跳转 就直接return到那个页面
为什么要加web-inf? return写的页面过于冗长。
运行流程
1.客户端点击连接,会发送http://localhost:8080/springmvc/hello请求
2.来到tomcat服务器
3. springmvc的前端控制器拦截所有请求
4. 看看哪个控制器可以处理这个请求
请求地址和哪个@RequestMapping注解匹配
到底使用哪个控制器的哪个方法
5.前端找到目标控制器和目标方法,springmvc利用反射执行目标方法
6.方法执行完成会有一个返回值:SpringMvc认为这个返回值就是要去的页面地址
7.拿到方法返回值后,用视图解析器,进行拼接完整的页面地址
8.拿到页面地址,前端控制器帮我们转发到页面。