首页
学习
活动
专区
工具
TVP
发布

互联网大杂烩

专栏作者
62
文章
50635
阅读量
14
订阅数
Spring MVC中servlet架构
控制反转,用一句话解释这个概念就是将对象的创建和获取提取到外部。由外部容器提供需要的组件。
用户2909867
2018-08-22
3870
Spring MVC组件
根据request找到相应的处理器Handler和Interceptors,HanddlerMaping接口只有一个方法,getHandler()
用户2909867
2018-08-22
3170
Spring MVC请求处理过程
重写了service,doGet,doPost,doPut,doDelete,doOptions,doTrance(除了doHead),在service方法中增加了对Patch类型请求的处理,其他类型的请求直接交给父类进行处理,doOptions和doTrance方法可以通过dispatchOptionsRequest和dispatchTraceRequest参数决定是自己处理还是交给父类处理;doGet,doPost和doDelete都是自己处理。所有需要自己处理的请求都交给processRequest方法进行统一处理。 processRequest方法是FrameworkServlet类在处理请求中最核心的方法。 核心语句是doService(rquest,response),这个方法在DispatchServlet中具体实现。在doService之前首先获取了LoalContextHolder和RequestContextHolder中原来保存的LocalContext和RequestAttributes并设置到previousLocaleContext和previousAttributes临时属性,然后调用buildLocaleContext和buildRequestAttributes方法获取到当前请求的LocaleContext和RequestAttributes,并通过initContextHolders方法将他们设置到LocaleContextHolder和Request-ContextHolder中,接着使用request拿到异步处理管理器并设置了拦截器,做完这些后执行doService方法,执行完后通过resetContextHolders方法将原来的previousLocaleContext和previousAttributes恢复到LocaleContextHolder和RequestContextHolder中,调用publicRequestHandleEvent方法发布了ServletRequestHandledEvent类型的消息。
用户2909867
2018-08-22
6460
Spring MVC框架
前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类)。
用户2909867
2018-08-22
7350
Spring 事务传播特性
PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。 PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
用户2909867
2018-08-22
2940
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档