ca960,债券etf,三十里铺分集剧情介绍
在spring中, contextloaderlistener只是辅助类,在web 容器启动的时候查找并创建webapplicationcontext对象,通过该对象进行加载spring的配置文件。而真正的逻辑实现其实是在dispatcherservlet中进行的,dispatcherservlet是实现servlet接口的实现类。
dispatcherservlet 在 web.xml 中的配置如下:
<servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern><!-- 如果写斜杠的话那就表示请求是否加后缀都可以 --> </servlet-mapping>
dispatcherservlet 源码解析
dispatcherservlet 的 init() 方法在 httpservletbean() 中实现的
init()
onrefresh() 方法
在初始化servletbean的时候,最终会调用 onrefresh() 方法,该方法主要是刷新spring在web功能实现中所必须使用的全局变量。
dispatchservlet的请求处理逻辑
servlet 接受到请求后,会调用service() 方法,然后service根据http响应的请求方法进行调用响应的逻辑处理。
从类结构中,可以看出springmvc 支持 get、post、put、delete、options、trace方法
从代码中,我们发现这几个方法交给 processrequest() 来进行处理请求。
processrequest()->doservice()->dodispatch()
通过跟踪代码,最终处理请求的核心代码在dodispatch()方法中。
dodispatch() 方法
processdispatchresult() 方法
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论