WebWork入门

2024-03-09 01:38
文章标签 入门 webwork

本文主要是介绍WebWork入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WebWork入门教程

入门-helloWorld                                    

首先从https://webwork.dev.java.net/servlets/ProjectDocumentList下载最新的WebWork压缩包,并将其解压开来

 

 

打开解压目录,你将看到以下的文件和目录:(这里缺乏了xworkjar)

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目录源程序目录

 

2Webwork是用于j2ee框架,必须配置web服务器,我用的tomcat 服务器

   Jdkjdk5.0

 

3 webworkjar 及所必须的jar 放在你的classpath

拷贝WebWork框架运行需要的所有Jar文件到Web应用的WEB-INF/lib中。这些Jar文件,可以在WebWork项目中lib/default目录找到,即那个目录里面的所有文件。当然,别忘记今天的主角,在WebWork跟目录下的webwork-x.jar文件。

 

4.配置web.xml

了解Web框架的朋友都知道,一般Web框架都是通过一个JavaServlet控制器提供统一的请求入口,解析请求的url,再去调用相应的Action进行业务处理.

 

加下面的两段代码:

    <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>

 

 

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

 

注意:如果使用WebWork自带的标签库,除了配置相应的标签库以外,还须将com.opensymphony.webwork.views.velocity.WebWorkVelocityServlet配置到web.xml,具体可以参考webwork-example里面的配置

 

 

Hello-World 开始

首先编写HelloWorldAction.java,代码如下:

 

package com.zsw.webwrok;

 

import com.opensymphony.xwork.Action;

public class HelloWorkAction implements Action {

 

    String greeting; 

   

    public String getGreeting() {

       return greeting;

    }

   

    public String execute() throws Exception{

       this.greeting = "Hello World!";

       return SUCCESS;

    }

}

 

 

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

 

 

 

 

 

 

编写返回页面的jsp 代码如下:

<%@ taglib prefix="zsw" uri="/webwork" %>

<html>

<head>

    <title>First WebWork Example</title>

</head>

<body>

<p><zsw:property value="greeting"/></p>

</body>

</html>

 

编写xwork.xml

 

<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"

"http://www.opensymphony.com/xwork/xwork-1.0.dtd">

 

<xwork>

    <include file="webwork-default.xml"></include>

    <package name="default" extends="webwork-default">

       <action name="hello" class="com.zsw.webwrok.HelloWorkAction">

           <result name="success" type = "dispatcher" >

              <param name="location">/HelloWord.jsp</param>

           </result>

       </action>

    </package>

</xwork>

 

 

测试页面

在浏览器里输入你的地址:http://localhost:8080/webwork/hello.action

 

 

这篇关于WebWork入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/789143

相关文章

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE