通过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.  
  3. webwork servlet-name> 
  4. com.opensymphony.webwork.dispatcher.ServletDispatcher servlet-class> 
  5. servlet> 
  6. ……  
  7.  
  8. webwork servlet-name> 
  9. *.action url-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.  
  5.  
  6.  http-equiv="Content-Type" content="text/html; charset=GBK"> 
  7. </strong>First WebWork Example<strong> title></strong> </li> <li><strong> head></strong> </li> <li><strong><body></strong> </li> <li>0000000010100001000010000100000011000010001110000000010000测试数据  </li> <li><strong><p><ww:property</strong> value = "hello"<strong>/> p></strong> </li> <li><strong> body></strong> </li> </ol></pre><p>7.配置web.xml文件:在WEB-INF下面建立web.xml文件,代码如下:</p><pre> <ol> <li><strong><web-app</strong> xmlns="http://java.sun.com/xml/ns/j2ee" </li> <li>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </li> <li>    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" </li> <li>    version="2.4"<strong>></strong> </li> <li><strong><servlet></strong> </li> <li><strong><servlet-name></strong>webwork<strong> servlet-name></strong> </li> <li><strong><servlet-class></strong>com.opensymphony.webwork.dispatcher.ServletDispatcher<strong> servlet-class></strong> </li> <li><strong> servlet></strong> </li> <li> </li> <li><strong><servlet-mapping></strong> </li> <li><strong><servlet-name></strong>webwork<strong> servlet-name></strong> </li> <li><strong><url-pattern></strong>*.action<strong> url-pattern></strong> </li> <li><strong> servlet-mapping></strong> </li> <li><strong><filter></strong> </li> <li>    <strong><filter-name></strong>webwork<strong> filter-name></strong> </li> <li>    <strong><filter-class></strong>com.opensymphony.webwork.dispatcher.FilterDispatcher<strong> filter-class></strong> </li> <li><strong> filter></strong> </li> <li><strong><listener></strong> </li> <li>          <strong><listener-class></strong>org.springframework.web.context.ContextLoaderListener<strong> listener-class></strong> </li> <li><strong> listener></strong> </li> <li><strong> web-app></strong> </li> </ol></pre><p>8.配置xwork.xml文件:在WEB-INF/src下面建立xwork.xml文件,代码如下:</p><pre> <ol> <li></li> <li>"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd"<strong>></strong> </li> <li><strong><xwork></strong> </li> <li><strong><include</strong> file="webwork-default.xml"<strong>/></strong> </li> <li>  <strong><package</strong> name="helloWorld" extends="webwork-default"<strong>></strong>         </li> <li>      <strong><action</strong> name="hello" class="helloWorld.HelloWorldAction"<strong>></strong> </li> <li>      <strong><result</strong> name="success"<strong>></strong>hello.jsp<strong> result></strong> </li> <li>                 </li> <li>            <strong> action></strong>         </li> <li>  <strong> package></strong> </li> <li><strong> xwork></strong> </li> </ol></pre><p>xwork.xml的作用通过使用XWork的命令模式框架和拦截器框架,提供了一个支持Web功能、能快速构建Web应用的命令模式框架。(这是一个标准说法)。</p><p>说白了就是联系刚才的几个文件,传值用的。</p><p>9.在Tomcat安装目录下..\Tomcat 5.5\conf打开sever.xml文件,添加如下代码:</p><pre> <ol> <li><strong><Host</strong> name="test" debug="0" appBase="" unpackWARs="true" autoDeploy="true"<strong>></strong> </li> <li>                     <strong><Context</strong> path="" reloadable="true" docBase="E:\eclipse\HelloWorld" <strong>></strong> </li> <li>                              <strong><Manager</strong> className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true"   </li> <li>                          maxActiveSessions="1" minIdleSwap="20" maxIdleSwap="60" maxIdleBackup="10" <strong>></strong> </li> <li>                                        <strong><Store</strong> className="org.apache.catalina.session.FileStore" directory="session"<strong>/></strong> </li> <li>                              <strong> Manager></strong> </li> <li>                     <strong> Context></strong> </li> <li><strong> Host></strong> </li> </ol></pre><p>修改系统的host文件,添加如下代码:</p><pre> <ol> <li>127.0.0.1      test </li> </ol></pre><p>10.打开浏览器,输入网址:http://test/hello.action即可看到如下显示:</p><pre> <ol> <li>0000000010100001000010000100000011000010001110000000010000测试数据   </li> <li>Hello World </li> </ol></pre><p>表明通过WebWork实现HelloWorld成功!</p> <p> 文章标题:<a href="http://www.csdahua.cn/qtweb/news40/288440.html">通过WebWork实现HelloWorld</a> <br> 标题路径:<a href="http://www.csdahua.cn/qtweb/news40/288440.html">http://www.csdahua.cn/qtweb/news40/288440.html</a> </p> <p> 网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等 </p> <p class="adpic"> <a href="https://www.cdcxhl.com/service/ad.html" target="_blank" class="ad">广告</a> <a href="" target="_blank" class="adimg"><img src=""></a> </p> <p class="copy"> 声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: <a href="http://www.csdahua.cn/" target="_blank">快上网</a> </p> </div> <div class="newsmorelb"> <p>成都快上网为您推荐相关内容</p> <ul> <li> <a href="/qtweb/news39/288439.html">html如何做左侧菜单栏</a> </li><li> <a href="/qtweb/news38/288438.html">如何在Linux中下载本地文件?(linux下载本地文件)</a> </li><li> <a href="/qtweb/news37/288437.html">IIS入门:为游戏改造审批服务设置IIS</a> </li><li> <a href="/qtweb/news36/288436.html">edge怎么自动刷新网页edge浏览器更新不了了</a> </li><li> <a href="/qtweb/news35/288435.html">轻松找到文件末尾必备Linux命令 (linux命令 到达文件末尾)</a> </li><li> <a href="/qtweb/news34/288434.html">ps如何制作金属按钮,ps金属按钮怎么做</a> </li><li> <a href="/qtweb/news33/288433.html">如何进行wap手机网站建设,掌握wap手机网站建设的基本流程</a> </li><li> <a href="/qtweb/news32/288432.html">如何查找域名对应的ip?(如何查看域名指向)</a> </li><li> <a href="/qtweb/news31/288431.html">如何查看服务器机器是否关闭</a> </li> </ul> </div> </div> <div class="col-lg-3 noneb"> <div class="bkright" style="margin-top: 0"> <p><a href="https://www.cdcxhl.com/news/home/">网站制作知识</a></p> <ul> <li> <a class="text_overflow" href="/qtweb/news46/404646.html">什么是Linux集群?</a> </li><li> <a class="text_overflow" href="/qtweb/news9/477359.html">PHP开源 数据库管理</a> </li><li> <a class="text_overflow" href="/qtweb/news11/250411.html">Redis解决超时问题的实用方法(redis超时解决方案)</a> </li><li> <a class="text_overflow" href="/qtweb/news24/248124.html">云服务器搭建vps的方法是什么意思</a> </li><li> <a class="text_overflow" href="/qtweb/news25/75275.html">vps可以绑定几个域名吗</a> </li><li> <a class="text_overflow" href="/qtweb/news21/305171.html">Linux查看文件系统分区的技巧(linux查看文件分区)</a> </li><li> <a class="text_overflow" href="/qtweb/news1/167151.html">win8怎么下载安装word?(怎样下载windows8系统)</a> </li><li> <a class="text_overflow" href="/qtweb/news13/200063.html">常用数据库在游戏中的应用(游戏中常用的数据库)</a> </li><li> <a class="text_overflow" href="/qtweb/news24/68224.html">为什么要隐藏自己的ip地址?如何隐藏自己的ip地址?</a> </li><li> <a class="text_overflow" href="/qtweb/news42/237192.html">Redis修补保护你的数据安全(redis补丁)</a> </li><li> <a class="text_overflow" href="/qtweb/news46/48096.html">木林浴霸是名牌吗?(windows10木林风)</a> </li><li> <a class="text_overflow" href="/qtweb/news46/362346.html">为啥选择香港服务器托管服务</a> </li><li> <a class="text_overflow" href="/qtweb/news2/55152.html">Lua标准库-算术函数(mathematicalfunctions)</a> </li><li> <a class="text_overflow" href="/qtweb/news35/256335.html">“Linux内核源码轻松浏览:顶尖查看工具推荐”(linux源码查看工具)</a> </li><li> <a class="text_overflow" href="/qtweb/news40/164890.html">C语言程序-怎么在cmd中打开桌面上的C程序并运行?windows怎样运行c</a> </li> </ul> </div> <div class="bkright tag"> <p><a href="https://www.cdcxhl.com/hangye/" target="_blank">同城分类信息</a></p> <ul> <li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/zaomaoji/" target="_blank">凿毛机</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/hangkongxiang/" target="_blank">航空箱</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/jbgc/" target="_blank">搅拌罐车</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/pvc/" target="_blank">PVC花箱</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/boligeduan/" target="_blank">玻璃隔断</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/jianzhudonghua/" target="_blank">建筑动画</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/jiulousj/" target="_blank">酒楼设计</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/zsljbc/" target="_blank">自上料搅拌车</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/weilanhulan/" target="_blank">围栏护栏</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/cantingsj/" target="_blank">餐厅设计</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/jiagu/" target="_blank">加固</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/hntjbg/" target="_blank">混凝土搅拌罐</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/shachuang/" target="_blank">纱窗</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/bxgds/" target="_blank">不锈钢雕塑</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/zbljbc/" target="_blank">自拌料搅拌车</a> </li><li class="col-lg-6 col-md-6 col-sm-6 col-xs-6"> <a href="https://www.cdcxhl.com/hangye/jizhuangxiang/" target="_blank">集装箱</a> </li> </ul> </div> </div> </div> <div class="carousel-inner linkbg" style="background: #fff"> <div class="container"> <a href="http://www.hfwuji.cn/" target="_blank">清舞人间</a>    <a href="http://www.cdxwcx.cn/tuoguan/neijiang.html" target="_blank">内江托管服务器</a>    <a href="https://www.cdxwcx.com/jifang/xiyun.html" target="_blank">成都移动服务器托管</a>    <a href="http://www.cdxwcx.cn/tuoguan/leshan.html" target="_blank">乐山服务器托管</a>    <a href="http://www.nzanhua.com/" target="_blank">雕琢时光茶叶</a>    <a href="http://chengdu.xwcx.net/mobile/" target="_blank">移动手机网站制作</a>    <a href="https://www.cdcxhl.cn/ " target="_blank">腾讯云香港虚拟主机</a>    <a href="https://www.cdxwcx.com/wangzhan/pinpai.html" target="_blank">高端品牌网站建设</a>    <a href="https://www.cdxwcx.com/jifang/xiyun.html" target="_blank">西云机房</a>    <a href="http://chengdu.cdcxhl.cn/qiye/" target="_blank">企业网站制作</a>    <a href="https://www.cdcxhl.com/xiangyingshi.html" target="_blank">响应式网站设计</a>    <a href="https://www.cdcxhl.com/idc/leshan.html" target="_blank">乐山服务器托管</a>    <a href="https://www.cdxwcx.com/city/guanghan/" target="_blank">广汉做网站</a>    <a href="https://www.cdxwcx.com/wangzhan/app.html" target="_blank">手机app</a>    <a href="http://www.cqfuwuqi.com/" target="_blank">重庆机房托管</a>    <a href="https://www.scvps.cn/" target="_blank">主机租用</a>    <a href="http://www.ncjierui.cn/" target="_blank">彭山网站制作</a>    <a href="https://www.cdxwcx.com/" target="_blank">成都网站建设公司</a>    <a href="http://www.cqfuwuqi.com/" target="_blank">重庆托管服务器</a>    <a href="http://www.kjdeyu.com/" target="_blank">营山月子会所</a>     </div> </div> <footer> <div class="carousel-inner footjz"> <div class="container"> <i class="icon iconfont zbw"></i> 高品质定制 <i class="icon iconfont"></i> 跨终端自动兼容 <i class="icon iconfont"></i> 节约开发成本 <i class="icon iconfont"></i> 开发周期短 <i class="icon iconfont"></i> 一体化服务 <button type="button" class="btn btn-default btn-lg" onClick="window.location.href='tencent://message/?uin=631063699&Site=&Menu=yes'"> 立即开始2800定制网站建设</button> <button type="button" class="btn btn-default btn-xs" onClick="window.location.href='tencent://message/?uin=631063699&Site=&Menu=yes'"> 2800定制网站建设</button> </div> </div> <div class="carousel-inner bqsy"> <div class="container"> <div class="lxfs"> <h4 class="yutelnone">028-86922220 13518219792</h4> <h4 class="yutelblock"><a href="tel:02886922220">028-86922220</a> <a href="tel:13518219792">13518219792</a></h4> <a class="btn btn-default" href="tencent://message/?uin=532337155&Site=&Menu=yes" role="button">网站建设<span>QQ</span>:532337155</a> <a class="btn btn-default" href="tencent://message/?uin=631063699&Site=&Menu=yes" role="button">营销推广<span>QQ</span>:631063699</a> <a class="btn btn1 btn-default" href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" role="button">网站制作<span>QQ</span>:532337155</a> <a class="btn btn1 btn-default" href="mqqwpa://im/chat?chat_type=wpa&uin=631063699&version=1&src_type=web&web_src=oicqzone.com" role="button">营销推广<span>QQ</span>:631063699</a> <a class="btn btn-default nonea" href="tencent://message/?uin=1683211881&Site=&Menu=yes" role="button">售后QQ:1683211881</a> <div class="dz">成都快上网专注: <a href="http://www.csdahua.cn/" target="_blank">网站优化</a> <a href="http://www.csdahua.cn/" target="_blank">网络推广</a> <a href="http://www.csdahua.cn/" target="_blank">网站建设</a> <address>地址:成都太升南路288号锦天国际A幢10楼</address> </div> </div> <div class="bzdh dz"><img src="https://www.cdcxhl.com/imges/bottom_logo.png" alt="创新互联"> <p><a href="https://www.cdcxhl.com/menu.html" target="_blank">成都创新互联科技有限公司</a><br> Tel:028-86922220(7x24h)</p></div> </div> </div> </footer> </body> </html> <script> $.getJSON ("../../qtwebpic.txt", function (data) { var jsonContent = { "featured":data } var random = jsonContent.featured[Math.floor(Math.random() * jsonContent.featured.length)]; $(".adpic .adimg").attr("href",random.link) $(".adpic img").attr("src",random.pic); }) </script>