一种构建和测试动态Web页面的web.xml配置文件

本文配套源码

概览

Wicket 是最近才启用的 Java Web 开发框架。它是一种开源、轻量、基于组件的框架,这让 Wicket 迅速从开发 Web 应用程序的常用方法中脱颖而出。Wicket 力图通过支持基于纯 HTML 的模板来清晰地界定 HTML 页面设计人员和 Java 开发人员之间的角色界线,此模板可使用任何的 WYSIWYG HTML 设计工具构建,并且经稍许修改就可以具备动态特征。

与其他框架类似,Wicket 也构建在 Sun Microsystems 的 servlet API 之上。不过,与基于 Model-View-Controller (MVC) 模型(比如 Struts)的其他框架不同,Wicket 可以让您从处理请求/响应对象的任务中解脱出来,而这些任务是诸如 servlet 这类技术所固有的。去掉这些任务后,Wicket 让您能将精力更多地集中于应用程序的业务逻辑。

作为一个 Wicket 开发人员,应该考虑构建有状态的可重用组件,而不是构建用来处理请求/响应对象的控制器并且同时还要担心多线程问题。与构建控制器或动作类相反,您创建的是一个页面,在这个页面上放置组件,然后定义每个组件如何响应用户输入。

HelloWorld 示例

要真正展示使用 Wicket 开发基于 Web 的应用程序的简便性,不妨先来开发一个简单的 “Hello World” 示例。在 Wicket 开发一个动态页面通常只会涉及创建如下两个工件:

● HTML 模板

● Java 页面类

注意:必须确保实际的 HTML 文件和页面类名称是相同的(例如,HelloWorld.html 和 HelloWorld.java)而且二者均处在 CLASSPATH 上的相同位置。而且最好要将二者置于相同的目录内。

HTML 模板(HelloWorld.html)

清单 1 中所示的是 HelloWorld 示例的模板文件。

清单 1. HelloWorld.html

<html>
<head><script type="text/javascript" ></script></head>
<body bgcolor="#FFCC00">
<H1 align="center">
<span wicket:id="message">Hello World Using Wicket!</span>
</H1>
</body>
</html>

要制作动态的Web页面,需要确定页面的动态部分并告知Wicket 使用组件来呈现这些部分。在清单1中,我想要获得动态的消息,于是我使用了span 元素来标记该组件,使用wicket:id 属性来标示该组件。

Java 页面类(HelloWorld.java)

清单 2 所示的是 HelloWorld.java 示例的页面类。

清单 2. HelloWorld.java

package myPackage;
import wicket.markup.html.WebPage;
import wicket.markup.html.basic.Label;
public class HelloWorld extends WebPage
{
  public HelloWorld()
  {
   add(new Label("message", "Hello World using Wicket!!"));
  }
}

页面类中 label 组件的 ID("message")必须要与模板文件内此元素的 Wicket ID(wicket:id="message")相匹配。Wicket 的 Java 页面类包含 Web 页的所有动态行为。而 HTML 模板和页面类之间是一对一的关系。

最后,需要创建一个 Application 对象,当应用程序由 Web 容器加载时,该对象是起始点,而且它还是进行应用程序初始化设置和配置的地方。比如,可以通过覆盖 getHomePage() 方法并返回对应于应用程序主页的页面类来定义应用程序的主页,如清单 3 所示。

清单 3. HelloWorldApplication.java

package myPackage;
import wicket.protocol.http.WebApplication;
public class HelloWorldApplication extends WebApplication {
  protected void init() {
  }
  public Class getHomePage() {
   return HelloWorld.class;
  }
}

时间: 2025-01-28 00:41:30

一种构建和测试动态Web页面的web.xml配置文件的相关文章

自动把纯文本转换成Web页面的php代码_php技巧

首先让我们来看一个我朋友希望转换的纯文本文件的例子: 以下为引用的内容: 复制代码 代码如下: Green for Mars! John R. Doe The idea of little green men from Mars, long a staple of science fiction, may soon turn out to be less fantasy and more fact. Recent samples sent by the latest Mars explorati

新型Web攻击技术——Web缓存欺骗

