通过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> <br> 网页名称:通过WebWork实现HelloWorld <br> 链接URL:<a href="http://www.gyjierui.cn/article/djdchci.html">http://www.gyjierui.cn/article/djdchci.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/cdeppop.html">你做的网站是品牌网站吗?如何判断是品牌网站</a> </li><li> <a href="/article/cdeppoe.html">CDN权限管理_CDN权限管理</a> </li><li> <a href="/article/cdepped.html">使用免费ssl证书,linux+nginx配置https的方法</a> </li><li> <a href="/article/cdeppei.html">怎么在postgresql中计算两个日期的时间差</a> </li><li> <a href="/article/cdeppcs.html">Vf中在第三条记录前插入一条新记录该怎么做?</a> </li> </ul> </div> </div> <div class="footer"> <div class="contain"> <div class="foot-nav clearfix"> <ul class="footer-menu"> <li class="dropdown" ><a class="dropdown-toggle">服务范围<b class="caret"></b></a> <ul class="child-menu"> <li><a href="/website.html">网站建设</a></li> <li><a href="/weixin/" rel="nofollow">微信开发</a></li> <li><a href="/app/" rel="nofollow">APP开发</a></li> <li><a href="/design/" rel="nofollow">品牌设计</a></li> <li><a href="/market/" rel="nofollow">营销推广</a></li> </ul> </li> <li class="dropdown"><a href="/webcase/" class="dropdown-toggle" title=南充做网站案例>南充做网站案例<b class="caret"></b></a> <ul class="child-menu"> <li><a href="/webcase/jtssgslist.html" id="ctl00_show_85" title="集团上市公司">集团上市公司</a></li> <li><a href="/webcase/ppwzlist.html" id="ctl01_show_81" title="品牌网站">品牌网站</a></li> <li><a href="/webcase/xiangyingshilist.html" id="ctl02_show_82" title="响应式网站">响应式网站</a></li> <li><a href="/Marketingwebsite/index.html" id="ctl03_show_83" title="营销型网站">营销型网站</a></li> <li><a href="/waimaowangzhan/index.html" id="ctl04_show_84" title="外贸网站">外贸网站</a></li> </ul> </li> <li class="dropdown"><a href="/news/" class="dropdown-toggle">新闻中心 <b class="caret"></b></a> <ul class="child-menu"> <li><a href="/news/2.html" id="ctl00_show_70" title="南充网站建设">南充网站建设</a></li><li><a href="/news/3.html" id="ctl00_show_70" title="南充网站设计">南充网站设计</a></li><li><a href="/news/5.html" id="ctl00_show_70" title="南充定制网站">南充定制网站</a></li><li><a href="/news/6.html" id="ctl00_show_70" title="南充建网站">南充建网站</a></li> </ul> </li> <li class="dropdown"><a href="/Knowledge/" class="dropdown-toggle">知识学堂 <b class="caret"></b></a> <ul class="child-menu"> <li><a href="/websitelist/8.html" title="南充网站制作">南充网站制作</a></li><li><a href="/websitelist/9.html" title="南充建站工作室">南充建站工作室</a></li><li><a href="/websitelist/10.html" title="南充微信营销">南充微信营销</a></li><li><a href="/websitelist/11.html" title="南充营销推广">南充营销推广</a></li> </ul> </li> <li class="dropdown"><a href="/about/" class="dropdown-toggle" rel="nofollow">关于我们 <b class="caret"></b></a> <ul class="child-menu"> <li><a href="/about/jj/index.html" id="ctl00_show_1300" title="公司简介" rel="nofollow">公司简介</a></li> <li><a href="/about/history/index.html" id="ctl01_show_1301" title="发展历史" rel="nofollow">发展历史</a></li> <li><a href="/about/jjtd/index.html" id="ctl02_show_1302" title="精英团队" rel="nofollow">精英团队</a></li> <li><a href="/about/join/" rel="nofollow">加入我们</a></li> <li><a href="/about/contact/" rel="nofollow">联系雷运</a></li> </ul> </li> </ul> <dl class="last-dl"> <dt> <a href="javascript:;" title="联系我们" rel="nofollow">联系雷运</a> </dt> <dd class="conta"> <span><img src="/Public/Home/images/zg_ewm.png" width="100" /><br /> 企业微信号</span> </dd> </dl> </div> <div class="childcompan clearfix"> </div> <div class="copy"> 友情链接: <a href="http://www.qxjau.com/" title="成都发电机维修" target="_blank">成都发电机维修</a>   <a href="http://www.cdxwcx.cn/tuoguan/bgp.html" title="bgp多线机房托管" target="_blank">bgp多线机房托管</a>   <a href="http://www.scbingewang.com/" title="四川宾格网公司" target="_blank">四川宾格网公司</a>   <a href="http://www.xjhxzp.com/" title="商用广告纸杯" target="_blank">商用广告纸杯</a>   <a href="http://m.xwcx.net/wechat/" title="成都微信二次开发公司" target="_blank">成都微信二次开发公司</a>   <a href="http://www.nhhle.com/" title="简阳康明斯柴油发电机租赁" target="_blank">简阳康明斯柴油发电机租赁</a>   <a href="http://www.dwmer.com/" title="大悟县汽车滤芯配件" target="_blank">大悟县汽车滤芯配件</a>   <a href="https://www.cdcxhl.com/" title="制作网站" target="_blank">制作网站</a>   <a href="http://www.fadianjiwx.com/" title="成都柴油发电机组维修" target="_blank">成都柴油发电机组维修</a>   <a href="http://www.75109.cn/" title="精灵网" target="_blank">精灵网</a>    </div> <br> 123ABC<strong> <a href="/">南充网站建设</a></strong>,南充定制网站建设——全心全意建网站公司 </div> </div> <script type="text/javascript" src="/Public/Home/js/meiqia.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery.easing.1.3.js"></script> <script type="text/javascript" src="/Public/Home/js/i.js"></script> <script type="text/javascript" src="/Public/Home/js/script.js"></script> <script type="text/javascript" src="/Public/Home/js/SuperSlide.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery.toTop.min.js"></script> <script type="text/javascript" src="/Public/Home/js/num-change.js"></script> <script type="text/javascript" src="/Public/Home/js/jquery.nicescroll.min.js"></script> <script type="text/javascript"> $(".menu li").eq(7).addClass("current-menu-item"); </script> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>