*笔者白白萌新一枚,旨在了解和记录所遇到的知识,如有问题错误欢迎指出改正*
首先什么是webwork:
1、WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架(可以说是众多web框架的老前辈之一了)
2、目前的WebWork已经被拆分成了Xwork1和WebWork2两个部分
webwork处理流程:
既然webwork为web框架的先行者,并在当时占据一席之地肯定有过人之处
而其中有以下几个自认为是webwork的标志性核心功能概念:
1、Action类:
在webwork中一般Action的类需要实现Action接口,或者直接继承基础类ActionSupport,他们会其中一般而言,一个action对应着一次请求,
它们会实现默认的execute方法,并返回一个字符串结果Result
2、Results:
Action类的返回值或者说是一个结果页面的定义。其中Result Type表示如何以及用哪种视图技术展现结果。(WebWork支持多种视图技术 jsp、FreeMark等)
3、拦截器(interceptor)
实现Interceptor接口的拦截器,代码部分在intercept方法中实现。
实际上一个拦截器就是在xwork.xml文件中定义的一个无状态Java类
它至少要实现XWork的**com.opensymphony.xwork.interceptor.Intercepto**r接口
**补充:**:
有无状态指的是是否有数据存储功能。
有状态的类,就是类有实例变量的对象 ,可以保存数据,
因此也是非线程安全的。在不同方法调用间不保留任何状态。
而无状态的类对象就是一次性操作,不能保存数据。
因为其没有实例变量的对象 .不能保存数据,是不变类也是线程安全的。
在intercept方法中,可以直接返回一个Result字符串,这样整个执行直接“短路”(很少使用)
所以,一般都会在这个方法里调用参数对象invocation的invoke方法,并返回这个方法执行的结果。这样会持续执行后面的拦截器方法以及Action的execute方法等。
4、xwork配置文件
改类文件的作用:
xwork.xml是webwork的核心配置文件的所在,与web.xml类似在web服务器启动的时候调用
*补充:
web服务器启动的时候会调用的一个配置文件,
我们通过在配置文件告诉web服务器,在启动的时候,
还需要加载启动哪些东西*
其主要的功能是在遇到某个的请求时,将其分配到哪个指定的类下去处理
,并对处理结果的页面也在此处进行分配
例:
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN"
"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">
<xwork>
<!-- default文件是webwork提供的,
它描述了webwork在工作过程中用到的各个Servlet的返回值类型、
各拦截器的名称及其相对应的类 -->
<include file = "webwork-default.xml" />
<!