WebWork配置与应用示例
创始人
2024-04-13 18:01:15
0

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目录中,且应有如下配置:

  1. < !DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"   
  2. "http://www.opensymphony.com/xwork/xwork-1.0.dtd">  
  3. < xwork>  
  4. < include file="webwork-default.xml" />  
  5. < package name="example" extends="webwork-default"
  6.  namespace="/webwork/example">  
  7. < action name="hello" class="com.eva.webwork.example.HelloWorldAction">  
  8. < result name="success" type="dispatcher">  
  9. < param name="location">/greetings.jsp< /param>  
  10. < /result>  
  11. < /action>  
  12. < /package>  
  13. < /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文件中,如下:

  1. xwork.xml  
  2. < !DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"   
  3. "http://www.opensymphony.com/xwork/xwork-1.0.dtd">  
  4. < xwork>  
  5. < !-- Include webwork defaults (from WebWork JAR). -->  
  6. < include file="webwork-default.xml" />  
  7. < include file="suww-default.xml" />  
  8. < include file="common.toolbar.xml" />  
  9. < include file="dbconfig.xml" />  
  10. < include file="hjcm.entry.xml" />   
  11. < include file="hjcm.contract.xml" />  
  12. < include file="hjcm.none_contract.xml" />  
  13. < include file="hjcm.settlement.xml" />  
  14. < include file="hjcm.expert.xml" />  
  15. < /xwork>  
  16. hcjm.contract.xml  
  17. < !DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"   
  18. "http://www.opensymphony.com/xwork/xwork-1.0.dtd">  
  19. < xwork>  
  20. < package name="contract" extends="webwork-default"   
  21. namespace="/hjcm/contract">  
  22. < action name="getList" class="com.supporter.prj.hjcm.  
  23. contract.ContractListAction">  
  24. < result name="success" type="dispatcher">  
  25. < param name="location">/hjcm/contract/contract_list.jsp< /param>  
  26. < /result>  
  27. < interceptor-ref name="params"/>  
  28. < /action>  
  29. < action name="edit" class="com.supporter.prj.hjcm.contract.ContractAction"   
  30. method="edit">  
  31. < result name="success" type="dispatcher">  
  32. < param name="location">/hjcm/contract/contract_detail.jsp< /param>  
  33. < /result>  
  34. < /action>  
  35. …… …… ……  
  36. < /package>  
  37. < /xwork> 

一定不要忘记建立web.xml时要有如下WebWork配置:

 

  1. < ?xml version="1.0" encoding="UTF-8"?>  
  2. < !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application   
  3. 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
  4. < web-app>  
  5. < display-name>My WebWork Application< /display-name>  
  6. < servlet>  
  7. < servlet-name>webwork< /servlet-name>  
  8. < servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher  
  9. < /servlet-class>  
  10. < load-on-startup>1< /load-on-startup>  
  11. < /servlet>  
  12. < servlet-mapping>  
  13. < servlet-name>webwork< /servlet-name>  
  14. < url-pattern>*.action< /url-pattern>  
  15. < /servlet-mapping>  
  16. < taglib>  
  17. < taglib-uri>webwork< /taglib-uri>  
  18. < taglib-location>/WEB-INF/webwork.tld< /taglib-location>  
  19. < /taglib>  
  20. < taglib>  
  21. < taglib-uri>benchmark< /taglib-uri>  
  22. < taglib-location>/WEB-INF/taglibs-benchmark.tld< /taglib-location>  
  23. < /taglib>  
  24. < taglib>  
  25. < taglib-uri>c< /taglib-uri>  
  26. < taglib-location>/WEB-INF/c.tld< /taglib-location>  
  27. < /taglib>  
  28. < /web-app> 

将WebWork配置得Web.xml文件应直接放于WEB-INF目录下

【编辑推荐】

  1. WebWork中返回INPUT的原因
  2. WebWork如何实现文件上传配置过程
  3. WebWork下载的实现
  4. 通过WebWork实现HelloWorld
  5. WebWork的执行流程

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...