<b>阅读目录</b>
<a href="http://www.cnblogs.com/java-class/p/5072023.html#_label0">1. webwork 与 xwork</a>
<a href="http://www.cnblogs.com/java-class/p/5072023.html#_label1">2.webwork配置</a>
<a href="http://www.cnblogs.com/java-class/p/5072023.html#_label2">3.核心类 servletdispatcher 和 它的初始化</a>
搭建环境需要的的jar 为:webwork-core-1.0.jar,xwork-1.0.jar,搭建webwork 需要xwork 的jar呢?原因是这样的,webwork2 被构建在xwork之上,以xwork为基础。通过使用xwork的命令模式框架和拦截器框架,提供了一个支持web功能、能快速构建web应用的命令模式框架。而xwork是一个标准的command模式实现,并且完全从web层脱离出来。xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证、ioc容器、类型转换、强大的表达式语言ognl等......
一切web项目开始的地方,都是web.xml。web.xml 具体都能干什么,都能配置什么,根据需求自己配置了,俺这里就不多说了。下面的webwork框架在在我的项目 web.xml 里面配置项。


终于转的正题了。介绍下webwork 最核心调度类 com.opensymphony.webwork.dispatcher.servletdispatcher.
a. servletdispatcher是默认的处理web http请求的调度器,它是一个javaservlet,是webwork框架的控制器。
b. 所有对action调用的请求都将通过这个servletdispatcher调度。
c. servletdispatcher接受客户端的http请求,将javaservlet的很多相关对象进行包装。
再传给我们的xwork框架由我们的xwork框架去解析 xwork.xml 配置文件。
根据配置文件的信息,创建对应的action,组装并调用相应的拦截器,执行action,返回执行结果。


上面是核心类 servletdispatcher 的初始化方法,init()只有在使用框架第一次调用action时被使用,框架类 只初始化一次,来具体看看它都做了点什么?
a. 检查是否支持配置文件重新载入功能。如果webwork.configuration.xml.reload(见webwork.properties文件)设置为true,每个request请求都将重新装载xwork.xml配置文件(说是这样说,亲测没什么卵用)
在开发环境使用将会非常方便,但在生产环境必需设置为false;
b. 设置一些文件上传的信息,比如:上传临时目录,上传的最大字节等。都设置在webwork.properties文件里,如果在classpath中找不到这个属性文件,它会去读取默认的default.properties;
c. 设置编码方式、语言环境;
d. 针对weblogic应用服务器做了相应的优化设置。
e. 告诉servlet 上下文,我webwork 已经产生了。
差不多,先总结到这里吧。还有许多不明朗的地方需要在多研究研究,本文中如有不正确的地方还请各位看客老爷们斧正。
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】
如果,您对我的博客内容感兴趣,请继续关注我的后续博客,我是【orson】
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段 声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载:http://www.cnblogs.com/java-class/p/5072023.html