
spring
子沭
这个作者很懒,什么都没留下…
展开
-
Spring-web源码解析之HttpRequestHandler
Spring-HttpRequestHandler基于4.1.7.RELEASEHttpRequestHandler用于处理Http requests,其类似于一个简单的Servlet,只有一个handlerRequest方法,其处理逻辑随子类的实现不同而不同。其实现类有DefaultServletHttpRequestHandlerpublic class Default原创 2016-01-15 17:24:16 · 8523 阅读 · 0 评论 -
Spring-web源码解析之Filter-AbstractRequestLoggingFilter
基于4.1.7.RELEASEFilter处理request log的基类,提供了在filterChain.doFilter调用前后的回调函数,其实现类有CommonsRequestLoggingFilter,Log4jNestedDiagnosticContextFilter,ServletContextRequestLoggingFilter。其核心代码为doFilterInterna原创 2016-02-24 15:18:32 · 3642 阅读 · 0 评论 -
Spring-web源码解析之Filter-OncePerRequestFilter:
基于4.1.7.RELEASE我们先看一个filter-mapping的配置 encodingFilter /* REQUEST ASYNC这里指定了一个ASYNC的配置,表明过滤异步请求,这个ASYNC即是枚举类DispatcherType中的一个元素,在Servlet3.0中,如果一个请求是DispatcherType.ASYNC类型的,那么原创 2016-02-03 19:07:54 · 12533 阅读 · 2 评论 -
Spring-web源码解析之Filter-CharacterEncodingFilter
基于4.1.7.RELEASE在web.xml我们经常看见这么一段 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 这里注册了一个字符串编码的Filter,下面我们就来看看CharacterEncoding原创 2016-02-03 17:39:40 · 3440 阅读 · 1 评论 -
spring-web源码解析之AbstractMappingContentNegotiationStrategy
基于4.1.7.RELEASE该类是一个虚基类,ParameterContentNegotiationStrategy,PathExtensionContentNegotiationStrategy,ServletPathExtensionContentNegotiationStrategy都是从该类派生出来的,我们来看类的主要几个代码。@Overridepublic List reso原创 2016-01-29 16:43:14 · 872 阅读 · 0 评论 -
spring-web源码解析之MappingMediaTypeFileExtensionResolver
基于4.1.7.RELEASE该类实现了MediaTypeFileExtensionResolver接口,那么实现根据MediaType获取后缀名的方法是必不可少了,那么它跟ContentNegotiationManager有什么区别呢?可以下面几个方法protected List getAllMediaTypes() { return new ArrayList(this.medi原创 2016-01-29 16:31:07 · 1089 阅读 · 0 评论 -
spring-web源码解析之ContentNegotiationManager
基于4.1.7.RELEASE此类实现了两个接口,一个是 ContentNegotiationStrategy ,一个是 MediaTypeFileExtensionResolver ,由此它就可以完成两种功能1 根据request中的内容,解析出MediaType的List列表。2 根据MediaType,解析出对应的url后缀名。该类只有含ContentNegotiationS原创 2016-01-29 16:16:14 · 7529 阅读 · 0 评论 -
Spring-web源码解析之MediaTypeFileExtensionResolver
MediaTypeFileExtensionResolver基于4.1.7.RELEASEMediaType和路径扩展名解析策略的接口,例如将 .json 解析成 application/json 或者反向解析包含两个接口根据MediaType解析出对应的路径扩展名列表List resolveFileExtensions(MediaType mediaType);原创 2016-01-23 16:03:19 · 1075 阅读 · 0 评论 -
Spring-web源码解析之ContentNegotiationStrategy
基于4.1.7.RELEASErequest和mediatypes解析的策略类,其唯一的一个接口是List resolveMediaTypes(NativeWebRequest webRequest) throws HttpMediaTypeNotAcceptableException;该接口负责将给与的request解析出对应的MediaType来,其实现有以下几种F原创 2016-01-23 16:10:09 · 1709 阅读 · 0 评论 -
Spring-web源码解析之Initializer2-SpringServletContainerInitializer
基于4.1.7.RELEASEServletContainerInitializer前面都是Spring内部WebApplicationInitializer的实现,下面来看一个Servlet包中ServletContainerInitializer的实现。首先看类申明@HandlesTypes(WebApplicationInitializer.class)public原创 2016-01-07 18:21:29 · 2680 阅读 · 0 评论 -
Spring-webmvc源码解析之PathResourceResolver
基于4.1.7.RELEASE本类是resolver链的最后一个,所以不会对resolverchain做任何操作。private boolean isResourceUnderLocation(Resource resource, Resource location) throws IOException { if (!resource.getClass().equals(locat原创 2016-01-22 14:38:15 · 1015 阅读 · 0 评论 -
Spring-webmvc源码解析之ResourceHttpRequestHandler
基于4.1.7.RELEASE该类继承了WebContentGenerator,WebContentGenerator可以对response进行设置header,设置缓存时间等操作,并且提供了对request的method的检查功能。ResourceHttpRequestHandler 在xml文件中的配置方法当spring检测到这样的配置,启动时会在SimpleUrlHa原创 2016-01-15 18:20:54 · 11972 阅读 · 0 评论 -
Spring-web源码解析之ContextLoaderListener
该类作用:ContextLoaerListener作为启动时的监听器,用于开启和关闭Spring的根WebApplicationContext,该监听器在web.xml中应该放置于org.springframework.web.util.Log4jConfigListener 后面先看看它的父类和实现的接口 继承ContextLoader : 应用上下文初始化的实际执行者实现Ser原创 2015-12-29 15:00:00 · 1010 阅读 · 1 评论 -
Spring-web源码解析之ContextLoader
ContextLoader :应用root application context初始化的实际执行着,被ContextLoaderListener调用构造函数:public ContextLoader() {}根据servlet配置中的contextClass和contextConfigLocation来创建web application context,在其子类Context原创 2015-12-31 11:14:54 · 1401 阅读 · 0 评论 -
Spring-web源码解析之Initializer
基于4.1.7.RELEASESpring-WebApplicationInitializerAbstractContextLoaderInitializer / AbstractDispatcherServletInitializer / AbstractAnnotationConfigDispatcherServletInitializer后3个类都是实现了WebApplica原创 2016-01-06 19:48:40 · 1830 阅读 · 0 评论 -
Spring-web源码解析之Filter-HiddenHttpMethodFilter
基于4.1.7.RELEASE就如同它的名字,该类负责解析隐藏的HttpMethod,用了这个Filter之后,你可以在页面上POST时指定_method参数,该Filter会根据参数指定的值将Request包装成为指定的HttpMethod的request。需要注意的有两点1 必须是POST方式才进行处理2 可以通过设置methodParam来更改参数名字,默认为_method。原创 2016-02-24 15:22:17 · 1001 阅读 · 0 评论