从 CVS 中导出 WicketHelloWorld

目的

  • 学习从 CVS 中导出项目
  • 学习 Wicket 基本结构

例子来源

Wicket User Guide - 2 How to use the example code

环境准备

  • Eclipse
  • Eclipse 插件 - CVS
  • Eclipse 插件 - Maven
  • Eclipse 插件 - Tomcat

为方便部署,我下载了一个 JEE 版本的 Eclipse,包含所有插件

\\192.168.40.90\Tools\eclipse\eclipse-jee-luna-SR1-win32-x86_64.zip

Tomcat

\\192.168.40.90\Tools\Tomcat

Maven

\\192.168.40.90\Tools\apache-maven-3.1.0

建立 CVS 资源库

:pserver:yourName@192.168.1.182:/depcvs/platform_training
platform_training/demo/wicket/HelloWorldExample

在 CVS 中添加资源库方法请参考:WCL 入门

从 CVS 中 Checkout

  • 在 CVS 资源库中找到项目目录后,右键,选择 Check Out As...

  • 选择 Check out as a project in the workspace,点击 Finish

  • 此时项目已经导出到 Eclipse 的工作目录了

转换为 Maven 项目

如果在项目的根目录发现有 pom.xml 文件的话,那就表示此项目是支持 Maven 构建的。

  • 右键,找到 Configure 选项,选择 Convert to Maven Project

  • 运行结束后代码目录如下

  • 如果转换为 Maven 后报错,可以试试如下方法

右键,Maven,选择 Update Project

启动项目

  • 右键 Run As 选择 Run on Server

  • 选择一个 tomcat Server, 如果没有的话,需要新建一个

  • 点击 Finish 后,访问 http://localhost:8080/HelloWorldExample/,效果如下

代码结构

web.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">

<display-name>HelloWorldExample</display-name>

<filter>
<filter-name>wicket.HelloWorldExample</filter-name>
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
<init-param>
<param-name>applicationClassName</param-name>
<param-value>org.wicketTutorial.WicketApplication</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>wicket.HelloWorldExample</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

WicketApplication.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package org.wicketTutorial;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.protocol.http.WebApplication;

public class WicketApplication extends WebApplication {
@Override
public Class<? extends WebPage> getHomePage() {
return HomePage.class;
}

@Override
public void init() {
super.init();

// add your configuration here
}
}

HomePage.java

1
2
3
4
5
6
7
8
9
10
11
12
13
package org.wicketTutorial;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;

public class HomePage extends WebPage {

private static final long serialVersionUID = 1L;

public HomePage() {
add(new Label("helloMessage", "Hello WicketWorld!"));
}
}

HomePage.html

1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>

<h1 wicket:id="helloMessage"></h1>
</body>
</html>