Spring-web源码解析之HttpRequestHandler

简介: Spring-HttpRequestHandler基于4.1.7.RELEASEHttpRequestHandler用于处理Http requests,其类似于一个简单的Servlet,只有一个handlerRequest方法,其处理逻辑随子类的实现不同而不同。

Spring-HttpRequestHandler

基于4.1.7.RELEASE

HttpRequestHandler用于处理Http requests,其类似于一个简单的Servlet,只有一个handlerRequest方法,其处理逻辑随子类的实现不同而不同。

其实现类有

DefaultServletHttpRequestHandler

public class DefaultServletHttpRequestHandler implements HttpRequestHandler, ServletContextAware 

由于其实现了ServletContextAware,所以会被Spring的容器通知它所使用ServletContext,具体通知的时机是在设置完bean的属性之后init回调之前,

它的调用次序是在ApplicationContextAware之后的。次序如下图



而在本类中,setServletContext的主要作用是,如果当前的defaultServletName没有设置,则根据ServletContext中的DispatcherName来决定当前的defaultServletName。而这个defaultServletName是做什么用的呢?看下面这段注释

/**
 * Set the name of the default Servlet to be forwarded to for static resource requests.
 */
public void setDefaultServletName(String defaultServletName) {
   this.defaultServletName = defaultServletName;
}

设置静态资源转发的默认Servlet的name。

@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

   RequestDispatcher rd = this.servletContext.getNamedDispatcher(this.defaultServletName);
   rd.forward(request, response);
}

将请求转发到默认的dispatcher中去,该dispatcher可能为多种形式的Servlet,在tomcat上则是默认为名字“default”的Servlet。


目录
相关文章
|
2天前
|
canal 缓存 关系型数据库
Spring Boot整合canal实现数据一致性解决方案解析-部署+实战
Spring Boot整合canal实现数据一致性解决方案解析-部署+实战
|
2天前
|
XML 人工智能 Java
Spring Bean名称生成规则(含源码解析、自定义Spring Bean名称方式)
Spring Bean名称生成规则(含源码解析、自定义Spring Bean名称方式)
|
9天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
10天前
yolo-world 源码解析(六)(2)
yolo-world 源码解析(六)
21 0
|
10天前
yolo-world 源码解析(六)(1)
yolo-world 源码解析(六)
14 0
|
11天前
yolo-world 源码解析(五)(4)
yolo-world 源码解析(五)
22 0
|
11天前
yolo-world 源码解析(五)(1)
yolo-world 源码解析(五)
32 0
|
11天前
yolo-world 源码解析(二)(2)
yolo-world 源码解析(二)
22 0
|
11天前
Marker 源码解析(二)(3)
Marker 源码解析(二)
16 0

推荐镜像

更多