ConfigurationManager部分
Wiki地址:http://wiki.opensymphony.com/display/XW/XWork+Configurations。
按文档所说,这是XWork配置的核心
这部分很复杂,比较担心自己看错了什么,所以这篇日志极有可能出现技术上的错误。
还是试着把自己读到的部分写出来,就算出错,如果有人愿意批的话就赚到了。
继续阅读
ConfigurationManager部分
Wiki地址:http://wiki.opensymphony.com/display/XW/XWork+Configurations。
按文档所说,这是XWork配置的核心
这部分很复杂,比较担心自己看错了什么,所以这篇日志极有可能出现技术上的错误。
还是试着把自己读到的部分写出来,就算出错,如果有人愿意批的话就赚到了。
继续阅读
OGNL部分(这篇日志有点太过简陋了。。。主要也是对这一块,其实知道是怎么回事就行了)
关于OGNL的介绍,百度百科说得还好:http://baike.baidu.com/view/1347280.htm?fr=ala0_1。
它的官网ognl.org不知何时起出问题了,OpenSympony上的介绍页面是http://wiki.opensymphony.com/display/OGNL/Home。
它的源代码不好下载,又要CVS,又要java.net的帐号,懒得装CVS了。
这个地址(http://download.chinaprj.cn/link.php?key=iiOEqBbB&url=http://dlwt.csdn.net/fd.php%3Fi%3D797115771248170%26s%3D48479e3af0f1f5195b7f641e0bd0fe16)可以下载到,忍受些弹出页面和背景音乐就可以。版本是2.6.9的(版本对不上。。也就只能拿来简单看看,没法联合起来调试、阅读)。
继续阅读
Interceptor是XWork引入的最有特色的实现,基于责任链模式给目标对象添加/修改所需信息。
责任链模式的定义是:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
做过Web项目的话,对责任链的第一反应基本会是web.xml里面配置的一些 javax.servlet.Filter。
XWork的interceptor和filter从完成的功能上看很像,它改进的地方是脱离的servlet API。
继续阅读
说是读XWork,其实现在主要是用Struts2做Web项目,连同Struts2的一些源代码也会读一下。
XWork是命令模式的一个实现,命令模式的定义是:将一个请求封装成一个对象,因此可以参数化多个客户的不同请求,将请求排队,记录请求日志,并且支持撤销操作。
读源代码,我习惯于从它暴露出来的地方入手,那就是它在普通Web项目里web.xml内配置的那个Filter开始。
继续阅读
题目1:三个线程A,B,C 按ABC的顺序打印10次ABC
在JavaEye上看到的,说是迅雷的面试题。
这是关于多线程之间同步的知识,坦率的说,这些都是还在学校里学操作系统时学的。现在已经忘了很多很多了。于是从网上找了些资料,再次学习之。
坛子上有多种解法,不过这题应该尽量别去用 java.util.concurrent 包里的类,直接用最简单的原语来实现比较符合面试的用意。
继续阅读