`
carlos
  • 浏览: 18026 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

webwork test/ log

阅读更多
java 代码
 
  1. //============ the file name: D:\workspace\dweb\src\components.xml\components.xml  
  2. <?xml version="1.0" encoding="UTF-8"?>  
  3. <components>  
  4.   
  5.     <component>  
  6.   
  7.         <!--缁勪欢瀛樺湪鑼冨洿锛屽彲浠ユ槸request,session,application-->  
  8.   
  9.   
  10.         <scope>session</scope>  
  11.   
  12.   
  13.   
  14.         <class>Awebwork.ioc.larmRecord</class>  
  15.   
  16.   
  17.   
  18.         <enabler>webwork.ioc.AlarmRecordAware</enabler>  
  19.   
  20.     </component>  
  21.   
  22. </components>  
  23. //============ the file name: D:\workspace\dweb\src\messages_zh_CN.properties\messages_zh_CN.properties  
  24. xname=carlos  
  25. //============ the file name: D:\workspace\dweb\src\test.java\test.java  
  26.   
  27. public class test {  
  28.   
  29.       
  30.     public static void main(String[] args) {  
  31.         System.out.println("fffffffffff");  
  32.     }  
  33.       
  34. }  
  35.   
  36. //============ the file name: D:\workspace\dweb\src\validators.xml\validators.xml  
  37. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 
  38. 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">  
  39.   
  40. <validators>  
  41.     <validator name="required"  
  42.         class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator" />  
  43.     <validator name="requiredstring"  
  44.         class="com.opensymphony.xwork.validator.validators.RequiredStringValidator" />  
  45.     <validator name="int"  
  46.         class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator" />  
  47.     <validator name="date"  
  48.         class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator" />  
  49.     <validator name="expression"  
  50.         class="com.opensymphony.xwork.validator.validators.ExpressionValidator" />  
  51.     <validator name="fieldexpression"  
  52.         class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator" />  
  53.     <validator name="email"  
  54.         class="com.opensymphony.xwork.validator.validators.EmailValidator" />  
  55.     <validator name="url"  
  56.         class="com.opensymphony.xwork.validator.validators.URLValidator" />  
  57.     <validator name="visitor"  
  58.         class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator" />  
  59.     <validator name="conversion"  
  60.         class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator" />  
  61. </validators>  
  62.   
  63. //============ the file name: D:\workspace\dweb\src\webwork\action\HelloWebWorldAction-helloWebWorld-validation.xml\HelloWebWorldAction-helloWebWorld-validation.xml  
  64. <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 
  65. 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.dtd">  
  66. <validators>  
  67.     <field name="user.username">  
  68.         <field-validator type="requiredstring">  
  69.             <message>You must enter a value for username.</message>  
  70.         </field-validator>  
  71.     </field>  
  72.     <field name="user.password">  
  73.         <!--    WebWork 鏁欑▼ 鏈変换浣曟剰瑙佸拰寤鸿锛岃email to:achqian@hotmail.com锛圡SN锛? 鐗堟潈鎵?鏈夛紝璇峰嬁杞浇鍜岀鏀?-->  
  74.         <field-validator type="requiredstring">  
  75.             <message>You must enter a value for password.</message>  
  76.         </field-validator>  
  77.         <field-validator type="fieldexpression">  
  78.             <param name="expression">  
  79.                 user.password == verifyPassword  
  80.             </param>  
  81.             <message>Passwords don't match.</message>  
  82.         </field-validator>  
  83.     </field>  
  84.     <field name="user.email">  
  85.         <field-validator type="email">  
  86.             <message>You must enter a valid email.</message>  
  87.         </field-validator>  
  88.     </field>  
  89.     <field name="user.age">  
  90.         <field-validator type="int">  
  91.             <param name="min">6</param>  
  92.             <param name="max">100</param>  
  93.             <message>  
  94.                 Age must be between ${min} and ${max}, current value is  
  95.                 ${user.age}.  
  96.             </message>  
  97.         </field-validator>  
  98.     </field>  
  99. </validators>  
  100. //============ the file name: D:\workspace\dweb\src\webwork\action\HelloWebWorldAction.java\HelloWebWorldAction.java  
  101. package webwork.action;  
  102.   
  103.   
  104. import java.io.File;  
  105. import java.io.FileInputStream;  
  106.   
  107. import java.io.FileOutputStream;  
  108. import java.io.IOException;  
  109. import java.util.ArrayList;  
  110. import java.util.Date;  
  111. import java.util.List;  
  112. import java.util.Map;  
  113.   
  114. import javax.servlet.http.HttpServletRequest;  
  115.   
  116. import webwork.bean.User;  
  117. import webwork.ioc.AlarmRecord;  
  118. import webwork.ioc.AlarmRecordAware;  
  119.   
  120.   
  121. import com.opensymphony.webwork.ServletActionContext;  
  122. import com.opensymphony.webwork.dispatcher.ServletActionRedirectResult;  
  123. import com.opensymphony.webwork.interceptor.SessionAware;  
  124. import com.opensymphony.xwork.Action;  
  125. import com.opensymphony.xwork.ActionContext;  
  126. import com.opensymphony.xwork.ActionSupport;  
  127. import com.opensymphony.xwork.ModelDriven;  
  128.   
  129. public class HelloWebWorldAction implements Action, SessionAware,  
  130.         AlarmRecordAware {  
  131.     private int i;  
  132.   
  133.     private Map session;// 定义session变量  
  134.   
  135.     private AlarmRecord ar;  
  136.   
  137.     private File file;  
  138.   
  139.     public List getDays(){  
  140.         List list = new ArrayList();  
  141.         list.add("111111111111");  
  142.         list.add("22222222222");  
  143.         list.add("44444444444");  
  144.         return list;  
  145.     }  
  146.       
  147.     public HelloWebWorldAction() {  
  148.         System.out.println("the aciton has init.. ");  
  149.     }  
  150.   
  151.     /* 
  152.      * (non-Javadoc) 
  153.      *  
  154.      * @see webwork.ioc.AlarmRecordAware#setAlarmRecord(webwork.ioc.AlarmRecord) 
  155.      */  
  156.     public void setAlarmRecord(AlarmRecord alarm) {  
  157.         // TODO Auto-generated method stub  
  158.         this.ar = alarm;  
  159.     }  
  160.   
  161.     public void setSession(Map arg0) {  
  162.   
  163.         this.session = arg0;  
  164.   
  165.     }  
  166.   
  167.     private User user = new User();  
  168.   
  169.   
  170.     public User getUser() {  
  171.         return user;  
  172.     }  
  173.   
  174.     public void setUser(User user) {   
  175.         this.user = user;  
  176.     }  
  177.   
  178.     public String execute() throws IOException {  
  179.         // hello = "Hello, WebWorld!";  
  180.         System.out.println("the execute : " + i++);  
  181.         System.out.println("the upload file: " + file);  
  182.         // file upload test  .  
  183.         // 以下为保存文件,视情况修改  
  184.         if(null!=file)  
  185.         {  
  186.             FileOutputStream outputStream = new FileOutputStream("d://" + file.getName());  
  187.   
  188.             FileInputStream fileIn = new FileInputStream(file);  
  189.   
  190.             byte[] buffer = new byte[1024];  
  191.   
  192.             int len;  
  193.             while ((len = fileIn.read(buffer)) > 0)  
  194.             {  
  195.                 outputStream.write(buffer, 0, len);  
  196.             }  
  197.              
  198.             fileIn.close();  
  199.             outputStream.close();  
  200.              
  201.         }   
  202.           
  203.         ActionContext at = ActionContext.getContext();  
  204.         HttpServletRequest request = ServletActionContext.getRequest();  
  205.           
  206.           
  207. //      ar.setAlarmRecordID(this.toString());  
  208. //      System.out.println("--------" + ar.getAlarmRecordID());  
  209.         //session.put("user", user.toString());  
  210.         System.out.println( user );  
  211.   
  212. //      System.out.println("the action has access .. " + user  
  213. //              + new Date().toLocaleString());  
  214.         return SUCCESS;  
  215.     }  
  216.   
  217.     public String tttts() {  
  218.         // hello = "Hello, WebWorld!";  
  219.         System.out.println("the tttts : " + i++);  
  220.   
  221.         return SUCCESS;  
  222.     }  
  223.   
  224.     public String test() {  
  225.         // hello = "Hello, WebWorld!";  
  226.         System.out.println("the test : " + i++);  
  227.         ActionContext at = ActionContext.getContext();  
  228.   
  229.         at.getSession().put("user", user.toString());  
  230.   
  231.         System.out.println("the action has access .. " + user  
  232.                 + new Date().toLocaleString());  
  233.         return SUCCESS;  
  234.     }  
  235.   
  236.     @Override  
  237.     protected void finalize() throws Throwable {  
  238.         // TODO Auto-generated method stub  
  239.         super.finalize();  
  240.   
  241.         System.out.println(this + " the action has destoy...");  
  242.     }  
  243.   
  244.     /** 
  245.      * @return the file 
  246.      */  
  247.     public File getFile() {  
  248.         return file;  
  249.     }  
  250.   
  251.     /** 
  252.      * @param file the file to set 
  253.      */  
  254.     public void setFile(File file) {  
  255.         this.file = file;  
  256.     }  
  257.   
  258. }  
  259. //============ the file name: D:\workspace\dweb\src\webwork\action\Test.java\Test.java  
  260. package webwork.action;  
  261.   
  262. public class Test {  
  263.   
  264.     /** 
  265.      * @param args 
  266.      */  
  267.     public static void main(String[] args) {  
  268.         // TODO Auto-generated method stub  
  269.   
  270.     }  
  271.   
  272. }  
  273.   
  274. //============ the file name: D:\workspace\dweb\src\webwork\bean\User.java\User.java  
  275. package webwork.bean;  
  276.   
  277. public class User {  
  278.     private String username;  
  279.     private String password;  
  280.     private String email;  
  281.     private int age;  
  282.       
  283.     public User(){  
  284.         System.out.println("the user has init..");  
  285.           
  286.     }  
  287.       
  288.     public int getAge() {  
  289.         return age;  
  290.     }  
  291.     public void setAge(int age) {  
  292.         this.age = age;  
  293.     }  
  294.     public String getEmail() {  
  295.         return email;  
  296.     }  
  297.     public void setEmail(String email) {  
  298.         this.email = email;  
  299.     }  
  300.     public String getPassword() {  
  301.         return password;  
  302.     }  
  303.     public void setPassword(String password) {  
  304.         this.password = password;  
  305.     }  
  306.     public String getUsername() {  
  307.         return username;  
  308.     }  
  309.     public void setUsername(String username) {  
  310.         this.username = username;  
  311.     }  
  312.     public String toString(){  
  313.         return "username=" + username + ";password=" + password + ";email="  
  314.                 + email + ";age=" + age;  
  315.     }  
  316. }  
  317.   
  318. //============ the file name: D:\workspace\dweb\src\webwork\interceptor\MyInterceptor.java\MyInterceptor.java  
  319. package webwork.interceptor;  
  320.   
  321. import java.util.Calendar;  
  322.   
  323. import com.opensymphony.xwork.ActionInvocation;  
  324. import com.opensymphony.xwork.interceptor.AroundInterceptor;  
  325. import com.opensymphony.xwork.interceptor.Interceptor;  
  326.   
  327. public class MyInterceptor extends AroundInterceptor {  
  328.     public void init() {  
  329.           
  330.         System.out.println(" <<<<<<<the interceptor >>> " + Calendar.getInstance().getTime().toLocaleString());  
  331.     }  
  332.     public void destroy() { }  
  333.       
  334. //  public String intercept(ActionInvocation invocation) throws Exception {  
  335. //      System.out.println("???????????????????????????");  
  336. //      Calendar calendar = Calendar.getInstance();  
  337. //      System.out.println(" <<<<<<<the interceptor >>> "  
  338. //              + calendar.getTime().toLocaleString());  
  339. //      int hour = calendar.get(Calendar.HOUR_OF_DAY);  
  340. //      String greeting = (hour < 6) ? "Good evening"  
  341. //              : ((hour < 12) ? "Good morning"  
  342. //                      : ((hour < 18) ? "Good afternoon" : "Good evening"));  
  343. //  
  344. //      invocation.getInvocationContext().getSession()  
  345. //              .put("greeting", greeting);  
  346. //  
  347. //      String result = invocation.invoke();  
  348. //  
  349. //      return result;  
  350. //  }  
  351.     /* (non-Javadoc) 
  352.      * @see com.opensymphony.xwork.interceptor.AroundInterceptor#after(com.opensymphony.xwork.ActionInvocation, java.lang.String) 
  353.      */  
  354.     @Override  
  355.     protected void after(ActionInvocation arg0, String arg1) throws Exception {  
  356.         // TODO Auto-generated method stub  
  357.           
  358.         System.out.println("the after..*********************");  
  359.           
  360.     }  
  361.     /* (non-Javadoc) 
  362.      * @see com.opensymphony.xwork.interceptor.AroundInterceptor#before(com.opensymphony.xwork.ActionInvocation) 
  363.      */  
  364.     @Override  
  365.     protected void before(ActionInvocation arg0) throws Exception {  
  366.         // TODO Auto-generated method stub  
  367.         System.out.println("the before..");  
  368.           
  369.     }  
  370. }  
  371. //============ the file name: D:\workspace\dweb\src\webwork\ioc\AlarmRecord.java\AlarmRecord.java  
  372. package webwork.ioc;  
  373.   
  374. public class AlarmRecord {  
  375.   
  376.     private String AlarmRecordID;  
  377.   
  378.     public AlarmRecord() {  
  379.   
  380.         System.out.println("the alarmrecord creating..." + this);  
  381.     }  
  382.   
  383.     public void setAlarmRecordID(String id) {  
  384.         System.out.println("the setAlarmRecordID called  ");  
  385.         this.AlarmRecordID = id;  
  386.   
  387.     }  
  388.   
  389.     public String getAlarmRecordID() {  
  390.         System.out.println("the getAlarmRecordID called  ");  
  391.         return this.AlarmRecordID;  
  392.   
  393.     }  
  394.   
  395. }  
  396. //============ the file name: D:\workspace\dweb\src\webwork\ioc\AlarmRecordAware.java\AlarmRecordAware.java  
  397. package webwork.ioc;  
  398.   
  399. public interface AlarmRecordAware {  
  400.   
  401.     public void setAlarmRecord(AlarmRecord alarm) ;  
  402.   
  403. }  
  404. //============ the file name: D:\workspace\dweb\src\webwork\WebWorkTestCase.java\WebWorkTestCase.java  
  405. package webwork;  
  406.   
  407. import java.util.HashMap;  
  408. import java.util.Map;  
  409.   
  410. import webwork.action.HelloWebWorldAction;  
  411.   
  412. import com.opensymphony.xwork.Action;  
  413. import com.opensymphony.xwork.ActionContext;  
  414. import com.opensymphony.xwork.ActionProxy;  
  415. import com.opensymphony.xwork.ActionProxyFactory;  
  416.   
  417. import junit.framework.TestCase;  
  418.   
  419. public class WebWorkTestCase extends TestCase {  
  420.     public void testCreateUserWithProxyFactory() throws Exception {  
  421.         System.out.println(Action.SUCCESS);  
  422.         Map params = new HashMap();  
  423.         params.put("user.username","test");  
  424.         params.put("user.email""test@test.com");  
  425.         params.put("user.password""1234");  
  426.         params.put("user.confirm""1234");  
  427.         Map context = new HashMap();  
  428.         context.put(ActionContext.PARAMETERS, params);  
  429.         ActionProxyFactory factory = ActionProxyFactory.getFactory();  
  430.         ActionProxy proxy = factory.createActionProxy("""helloWebWorld",  
  431.                 context);  
  432.         // proxy.execute();  
  433.         HelloWebWorldAction action = (HelloWebWorldAction) proxy.getAction();  
  434.         String result = action.execute();  
  435.         assertEquals(result, Action.SUCCESS);  
  436.   
  437.     }  
  438. }  
  439.   
  440.   
  441.   
  442.   
  443.   
  444.   
  445.   
  446.   
  447.   
  448.   
  449. //============ the file name: D:\workspace\dweb\src\xwork.xml\xwork.xml  
  450. <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"   
  451. "http://www.opensymphony.com/xwork/xwork-1.0.dtd">  
  452.   
  453. <xwork>  
  454.     <!-- Include webwork defaults (from WebWork JAR). -->  
  455.     <include file="webwork-default.xml" />  
  456.     <include file="config-browser.xml" />  
  457.     <!-- Configuration for the default package. -->  
  458.     <package name="default" extends="webwork-default">  
  459.         <!-- Default interceptor stack. -->  
  460.         <interceptors>  
  461.             <interceptor name="greeting"  
  462.                 class="webwork.interceptor.MyInterceptor" />  
  463.    &nb
分享到:
评论

相关推荐

    怎么用WebWork来实现HelloWorld.docx

    WebWork 是一个基于Java的轻量级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,使得开发Web应用程序更加高效和便捷。本文将详细介绍如何使用WebWork来实现一个基础的"HelloWorld"示例...

    webwork2.2.7+spring+hibernate分页查询

    ### WebWork 2.2.7 + Spring + Hibernate 分页查询技术详解 #### 一、项目背景及架构 本项目采用WebWork 2.2.7框架结合Spring和Hibernate技术实现了一个基本的用户数据分页查询功能。主要目标是根据用户输入的...

    webWork,xwork.xml,web.xml配置

    WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在早期的Web开发中广泛应用,后来发展成为Struts2的一部分。WebWork的核心设计理念是通过动作(Action)来处理用户请求,并将业务逻辑与表示层分离,...

    webwork简单实例及说明

    WebWork 是一个由 OpenSymphony 开发的 J2EE Web 框架,专注于组件化和代码重用,采用拉出式MVC模式。在WebWork2.x版本中,它由Xwork和WebWork2两个项目组成。Xwork作为基础,提供Command模式实现,包括前端拦截器、...

    webwork_test demo

    webwork是与struts2相似的一种web开发框架,这里这个demo可以让你轻松学习webwork基本的action配置、访问,为了区别可以在本空间中下载基于struts2框架的应用Struts2,加以对比,可以让你一下学习两种web框架。

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...

    WEBWORK

    WebWork 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它在早期的 Web 应用开发中非常流行,尤其是在 Struts 1 之前。WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制...

    Spring+Webwork+iBatis 组合实例

    ### Spring+WebWork+iBatis 组合实例详解 #### 一、概述 在Java Web开发领域,Spring、WebWork与iBatis是三个非常重要的框架。本篇将结合具体的配置文件来详细介绍这三个框架是如何协同工作的,以及它们各自在项目...

    Webwork教程

    ### Webwork教程知识点详解 #### 一、WebWork框架简介 **WebWork**是一个开源的Java Web...学习并掌握WebWork/Struts2将为开发者提供坚实的技能基础,无论是在实际工作中还是在个人技术成长方面都将带来巨大的收益。

    WebWork2.0讲解说明

    WebWork2.0是一款基于Java的企业级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,旨在简化Web应用程序的开发流程,提高代码的可维护性和可扩展性。本讲解将围绕WebWork2.0的核心概念、...

    webwork实例.zip

    包括webwork2.x的 具体使用步骤,见解压后“webwork使用步骤.txt” 和一个实现前后台连通的webwork具体应用的“test” 实例,将test导入eclipse的工作空间,即可正常运行

    WebWork docs 2 -- webWork 详细的说明文档

    WebWork是一个基于Java的轻量级MVC(Model-View-Controller)框架,它为构建高性能、可维护的Web应用程序提供了强大的支持。WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时...

    webwork2开发指南

    WebWork2是一款基于Java的MVC(Model-View-Controller)框架,用于构建Web应用程序。在Web开发领域,它提供了一种结构化和模块化的开发方式,帮助开发者更高效地组织代码并实现业务逻辑。本指南将深入探讨WebWork2的...

    webwork

    WebWork 是一个开源的、基于Java的Web应用程序框架,它专为构建动态、交互式的Web应用而设计。这个框架的核心理念是模型-视图-控制器(MVC)架构模式,帮助开发者将业务逻辑、用户界面和数据管理分离开来,从而提高...

    webwork_框架文档

    WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在早期的Web开发中扮演了重要的角色,尤其是在Struts之前或作为其替代品出现。WebWork提供了许多先进的特性,如动作拦截器、类型转换、强大的异常处理...

    webwork的jar包

    WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。WebWork 1 和 WebWork 2 都是该框架的不同版本,每个版本都有其特性和改进。 WebWork 1 是早期的版本,提供了基础的MVC...

    webwork中文帮助文档

    - 通过日志框架如Log4j进行调试,追踪应用运行过程。 10. **最佳实践**: - 使用ActionSupport基类,它提供了很多默认行为和便利方法。 - 尽量保持Action轻量级,避免在Action中包含过多的业务逻辑。 本中文...

Global site tag (gtag.js) - Google Analytics