本文讲的是新型Web攻击技术--Web缓存欺骗,Web缓存欺骗是一种新的Web攻击向量,这种攻击技术的出现使得多种Web缓存技术和框架面临风险. Web缓存和服务器反应的一点介绍 很多网站通常都倾向于使用web缓存功能(例如通过CDN,负载均衡器或简单的反向代理).使用Web缓存功能的目的很简单:存储那些经常检索的文件,以减少Web服务器响应的延迟. 让我们来看一个网络缓存的例子.网站http://www.example.com通过配置了反向代理作为Web缓存.存储在服务器上并需要返回用户个人内

使用WebKing测试动态Web应用

如何使用 WebKing 对动态 Web 应用进行 Accessibility 测试 WebKing 简介 WebKing 是 Parasoft 公司推出的一款 Web 自动化测试软件,可以使用其进行白盒.黑盒和回归测试.本文主要关注该工具 对 Web 应用在 Accessibility 方面所做的检查与测试.WebKing 对 Accessibility 的检查基本上是扫描页面的元素内容, 按照特定的规则来匹配,不符合的即报错. Webking 支持本地文件的检查测试和创建项目检查测试网站内容

脚本和web页共用同一个文件测试_javascript技巧

脚本和web页共用同一个文件测试

在Web页上模拟(QQ)魔法表情

web 在WEB页面中利用层(DIV)和嵌入FLASH时对相关的属性进行设置,可以模拟出魔法表情的效果.(即播放透明背景的SWF,具体可以看看QQ较新版本中的"魔法表情"功能).由于是在WEB页中模拟实现,所以,当然是你关闭浏览器或者说最小化浏览器,模拟实现的魔法表情也就随着WEB页面一起"没有了". 我用JS写了个简单的例子,演示页面(DEMO)入下: http://exp.univchina.org/univs/sjtu/Tomato/simulateMagic

轻松制作自己的信息反馈WEB页

web 网上的信息反馈,其实就是交互表单,通常表单主要用于信息调查.收集统计数字等方面,在电子商务流行的今天,表单的作用更是不容忽视,我们可以利用表单来轻松完成各种数据的收集.获得用户定单等,对于不懂数据库的我们,还是先学学FP的简单表单制作方法吧,也免的落伍与这个电子商务时代.首先打开"文件"菜单,选择"新建",在子菜单中选择"网页"命令.在弹出的对话框中点击"常规"选项卡,然后选择"表单网页向导",并单

从 ASP Web 页返回 XML

概要从 Active Server Pages (ASP) Web 页返回 XML 数据是一种常见的编程要求. 实现此要求所用的方法因用来托管 ASP 应用程序的 Microsoft Internet 信息服务 (IIS) 的版本而异. 本文中的分步指南带有相关的示例代码,演示了怎样从 ASP 页返回可扩展标记语言 (XML) 数据.  下面的示例代码创建一个 ASP 页,此页返回XML 格式的 ActiveX Data Objects (ADO) 记录集的内容. 此代码连接着 SQL Serv

解决多通道测试的挑战:在界面间移动的测试,从移动到 Web 再反转回来

多通道 描述的是具有多个界面的应用程序.随着我们从桌面发展到基于 Web 的计算甚至是移动计算,多 通道越来越常见.由于设备(平板.手机.笔记本电脑.台式计算机)以及与设备交互方式(特定于设备的 "应用程序".浏览器和传统的客户端应用程序)的组合,同一个应用程序的界面越来越多.比如,使用相同 业务逻辑的面向 Web 应用程序.移动应用程序甚至是一个 CLI(命令行界面)的银行应用程序.由于面向服 务的架构 (SOA) 和 Web 服务日益流行,在很多情况下,集成者要做的工作就是把服务与

在Linux平台及IPv4环境中构建IPv6测试环境

随着互联网技术的不断发展,传统的 IPv4 地址已不能满足用户的需要.新一代的 IPv6 协议也日益被广泛的接受和使用,越来越多的软件系统都要求支持 IPv6 网络协议.然而现有网络环境对 IPv6 的支持仍然非常有限,这给软件的开发和测试都带来了一定的困难.本文将介绍如何使用 Apache 在现有的 IPv4 网络中构建模拟的 IPv6 环境. 在 Linux 平台及 IPv4 环境中构建 IPv6 测试环境 1 IPv6简介 IPv6(Internet Protocol Version 6)