[精讚] [會員登入]
509

【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內

Wicket 是一個 Java 下的套件,換言之,我們的網頁伺服器後端是由 Java 來撰寫的

分享此文連結 //n.sfs.tw/15668

分享連結 【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-03-11 17:52:17 最後編修
2022-03-10 20:03:40 By 過路君子
 

大家好,這裡是終於前進網頁後端的小編過路君子

捨棄了方便成熟好用的 PHP,轉而投向規定相對嚴格的 Java 懷抱,反正動態更新以及資料庫 Java 也能做

 

 

那在開始之前小編在此先附上規格表:

軟體名稱 版本
Maven 3.8.4
Wicket Core 9.8.0
Wildfly 8.0.26
Linux CentOS 7

如果有需要查詢 Wicket 相關的 API,這邊有一個好用的查詢網站可以用:Wicket Core 9.8.0 API

關於 Wicket 它除了本體以外,還有其他的外掛可以使用(例如:wicketstuff-annotation),那這篇文章會將主題聚焦在其本體 wicket 上,不會引入任何外掛。

 

那既然是 Maven,這邊就先上小編的目錄配置圖:

(所有圖片點擊都可以放大、變高清)

通常是一個 html 搭配一個 java檔,然後置於同一目錄底下。

當然也可以分開放,但是如果是分開放就是要在 java檔案裡做特殊宣告。

 

接下來是 pom.xml 的配置,首先是 wicket 的 dependency 資訊:

<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket</artifactId>     
    <version>9.8.0</version>
    <type>pom</type>
</dependency>

然後是 build 資訊,這裡沒寫無法正確加載資源:

<build>
    ...
    <resources>
        ...
        <resource>
            <directory>src/main/java/</directory>
            <filtering>false</filtering>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        ...
    </resources>
    ...
</build>

小編看很多人的文章 <include>**</include> 是寫成 <include>*</include> 也就是打一個星星,但是小編依照那樣的寫法仍舊無法正常獲取資源。

是後來改成打兩個星星的寫法才能正確獲取資源,所以如果後面部屬完畢仍舊顯示無法抓到資源,可以試著將其改成一個星星就好。

 

接下來我們打開 web.xml 寫入以下資訊:

<filter>
    <filter-name>main</filter-name>
    <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
    <init-param>
        <param-name>applicationClassName</param-name>
        <param-value>taiwan.webRoute</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>main</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

如果各位檔案配置跟小編上圖一模一樣,則這邊不需要進行修改,若不一樣 <param-value></param-value>裡面的路徑請改成指向 webRoute.java 的路徑(從 java 目錄下開始)。

 

然後接著打開 webRoute.java 寫入以下程式碼:

package taiwan;

import org.apache.wicket.Page;
import org.apache.wicket.protocol.http.WebApplication;

import taiwan.webpage.hello;

public class webRoute extends WebApplication
{
    @Override
    public Class<? extends Page> getHomePage()
    {
        return hello.class;
    }
}

這支程式只做一件非常簡單的事情:當今天有訪客連線進來的時候,若沒帶任何的參數,則預設顯示 hello.html 這個頁面。

 

接著打開 hello.html 寫入以下資訊:

<!doctype html>
<html>
    <head>
        <title>Hello World</title>
    </head>

    <body>
        <h1><span wicket:id="text"></span></h1>
    </body>
</html>

 

然後打開 hello.java 寫入以下程式碼:

package taiwan.webpage;

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

public class hello extends WebPage
{
    public hello()
    {
        Label msg = new Label("text", "Hello World!");
        msg.setRenderBodyOnly(true);
        add(msg);
    }
}

 

接下來部署到 Wildfly 上,接著使用瀏覽器連線到網頁伺服器所在位置就能看到結果了喔!

至於要如何打包成 war 可以參考這篇: 【Maven】如何創建一個簡單可部屬的WAR檔@小編過路君子

那又要如何透過 Maven 進行部署,可以參考這篇: 【Maven】用Maven來託管Wildfly/jBoss的部屬(deploy)、解部屬(undeploy)@小編過路君子

 

 

後記

話說小編的 SQL 大約半年前就學了,本來想學完資料庫之後就接著架設網頁後端,但沒想到學完之後就被一堆事情壓上來,轉眼睛回過頭的時候已經過了半年了......

然後這之中也只有使用過一次,在這: 【CoreProtect】[SpigotMC] (進階篇) 如何直接存取資料@小編過路君子

也算還好有學過,要不到時資料拉出來發現是 .db(database) 然後又不會寫 SQL 就尷尬了。

END

你可能感興趣的文章

【Firefox \ Maven】[Headless](Linux) 如何使用Maven打包並驅動Firefox 有時候我們需要取得渲染後的網頁,當然是直接呼叫瀏覽器出來用啦

【Maven】如何創建一個簡單可執行的JAR檔 滿重要的一個小功能,畢竟有時候是要傳遞的是JAR檔,而不是直接透過Maven直接部屬之類的

【C++】使用struct array和一維int array模擬二維int array 主要是因為用sort去排序int array的二維陣列小編懶得研究,於是就研究了一種維持一維陣列但是有二維陣列效果的程式,小編就廢~~

【Wickct】(link) <a> 如何新增超連結 簡單來說有兩種方式,小編個人比較偏好 的方法

【教程】[HTML](進階版)如何在手機上編輯電子書(epub)預覽介面 可能會有人認為電子書(epub)只能用電腦來開啟、編輯,其實不是的,手機也可以編輯喔!

【Wildfly/jBoss】[Linux](Connection Datasource)如何與MySQL資料庫建立連線 網頁瀏覽器和資料庫的關係密不可分,而通常會將兩者分開架設在不同的伺服器上面來提供服務,這時要如何進行連線呢?

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

阿拉豬和哼兔哈哈豬
思勾以內…我弄了好久都沒辦法成功。 @2022-03-10 22:21:30

小編過路君子
確實不太好弄,相關文章各個重點都挺分散的。
2022-03-10 22:33:39

隨機好文

高捷少女:美麗島的守護者③ 小雅閉上眼睛,思索在高捷發生的點點滴滴。她心意已決,在高捷的日子的確也有快樂的部分,不過她相信換個方向是更好的決定。有關高捷的所有美好回憶,小雅決定保留在心裡就好,繼續在高捷工作只會讓自己更痛苦而已,

【歌評】蓮台野夜行-少女幻葬~ Necro-Fantasy 這首歌就像墜入無盡深淵的同時面臨最終決戰;不管贏還是輸,你終將失去一切,永遠消失

【日翻中歌詞】ピースサイン(Peace Sign) 那一天從我們的頭頂 輕掠而過的那架飛機 有點不可思議 還記得 為何呢?毫無意義 

【英翻中歌詞】(二創歌)東方妖妖夢-人形裁判 ~玩弄人偶的少女 人形裁判 ~ 人の形弄びし少女 很久很久以前,在一個神奇的異地,住著一位少女,十分惹人憐愛 她的皮膚就像陶瓷一樣潔白,眼睛就像藍色寶珠般明亮

艾米莉亞和高捷戀旅② 七點三十五分了。 「快到粉絲團!快!」小穹慌張地說,婕兒、耐耐也湊向手機。雖然她們沒有報名,不過也希望亦晨參賽,不免著急起來。 「亦晨?妳的報名序號是多少?」艾米快速滑動手機。合格的參賽者姓名和序號都