通过WebWork实现HelloWorld

开发 后端
本文介绍怎么用WebWork来实现HelloWorld。

在具体开发使用介绍之前,搭建好运行环境是必备的。假设Tomcat的安装和部署已搞定,打开eclipse新建一个Tomcat工程HelloWorld:

1.在网上下载到***的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目录 源程序目录

2.使用WebWork需要将它运行时的Jar包入到Web容器可以找到的ClassPath中:

将步骤1中介绍的webwork-2.x.jar放到Tomcat工程下的WEB-INF\lib目录中,同时也要将..\ webwork-2.2.6\lib\default中的所有jar文件和..\webwork-2.2.6\lib\spring中以spring开头的jar文件也一起放到WEB-INF\lib中,这些都是运行WebWork必需要用到的jar包。

3.Webwork框架是通过一个JavaServlet控制器提供统一的请求入口,解析请求的url,再去调用相应的Action进行业务处理。要求在web.xml文件里配置一个派遣器ServletDispatcher,它初始化WebWrok的一些配置信息,解析XWork的Action配置信息,根据请求去组装和调用执行相应的拦截器(Interceptor)、Action、Action Result(Action执行结果的输出)等,具体配置如下:

  1. ……  
  2. <servlet> 
  3. <servlet-name>webworkservlet-name> 
  4. <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcherservlet-class> 
  5. servlet> 
  6. ……  
  7. <servlet-mapping> 
  8. <servlet-name>webworkservlet-name> 
  9. <url-pattern>*.actionurl-pattern> 
  10. servlet-mapping> 
  11. …… 

这样,.action结尾的所有url请求将直接有ServletDispatcher去调度。

下面我们用一个经典的HelloWorld实例来验证运行环境是否可用,并感受一下简单、功能强大的WebWork的开发。

4.把刚才WebWork的jar包都导进来,项目右键Build Path—Configure Build Path…在弹出的对话框中选择Java Build Path,对应选择右边的Libraries标签页,选择Add JARs…按钮,在弹出的窗口中选择刚建立的工程的HelloWorld—WEB-INF—lib 下面的全部jar包,点OK退出。这时会看到在工程HelloWorld下面多了一些瓶子似的jar,这表明已经成功导入。

5.在WEB-INF/src下建一个Package名字为helloWorld,再建一个class名字为HelloWorldAction,添加代码如下:

  1. package helloWorld;  
  2. import com.opensymphony.xwork.*;  
  3.  
  4. public class HelloWorldAction implements Action{  
  5.   private String hello;  
  6.   public String execute() throws Exception{  
  7.             hello = "Hello World";  
  8.             return SUCCESS;  
  9.   }         
  10.   public String getHello() {  
  11.             return hello;  
  12.   }  
  13.   public void setHello(String hello) {  
  14.             this.hello = hello;  
  15.   }  

HelloWorldAction是一个普通的Java类,它实现了Action这个接口。Action是一个非常简单的接口,只有一个方法:public String execute() throws Exception; ,Action类介绍见下一节。HelloWorldAction有一个String类型字段greeting,在execute()方法中,greeting被赋值“Hello World!”,并返回String型常量SUCCESS,SUCCESS的定义详见Action接口,这个常量代表了execute()方法执行成功,将返回成功页面。

6.右键工程名字新建一个.jsp文件--hello.jsp代码如下:

  1. <%@ taglib prefix="ww" uri="/webwork" %> 
  2. <%@ page language="java" contentType="text/html; charset=GBK"%> 
  3. > 
  4. <html> 
  5. <head> 
  6. <meta http-equiv="Content-Type" content="text/html; charset=GBK"> 
  7. <title>First WebWork Exampletitle> 
  8. head> 
  9. <body> 
  10. 0000000010100001000010000100000011000010001110000000010000测试数据  
  11. <p><ww:property value = "hello"/>p> 
  12. body> 

7.配置web.xml文件:在WEB-INF下面建立web.xml文件,代码如下:

  1. <web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  3.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
  4.     version="2.4"> 
  5. <servlet> 
  6. <servlet-name>webworkservlet-name> 
  7. <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcherservlet-class> 
  8. servlet> 
  9.  
  10. <servlet-mapping> 
  11. <servlet-name>webworkservlet-name> 
  12. <url-pattern>*.actionurl-pattern> 
  13. servlet-mapping> 
  14. <filter> 
  15.     <filter-name>webworkfilter-name> 
  16.     <filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcherfilter-class> 
  17. filter> 
  18. <listener> 
  19.           <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class> 
  20. listener> 
  21. web-app> 

8.配置xwork.xml文件:在WEB-INF/src下面建立xwork.xml文件,代码如下:

  1. "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"> 
  2. <xwork> 
  3. <include file="webwork-default.xml"/> 
  4.   <package name="helloWorld" extends="webwork-default">         
  5.       <action name="hello" class="helloWorld.HelloWorldAction"> 
  6.       <result name="success">hello.jspresult> 
  7.                 
  8.             action>         
  9.   package> 
  10. xwork> 

xwork.xml的作用通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能、能快速构建Web应用的命令模式框架。(这是一个标准说法)。

说白了就是联系刚才的几个文件,传值用的。

9.在Tomcat安装目录下..\Tomcat 5.5\conf打开sever.xml文件,添加如下代码:

  1. <Host name="test" debug="0" appBase="" unpackWARs="true" autoDeploy="true"> 
  2.                      <Context path="" reloadable="true" docBase="E:\eclipse\HelloWorld" > 
  3.                               <Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true"   
  4.                           maxActiveSessions="1" minIdleSwap="20" maxIdleSwap="60" maxIdleBackup="10" > 
  5.                                         <Store className="org.apache.catalina.session.FileStore" directory="session"/> 
  6.                               Manager> 
  7.                      Context> 
  8. Host> 

修改系统的host文件,添加如下代码:

  1. 127.0.0.1      test 

10.打开浏览器,输入网址:http://test/hello.action即可看到如下显示:

  1. 0000000010100001000010000100000011000010001110000000010000测试数据   
  2. Hello World 

表明通过WebWork实现HelloWorld成功!

【编辑推荐】

  1. WebWork如何实现文件上传配置过程
  2. WebWork下载的实现
  3. JSP开发框架JSF对比基于Servlet的Tapestry
  4. Tapestry 5组件事件详解
  5. Tapestry5的性能改进浅析
责任编辑:雪峰 来源: CSDN博客
相关推荐

2009-07-08 09:55:51

WebWork下载

2009-07-14 17:20:31

Webwork文件上传

2009-07-16 15:44:40

导出CSV文本WebWork

2009-07-16 15:14:27

WebWork用户登陆

2009-07-08 09:29:58

WebWork

2009-07-16 14:08:14

webwork配置

2010-03-04 09:49:58

Python Hell

2009-07-14 15:52:00

WebWork文件下载

2009-07-14 17:34:53

Webwork配置

2009-07-14 16:08:41

WebWork学习

2009-07-14 00:15:52

Webwork Act

2009-07-08 10:30:57

WebWork

2009-07-16 16:01:54

WebWork敏捷开发

2009-07-14 14:04:36

WebWork框架

2009-07-16 16:51:56

WebWork验证机制

2009-07-16 16:08:30

WebWork Act

2009-07-14 12:47:07

WebWork工作方式

2009-07-09 16:22:12

WebWork配置

2009-07-14 01:00:43

WebWorkActionConte

2009-07-16 16:27:26

Struts WebW
点赞
收藏

51CTO技术栈公众号