![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Struts2 系列
junnior222
hello wold
展开
-
Struts2 --拦截器&工作流程概述
记得一次面试当面试官问起我有关struts2是如何把参数直接封装到action 的属性当中的。在那一秒我竟然想不起struts到底是如果做到的,只知道它做到了。很多时候我们在写代码,只是在为了功能而去写,去用到一些工具,然后按照配置,按照套路,一步一步的去走,可以实现,有时候可能大概的知道可能是如何如何实现的。却很少去真正的弄清楚。 当面试完了,突然我想起来,struts 2之所以可以有那么神...原创 2010-10-24 01:00:07 · 241 阅读 · 0 评论 -
Struts2 -- ActionProxy&ActionInvocation
下面开始讲一下主菜ActionProxy了.在这之前最好先去了解一下动态Proxy的基本知识.ActionProxy是Action的一个代理类,也就是说Action的调用是通过ActionProxy实现的,其实就是调用了ActionProxy.execute()方法,而该方法又调用了ActionInvocation.invoke()方法。归根到底,最后调用的是DefaultActionInvo...原创 2010-10-26 16:11:58 · 128 阅读 · 0 评论 -
Struts2 --FilterDispatcher核心控制器
Dispatcher已经在之前讲过,这就好办了。FilterDispatcher是Struts2的核心控制器,首先看一下init()方法。Java代码 public void init(FilterConfig filterConfig) throws ServletException { try { this.filter...原创 2010-10-26 16:34:19 · 131 阅读 · 0 评论 -
Struts2--Dispatcher&ConfigurationProvider续
接下来第三步:init_LegacyStrutsProperties()调用的是调用的是LegacyPropertiesConfigurationProvider通过比较前面DefaultPropertiesProvider与调用的是LegacyPropertiesConfigurationProvider.发现DefaultPropertiesProvider继承自后者,但重写了regist...原创 2010-10-26 16:36:46 · 69 阅读 · 0 评论 -
Struts2--Dispatcher&ConfigurationProvider
首先强调一下struts2的线程程安全,在Struts2中大量采用ThreadLocal线程局部变量的方法来保证线程的安全,像Dispatcher等都是通过ThreadLocal来保存变量值,使得每个线程都有自己独立的实例变量,互不相干. 接下来就从Dispatcher开始看起,先看其构造函数:Java代码 //创建Dispatcher,此类是一个Delegat...原创 2010-10-26 16:39:57 · 88 阅读 · 0 评论 -
Struts2--ActionContext及CleanUP Filter
1. ActionContext ActionContext是被存放在当前线程中的,获取ActionContext也是从ThreadLocal中获取的。所以在执行拦截器、 action和result的过程中,由于他们都是在一个线程中按照顺序执行的,所以可以可以在任意时候在ThreadLocal中获取 ActionContext。ActionContext包括了很多信息,比如Sessio...原创 2010-10-26 16:41:07 · 92 阅读 · 0 评论