赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

JAVA基础:webwork的基本配置与应用示例

发布时间:2008.01.30 04:50     来源:赛迪网    作者:luckEva

前提资源下载: webwork-2.1.7.

首先从https://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目录 源程序目录


当然,在具体开发使用介绍之前,搭建好运行环境是必备的。
首先从https://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目录 源程序目录

Tomcat下一个完整webwork的HelloWolrd程序的目录结构:
webapp
  eva(应用名称)
    WEB-INF
      src(class)
      lib
   
 附件:2.jpg(9K)
 附件:111.jpg(12K)
      
 
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_CN
webwork.i18n.encoding=GBK

#在生产环境中,应该设置为false
webwork.configuration.xml.reload=false

webwork.multipart.saveDir=\temp
webwork.multipart.maxSize=12345

# added the MockTag to the path of Tags that the TagDirective will search through
webwork.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时要有如下配置:

< ?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>
Web.xml文件应直接放于WEB-INF目录下.
           (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java中不同类型的转换和提升 (01-29) · Java源码分析:深入探讨Iterator模式 (01-28)
· 在用户关掉web浏览器窗口前, 进行动作 (01-28) · 高速缓存和连接池对访问数据库性能影响 (01-28)
· J2SE综合:JAVA语言关于字符串替换的思考 (01-28) · 进阶:Tomcat 的数据库连接池设置与应用 (01-28)
· 基础:学习Struts提供的和Form相关标签 (01-28) · 开发框架之Spring对log4j的增强 (01-28)
· 基础:JSP和IIS的最佳解决方案实例分析 (01-28) · 用动态代理实现用AOP对数据库进行操作 (01-28)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 网银交易收费 我国银行业如何达国际化标准
· 家庭信息化普及率提高 网上缴费成为新时尚
· 五条黄金准则能够让CIO巧妙加薪 CIO焦虑调查
· 网上书店解决方案 深圳边检指挥中心ITSM项目
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统