WebWork配置首先从 http://webwork.dev.java.net/servlets/ProjectDocumentList下载***的WebWork压缩包,并将其解压开来。打开解压目录,你将看到以下的文件和目录:
◆webwork-2.x.jar 当然就是WebWrok***发布的Jar包
◆webwork-example.war 是WebWrok自带的很有代表性的功能演示例子,掌握它是提高你的WebWork技术水平的捷径
◆webwork-migration.jar 提供快速将1.x版本移植到2.x版本所用的类文件
docs目录 WebWrok的使用文档,包括api文档、clover文档、单元测试(Junit)文档等
lib目录 WebWork在运行或编译时所用到的所有.jar包
src目录 源程序目录
当然,在具体开发使用介绍之前,搭建好运行环境是必备的。
首先从http://webwork.dev.java.net/servlets/ProjectDocumentList下载***的WebWork压缩包,在WebWork配置前将其解压开来。打开解压目录,你将看到以下的文件和目录:
webwork-2.x.jar 当然就是WebWrok***发布的Jar包
webwork-example.war 是WebWrok自带的很有代表性的功能演示例子,掌握它是提高你的WebWork技术水平的捷径
webwork-migration.jar 提供快速将1.x版本移植到2.x版本所用的类文件
docs目录 WebWrok的使用文档,包括api文档、clover文档、单元测试(Junit)文档等
lib目录 WebWork在运行或编译时所用到的所有.jar包src目录 源程序目录
Tomcat下一个完整webwork的HelloWolrd程序的目录结构:
◆webapp
◆eva(应用名称)
◆WEB-INF
◆src(class)
◆lib
Lib中的jar包来源于:
用WebWork当然要将它的运行时用到的Jar包放到Web容器可以找到的ClassPath中,将步骤1介绍的webwork-2.x.jar放到你部署目录下WEB-INF\lib目录里,同时将WebWrok解压目录lib\core下的所有.jar文件也拷贝到WEB-INF\lib目录,这些是运行WebWork必需要用到的jar包
附件:3.jpg(10K)
2. xwork.xml说明应放于class目录中,且应有如下配置:
- < !DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
- "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
- < xwork>
- < include file="webwork-default.xml" />
- < package name="example" extends="webwork-default"
- namespace="/webwork/example">
- < action name="hello" class="com.eva.webwork.example.HelloWorldAction">
- < result name="success" type="dispatcher">
- < param name="location">/greetings.jsp< /param>
- < /result>
- < /action>
- < /package>
- < /xwork>
一定要有< include file="webwork-default.xml" />句, webwork-default.xml文件在webwork2.1.7.jar包中.
3. webwork.properties文件
也应将webwork.properties文件和velocity.properties文件同时也放于src目录下.否则将出现找不到” "success" type="dispatcher"”定义的Exception. webwork.properties文件中注意应是如下内容:
webwork.locale=zh_CNwebwork.i18n.encoding=GBK
◆在生产环境中,应该设置为falsewebwork.configuration.xml.reload=false
webwork.multipart.saveDir=\tempwebwork.multipart.maxSize=12345
◆added the MockTag to the path of Tags that the TagDirective will search throughwebwork.velocity.tag.path = com.opensymphony.webwork.views.velocity.ui, org.displaytag.tags
webwork.xslt.nocache=false
webwork.ui.templateDir = template其中含义请参考”WebWork教程.doc”
.namespace是命名空间(包名),在xwork.xml中应该唯一.可将每个包的配置文件分别出来均以< include file="包名.xml" />形式包含在xwork.xml文件中.当通过web访问时,则应与命名空间为路径,如上段配置,是在eva这个应用下的,则web的根路径应是http://127.0.0.1:8080/eva/,当要访问hello.action时,访问地址应是:http://127.0.0.1:8080/webwork/example/hello.action,也就是说:web访问路径应该与xwork.xml配置文件中< package/>标签中”namespace”属性一致,一个xwork.xml中可以包含多个< package/>标签,但其中的package name=””的值应该是唯一的.
因此,在实际开发中建议将jsp页面与类文件对应存放.如,hjcm应用中合同管理模块的jsp页面都存放在[hjcm]web应用的根目录/hjcm/contract/XXXX.jsp,则相应处理合同的类文件,都建立在包名为hjcm.contract.XXXX.java,则在WEB-INF下可相应的建立hjcm.contract.xml文件,将本包内所用在的action配置在文件中,然后再将这个文件添加在总的xwork.xml文件中,如下:
- xwork.xml
- < !DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
- "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
- < xwork>
- < !-- Include webwork defaults (from WebWork JAR). -->
- < include file="webwork-default.xml" />
- < include file="suww-default.xml" />
- < include file="common.toolbar.xml" />
- < include file="dbconfig.xml" />
- < include file="hjcm.entry.xml" />
- < include file="hjcm.contract.xml" />
- < include file="hjcm.none_contract.xml" />
- < include file="hjcm.settlement.xml" />
- < include file="hjcm.expert.xml" />
- < /xwork>
- hcjm.contract.xml
- < !DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
- "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
- < xwork>
- < package name="contract" extends="webwork-default"
- namespace="/hjcm/contract">
- < action name="getList" class="com.supporter.prj.hjcm.
- contract.ContractListAction">
- < result name="success" type="dispatcher">
- < param name="location">/hjcm/contract/contract_list.jsp< /param>
- < /result>
- < interceptor-ref name="params"/>
- < /action>
- < action name="edit" class="com.supporter.prj.hjcm.contract.ContractAction"
- method="edit">
- < result name="success" type="dispatcher">
- < param name="location">/hjcm/contract/contract_detail.jsp< /param>
- < /result>
- < /action>
- …… …… ……
- < /package>
- < /xwork>
一定不要忘记建立web.xml时要有如下WebWork配置:
- < ?xml version="1.0" encoding="UTF-8"?>
- < !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
- 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
- < web-app>
- < display-name>My WebWork Application< /display-name>
- < servlet>
- < servlet-name>webwork< /servlet-name>
- < servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher
- < /servlet-class>
- < load-on-startup>1< /load-on-startup>
- < /servlet>
- < servlet-mapping>
- < servlet-name>webwork< /servlet-name>
- < url-pattern>*.action< /url-pattern>
- < /servlet-mapping>
- < taglib>
- < taglib-uri>webwork< /taglib-uri>
- < taglib-location>/WEB-INF/webwork.tld< /taglib-location>
- < /taglib>
- < taglib>
- < taglib-uri>benchmark< /taglib-uri>
- < taglib-location>/WEB-INF/taglibs-benchmark.tld< /taglib-location>
- < /taglib>
- < taglib>
- < taglib-uri>c< /taglib-uri>
- < taglib-location>/WEB-INF/c.tld< /taglib-location>
- < /taglib>
- < /web-app>
将WebWork配置得Web.xml文件应直接放于WEB-INF目录下
【编辑推荐】