`
senton
  • 浏览: 206748 次
  • 性别: Icon_minigender_1
  • 来自: 紫禁城
社区版块
存档分类
最新评论

WebWork 入门示例

阅读更多
准备工作:
    Eclipse3.2   MyEclipse5.0  Tomcat5.5.x    下载 WebWork 完整包
    http://www.opensymphony.com/webwork/
 
新建工程 名称为 test ,使用 j2ee 1.4
解压包中的 webwork-2.2.2.jar 文件到项目的 lib 目录
解压包中的 lib\default\*.jar 文件到项目的 lib 目录,注:如果使用的是2.1.x的包需要解压的路径为 lib\core\*.jar
 
配置 web.xml 文件,文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>
 test</display-name>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
 
    <servlet>
     <servlet-name>webwork</servlet-name>
        <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>webwork</servlet-name>
       <url-pattern>*.action</url-pattern>
    </servlet-mapping>
</web-app>
WebWork 的Action是以 *.action 方式进行处理的,而 Struts 是以 *.do 方式处理
 
 
此示例需要使用到以下结构
 
模型: User.java       
控制: LoginAction.java
视图: index.jsp ok.jsp error.jsp
配置: xwork.xml
 
新建 User.java 文件,内容如下:
package com.test.model.bo;
 
public class User {
 
    private String userName;
    private String userPwd;
   
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserPwd() {
        return userPwd;
    }
    public void setUserPwd(String userPwd) {
        this.userPwd = userPwd;
    }
}
 
新建一个 class 文件名为: LoginAction ,并实现 com.opensymphony.xwork.Action 接口,此类和 Struts Action 相当相似,不过是以接口的方式实现,而 Struts 的是 Action 是以继承的方式实现,它们都有一个 execute() 方法
 代码如下:
package com.test.web.action;
 
import com.opensymphony.xwork.Action;
import com.test.model.bo.User;
 
public class LoginAction implements Action {
 
    // 此属性一定要进行初始化操作
    private User user = new User();
   
    public String execute() throws Exception {
        // 可以在这里调用Service层来进行验证,这里只验证用户名
        if (user.getUserName().equals("oksonic"))
            return this.SUCCESS;
        else
            return this.ERROR;
    }
 
    public User getUser() {
        return user;
    }
 
}
 
绿色字体为新增的一个属性,并创建它的 get 方法
 
src 目录下新建一个 xwork.xml 文件,此文件相当于 Struts 的配置文件,文件内容如下:
<!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="default" extends="webwork-default">
       <action name="login" class="com.test.web.action.LoginAction">
           <!-- 这里的意思是登录成功后跳转到 /ok.jsp 页面 -->
           <result name="success" type="dispatcher">
              <param name="location">/ok.jsp</param>
           </result>
                     <!-- 登录失败后跳转到 / error .jsp 页面 -->
           <result name="error" type="dispatcher">
              <param name="location">/error.jsp</param>
           </result>
           <!-- 此段代码为作用是将 request 请求的参数传递到 action 中 -->
           <interceptor-ref name="params" />
       </action>
    </package>
</xwork>
 
 
新建三个 jsp 文件
 
index.jsp 内容如下:
<html>
    <head>
       <title> INDEX </title>
    </head>
 
    <body>
     
       <DIV align = "center">
           LOGIN
       </DIV>
       <FORM action = "login.action" method = "post">
           <DIV align = "center">
              <TABLE border = "1" cellpadding = "0" cellspacing = "0">
                  <TR>
                     <TD>
                         username:
                     </TD>
                     <TD>
                         <INPUT type = "text" size = "10" name = "user.userName">
                     </TD>
                  </TR>
                  <TR>
                     <TD>
                         password:
                     </TD>
                     <TD>
                         <INPUT type = "text" size = "10" name = "user.userPwd">
                     </TD>
                  </TR>
                  <TR>
                     <TD colspan = "2" align = "center">
                         <INPUT type = "submit" value = "submit" name = "submit">
                         <INPUT type = "reset" value = "reset" name = "reset">
                     </TD>
                  </TR>
              </TABLE>
           </DIV>
       </FORM>
    </body>
</html>
 
这个页面使用的全是 html 的语法, user.userPwd 为 Action 中 User 对像 的 userPwd 属性
 
ok.jsp 文件内容如下:
<%@ taglib prefix = "ww" uri = "/webwork" %>
<html >
    <head >
       <title > OK </title>
    </head>
    <body>
       userName= <ww:property value = "user.userName" />
       <br>
       userPwd= <ww:property value = "user.userPwd" />
       <br>
    </body>
</html>
 
这里使用了WebWork的标签
 
error.jsp 文件内容如下:
<html >
    <head>
       <title> ERROR </title>
    </head>
    <body>
       Error !!!
    </body>
</html>
 
已经成功了!!!,对于 webwork 我也是刚学了这么一点,以后再有什么研究成果会再次展示.
 
分享到:
评论

相关推荐

    WebWork入门例子 HelloWorld

    这个“WebWork入门例子 HelloWorld”是为初学者准备的一个简单教程,旨在帮助他们快速理解WebWork框架的基本概念和工作原理。 WebWork的核心特性包括动作映射、数据绑定、拦截器、异常处理和强大的视图渲染。它通过...

    webwork_helloworld

    WebWork是一个基于Java的MVC(Model-View-Controller)框架,它被广泛用于构建企业级Web应用程序。"webwork_helloworld...通过逐一排查上述文件和目录,你应该能定位并修复问题,从而成功运行这个WebWork入门示例。

    webwork入门(添加注释)

    以上是WebWork入门的基本内容,涵盖了WebWork的核心概念、安装、动作、ActionContext以及请求处理机制。继续深入学习,你可以探索更多高级特性,如拦截器(Interceptor)、国际化(i18n)、AOP(面向切面编程)等,...

    webwork类型转换入门一

    在WebWork01这个压缩包中,可能包含了一些示例代码或配置文件,用于演示如何自定义TypeConverter或者配置WebWork的类型转换行为。这可能包括Action类、ActionForm类、配置文件(如`struts-config.xml`或`webwork-...

    webwork快速入门

    ### WebWork快速入门知识点 #### 一、WebWork框架简介 **WebWork**是一个由OpenSymphony组织开发的Java Web应用框架,它采用MVC(Model-View-Controller)架构模式,强调组件化和代码重用。WebWork的最新版本为2.1...

    WebWork 教程

    在WebWork的入门阶段,HelloWorld示例是最具指导意义的学习材料。通过构建这个简单的示例,开发者不仅能够理解WebWork的基本工作流程,还能接触到Action、ActionContext、ResultType等关键概念。Action是业务逻辑的...

    webWork

    1. 入门指南:介绍如何安装和配置WebWork,以及创建第一个WebWork应用。 2. 深入理解:讲解Action、Interceptor、OGNL等核心组件的工作原理。 3. 实战示例:通过实际项目案例展示WebWork的应用场景和最佳实践。 4...

    培训教程-WebWork ppt(内附源码)

    WebWork入门通常包括安装配置、项目创建和第一个Hello, World!示例。开发者会学习如何在项目中集成WebWork,设置必要的依赖,并创建一个简单的Action来处理HTTP请求。此外,还会介绍WebWork的配置文件,如`struts-...

    webwork in action

    - **第一个WebWork应用**:通过一个简单的“Hello World”示例,读者可以快速上手WebWork框架的基本用法,了解其工作流程和基本概念。 - **核心概念**:本书第二部分深入探讨了WebWork的核心概念,如动作、拦截器、...

    webwork2教程

    ### WebWork2 教程详解 #### 一、引言 WebWork2 是一款轻量级的 Java Web 开发框架,它遵循 MVC (Model-View-Controller) 设计模式,旨在...希望本教程能帮助您快速入门 WebWork2,并在实际项目中灵活运用这些知识。

    webwork-2.1.zip

    WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。WebWork 2.1是该框架的一个版本,...开发者可以通过这个压缩包快速入门,理解WebWork的工作原理,并运用到实际的项目开发中。

    WebWork2开发指南

    #### 二、快速入门 - **环境搭建**:要开始使用WebWork2进行开发,首先需要下载最新的WebWork2发行版,并将核心类库(例如\webwork-2.1.1.jar以及其他\lib\core\*.jar文件)放置到Web应用程序的WEB-INF/lib目录中。 ...

    webwork2.0参考资料

    - **目的**: 通过简单的HelloWorld示例快速入门WebWork。 - **步骤**: - 创建Web项目。 - 添加WebWork的依赖库至项目中。 - 配置`web.xml`文件, 注册Servlet控制器。 - 定义Action类, 实现业务逻辑。 - 配置`...

    Webwork2 开发指南

    #### 四、快速入门示例 假设我们要开发一个简单的登录流程,Webwork2可以帮助我们快速构建这一功能。首先,我们需要在`webwork.xml`中定义一个登录Action,然后在对应的Java类中实现具体的业务逻辑。接下来,配置...

    webworkinaction.zip_action _oscore-2.2.6.jar_webwork_webwork in

    这个名为"webworkinaction.zip_action_oscore-2.2.6.jar_webwork_webwork in"的压缩包包含了与WebWork框架相关的源代码和资源文件,特别适合初学者入门学习。 首先,`oscore-2.2.6.jar`是Oscailte核心库,它是...

Global site tag (gtag.js) - Google Analytics