前提条件: EclipseとJDKのセットアップ

EclipseとJDKがインストールされていない場合は、このURLに従ってください。

https://digitalappconsultancy.com/site/learning-java-hello-world-example/

使用されるソフトウェアは以下のとおりです。

Eclipse 4.6.x
JDK 1.8.x
Apache Wicket 7.7.x
Apache Tomcat 8.5
Maven&Wicket(オプション)Eclipseプラグイン

最後に、プロジェクトは以下のようになります。

ステップ1: Maven&Apache Wicket Pluginのインストール

Eclipse – > Help – > Eclipse Marketplaceに移動し、Maven&Wicket(オプション)を検索します。プラグインをインストールします。Eclipseはプラグインのインストールの一環として再起動します。

ステップ2: Apache Tomcatをダウンロードする

下のリンクに行き、特定のTomcatバージョン(ここでは8.5)をダウンロードしてください。zipファイルのバージョンをダウンロードし、そのフォルダをCドライブに解凍します。

http://tomcat.apache.org/

コマンドプロンプトを使用してtomcat director – > binフォルダに移動し、起動バッチファイルを実行します。サーバーが起動していることがわかります。

tomcatサーバーを確認するには – ブラウザでhttp:// localhost:8080と入力します。

ステップ3:新しいMavenプロジェクト

新しいMavenプロジェクトを作成する – > Create Simple Project(原型プロジェクトをスキップする) – 以下のような詳細を提供する。

手順3: pom.xmlおよびweb.xmlを更新する

あなたのweb.xmlは以下のようになります。

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>MyWebApp</display-name>
  
   <filter>
        <filter-name>MyWebAppApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>com.webapp.WicketApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>MyWebAppApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

 

TomcatプラグインとApache wicketフレームワークとJunitフレームワークをダウンロードするには、Maven pom.xmlを更新してください。

注意:warファイル<packaging> war </ packaging>をビルドするためにmavenを指定しています。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>MyWebApp</groupId>
    <artifactId>MyWebApp</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <warSourceDirectory>WebContent</warSourceDirectory>
                </configuration>
            </plugin>

            <!-- Tomcat Maven plugin to deploy war file -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>TomcatServer</server>
                    <path>/MyWebApp</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <!-- Apache Wicket Jars -->
        <dependency>
            <groupId>org.apache.wicket</groupId>
            <artifactId>wicket-core</artifactId>
            <version>7.7.0</version>
        </dependency>
        
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        
        <!-- Apache Wicket Testing need this jar -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

ステップ5: Wicket Hello Worldを作成する

1. WicketApplication.javaを作成します。このWicketApplication.javaは、アプリケーションの起動時にエントリ・ポイント・クラスになります。
2. デフォルトホームページ(WicketApplication.javaで指定)のコンポーネントであるLoginPage.javaとLoginPage.htmlを作成します。3 . WebContent – > WEB-INFフォルダー内にweb.xmlを
作成します。

下記のWicketApplication.java

package com.webapp;

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

import com.webapp.page.LoginPage;

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

    @Override
    public void init()
    {
            super.init();
            // add your configuration here           
    }
}

下に提供されているLoginPage.java

package com.webapp.page;

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

/**
 * @author Niranjan Velagapudi
 *
 */
public class LoginPage extends WebPage{

    /**
     * 
     */
    private static final long serialVersionUID = 5946349607750478191L;
    

    public LoginPage() {
        add(new Label("message", "Hello World!"));
    }
}

下記のLoginPage.html

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
<head>
    <title>Wicket Examples - helloworld</title>
    <link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
    <span wicket:id="message" id="message">Message goes here</span>
</body>
</html>

下記のweb.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>MyWebApp</display-name>
  
   <filter>
        <filter-name>MyWebApp</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>com.webapp.WicketApplication</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>MyWebApp</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

ステップ6: JUnitフレームワークによるユニットテスト
重要な機能はApache Wicketフレームワークに付属しており、JUnitsを介してテストマークアップ(HTMLビュー)をユニット化することができます。

以下のようにsrc / test / javaパッケージの下にTestHomePageクラスを作成します。

package com.test.page;

import org.apache.wicket.util.tester.WicketTester;
import org.junit.Before;
import org.junit.Test;

import com.webapp.WicketApplication;
import com.webapp.page.LoginPage;

/**
 * @author Niranjan Velagapudi
 *
 */
public class TestHomePage {
    private WicketTester tester;

    @Before
    public void setUp() {
        tester = new WicketTester(new WicketApplication());
    }

    @Test
    public void homepageRendersSuccessfully() {
        // start and render the test page
        tester.startPage(LoginPage.class);
        // assert rendered page class
        tester.assertRenderedPage(LoginPage.class);
    }
}

ステップ7: Mavenの内部にTomcatを設定してデプロイする

  1. maven settings.xmlを追加して、展開用のTomcat Server管理ページにアクセスします。このxmlはmavenユーザディレクトリ.m2で利用可能になります

C:\Users\.m2\settings.xml は以下のようになります。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
    http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <localRepository/>
    <interactiveMode/>
    <usePluginRegistry/>
    <offline/>
    <pluginGroups/>
    <servers>
        <server>
            <id>TomcatServer</id>
            <username>admin</username>
            <password>admin</password>
        </server>
    </servers>
    <mirrors/>
    <proxies/>
    <profiles/>
    <activeProfiles/>
</settings>

最後に、プロジェクトは以下のようになります。

特定のゴール「tomcat7:deploy」を初めて使用してpom.xmlおよびRun As-Mavenを右クリックし、「tomcat7:redeploy」を再デプロイします。

Deploymentが成功した場合は、Hello Worldのページを以下のように表示する必要があります。

アクセスURL – http://localhost:8080/MyWebApp

詳細はApache Wicket Web Development Categoryの記事を参照してください。

※こちらの記事はこちらのサイトを翻訳しています。