Spring MVC的hello word细节详解

上篇博客,写了个Spring MVC的入门级的hello word练习,这里对里边的细节进行一些介绍

一、Spring MVC的运行流程

  • 1、客户端点击链接会发送 http://localhost:8080/hello 请求
  • 2、请求来到 tomcat服务器
  • 3、SpringMVC的前端控制器收到所有的请求
  • 4、tomcat看请求地址和@RequestMapping标注的哪个地址匹配,来找到到底使用哪个处理器和方法
  • 5、前端控制器找到了目标处理器类和目标方法,直接利用返回执行目标方法
  • 6、方法执行完成以后会有一个返回值:SpringMVC认为这个返回值就是要去的页面
  • 7、拿到方法返回值以后,用视图解析器进行拼串的到完整的页面地址
  • 8、拿到地址页面地址,前端控制器帮我们转发到页面;

二、RequestMapping注解

@RequestMapping就是告诉SpringMVC,这个方法用来处理什么请求的,对于里面写的请求,/ 可以省略,及时省略了,也是默认从当前项目下开始,习惯上还是加上比较好 /hello

三、前端控制器在配置时没有指定配置文件会怎么样?

如果,在配置前端控制器的时候,没有制定配置文件的地址,则默认去 /WEB-INF下去找 前端控制器名-servlet.xml 文件,如果找不到就会报错。
比如下边的配置,没有指定配置文件的地址,则会默认在 /WEB-INF下找 springDispatcherServlet-servlet.xml 文件

<servlet>
		<servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

4、/ 和 /* 的区别

  • 处理*.jsp是tomcat做的事:所有的项目的web.xml都是继承与tomcat的web.xml
  • DefaultServlet是Tomcat中处理静态资源的,除了jsp和servlet之外剩下的都是静态资源;
  • 例如:一个html页面,属于静态资源,tomcat就会在服务器下找到这个资源并返回。而我们的前端控制器相当于重写了tomcat的DefaultServlet,服务器大的web.xml中的DefaultServlet的url-pattern=/,我们的前端控制器也是url-pattern=/,静态资源会来到前端控制器(DispatcherServlet)看哪个方法的RequestMapping跟请求匹配,而不是tonmcat去找。实际上,我们并不能解析静态资源,至于怎么解决,这个以后的博客中会更新。
  • jsp能够访问,是因为我们没有覆盖服务器的JspServlet的配置
  • /*直接拦截所有的请求;

以上就是对hello word 中一些细节的介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值