- How can I install the Wicket framework?
- mvn archetype:create
- -DarchetypeGroupId=org.apache.wicket
- -DarchetypeArtifactId=wicket-archetype-quickstart
- -DarchetypeVersion=1.4.1
- -DgroupId=com.mycompany
- -DartifactId=projName
- WicketTomcat
- +---src
- | +---main
- | | +---java
- | | | ---com
- | | | ---HelloWicket
- | | | HelloWorld.java
- | | | HelloWorld.html
- | | | HelloWorldApplication.java
- | | ---webapp
- | | ---WEB-INF
- | | web.xml
- | ---test
- | ---java
- +---lib
- | junit.jar
- | log4j.jar
- | servlet-api.jar
- | slf4j-api.jar
- | slf4j-log4j.jar
- | wicket.jar
- | wicket-extensions.jar
- +---target
- build.xml
- package com.HelloWicket;
- import org.apache.wicket.markup.html.WebPage;
- import org.apache.wicket.markup.html.basic.Label;
- public class HelloWorld extends WebPage {
- public HelloWorld() {
- add(new Label("message", "Hello, Wicket!"));
- }
- }
- <html>
- <head>
- <title>Wicket Tomcat test title</title>
- </head>
- <body>
- <span wicket:id="message">Message goes here</span>
- </body>
- </html>
- package com.HelloWicket;
- import org.apache.wicket.Page;
- import org.apache.wicket.protocol.http.WebApplication;
- public class HelloWorldApplication extends WebApplication {
- public HelloWorldApplication() {
- }
- /**
- * @see org.apache.wicket.Application#getHomePage()
- */
- @Override
- public Class<? extends Page> getHomePage() {
- return HelloWorld.class;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
- <web-app>
- <display-name>Extremely simple example of deploying Wicket on Tomcat</display-name>
- <context-param>
- <param-name>configuration</param-name>
- <param-value>development</param-value> <!-- Wicket mode (development or deployment) -->
- </context-param>
- <filter>
- <filter-name>HelloWicket</filter-name> <!-- To be used in filter-mapping > filter-name below -->
- <filter-class>
- org.apache.wicket.protocol.http.WicketFilter
- </filter-class>
- <init-param>
- <param-name>applicationClassName</param-name>
- <param-value>
- com.HelloWicket.HelloWorldApplication <!-- Fully qualified name of WebApplication class -->
- </param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>HelloWicket</filter-name> <!-- Must match filter > filter-name above -->
- <url-pattern>/*</url-pattern> <!-- Take control of all URLs that start with http://localhost:8080/HelloWicket/ -->
- </filter-mapping>
- </web-app>
- <!--
- After deploying to Tomcat, access with http://localhost:8080/HelloWicket/.
- Source: http://wicket.apache.org/learn/examples/helloworld.html
- -->
- <?xml version="1.0" encoding="UTF-8"?>
- <project default="war" name="HelloWicket" basedir=".">
- <property name="final.name" value="HelloWicket" />
- <property name="src.main.dir" value="src/main/java" />
- <property name="src.test.dir" value="src/test/java" />
- <property name="src.web.dir" value="src/main/webapp" />
- <property name="lib.dir" value="lib" />
- <property name="build.dir" value="target" />
- <property name="build.main.classes" value="${build.dir}/classes" />
- <property name="build.test.classes" value="${build.dir}/test-classes" />
- <property name="build.test.reports" value="${build.dir}/test-reports" />
- <property name="build.reports.dir" value="${build.dir}/reports" />
- <property name="tomcat.dir" value="........Program FilesApache Software Foundationapache-tomcat-7.0.22webapps" />
- <path id="build.classpath">
- <fileset dir="${lib.dir}">
- <include name="**/*.jar" />
- </fileset>
- </path>
- <target name="clean">
- <delete dir="${build.dir}" failonerror="false" />
- <delete file="${final.name}.war" failonerror="false" />
- </target>
- <target name="init">
- <mkdir dir="${build.dir}" />
- </target>
- <target name="compile" depends="init">
- <mkdir dir="${build.main.classes}" />
- <javac destdir="${build.main.classes}" target="1.6" source="1.6" srcdir="${src.main.dir}" classpathref="build.classpath" includeantruntime="false" />
- <copy todir="${build.main.classes}">
- <fileset dir="${src.main.dir}">
- <include name="**/*.*" />
- <exclude name="**/*.java" />
- </fileset>
- </copy>
- </target>
- <target name="test-compile" depends="compile">
- <mkdir dir="${build.test.classes}" />
- <javac destdir="${build.test.classes}" target="1.6" source="1.6" srcdir="${src.test.dir}" includeantruntime="false">
- <classpath>
- <path refid="build.classpath" />
- <pathelement path="${build.main.classes}" />
- </classpath>
- </javac>
- <copy todir="${build.test.classes}">
- <fileset dir="${src.test.dir}">
- <include name="**/*.*" />
- <exclude name="**/*.java" />
- </fileset>
- </copy>
- </target>
- <target name="test" depends="test-compile">
- <mkdir dir="${build.test.reports}" />
- <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true">
- <sysproperty key="basedir" value="." />
- <formatter type="xml" />
- <classpath>
- <path refid="build.classpath" />
- <pathelement path="${build.main.classes}" />
- <pathelement path="${build.test.classes}" />
- </classpath>
- <batchtest todir="${build.test.reports}">
- <fileset dir="${src.test.dir}">
- <include name="**/*Test*.java" />
- </fileset>
- </batchtest>
- </junit>
- <mkdir dir="${build.reports.dir}" />
- <junitreport todir="${build.reports.dir}">
- <fileset dir="${build.test.reports}">
- <include name="TEST-*.xml" />
- </fileset>
- <report format="frames" todir="${build.reports.dir}" />
- </junitreport>
- </target>
- <target name="war" depends="test">
- <war destfile="${build.dir}/${final.name}.war" webxml="${src.web.dir}/WEB-INF/web.xml">
- <lib dir="lib">
- <include name="wicket*.jar" />
- <include name="slf4j*.jar" />
- <include name="log4j*.jar" />
- <include name="servlet*.jar" />
- </lib>
- <classes dir="${build.main.classes}" />
- <fileset dir="${src.web.dir}">
- <include name="**/*" />
- <exclude name="**/web.xml" />
- </fileset>
- </war>
- </target>
- <target name="deploy" depends="war">
- <echo>Deploying .war to local Tomcat</echo>
- <copy todir="${tomcat.dir}">
- <fileset dir="${build.dir}" includes="${final.name}.war" />
- </copy>
- </target>
- </project>