1.ssm配置前端控制器

导包

**

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的配置文件

  1. 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.拿到页面地址,前端控制器帮我们转发到页面。


版权声明:本文为weixin_42561980原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。