wicket 這個JAVA的WEB表現架構 相對其他架構來說稍微簡單下,它只在HTML文檔增加個標識
<span wicket:id="message">Message goes here</span>
在這裡下載WICKET 架構:http://www.apache.org/dyn/closer.cgi/wicket/6.1.1
binaries/ 05-Oct-2012 17:45 -
CHANGELOG-6.x 05-Oct-2012 17:44 35K
KEYS 05-Oct-2012 17:44 22K
apache-wicket-6.1.1.tar.gz 05-Oct-2012 19:33 4.3M
apache-wicket-6.1.1.tar.gz.asc 05-Oct-2012 19:33 195
apache-wicket-6.1.1.zip 05-Oct-2012 19:33 8.0M
apache-wicket-6.1.1.zip.asc 05-Oct-2012 19:33 195
binaries 目錄下
apache-wicket-6.1.1-bin.tar.gz 05-Oct-2012 17:45 25M
apache-wicket-6.1.1-bin.tar.gz.asc 05-Oct-2012 17:45 195
apache-wicket-6.1.1-bin.zip 05-Oct-2012 17:45 25M
apache-wicket-6.1.1-bin.zip.asc 05-Oct-2012 17:45 195
我們下載:
apache-wicket-6.1.1-bin.zip 05-Oct-2012 17:45 25M 這個是二進位JAR包和執行個體WAR
apache-wicket-6.1.1.zip 05-Oct-2012 19:33 8.0M 這個是原始碼
這個WICKET6 需要JAVA JDK6 這個JDK6下載和安裝這裡不講了.另外使用NETBEAN 7.0中文版 而不是ECLISPE.
NETBEAN 7->檔案->建立項目->JAVA WEB->web 應用程式->下一步->選擇項目名稱,儲存地址->下一步->
伺服器選擇 APACHE TOMCAT 7.0.11 ; Java EE版本:JAVA EE 6 WEB ; 上下文路徑: /webapplication2
netbean 7安裝的時候帶上TOMCAT.
下步後 不選擇應用程式框架. 因為這裡面列出來的沒有我們想要的-->完成
在NETBEAN 左側出現新的項目,在樹目錄頂上出現有:項目;檔案;伺服器標題列.
項目這塊目錄結構:
web 頁
Meta-inf
web-inf
index.jsp
源包
庫
設定檔
檔案這塊目錄結構:
webapplication2
--- nbproject
--- src
------ conf manifest.mf
------ java
---web
-----META-INF context.xml
-----WEB-INF beans.xml
-----index.jsp
--build.xml
主要關注SRC目錄和WEB目錄,NBPROJECT和BUILD.XML是NETBEAN編譯時間候用的. 另外BEANS.XML可以暫時刪除掉.其他兩個檔案可以不理睬.
回到 項目結構上 選擇庫然後把WICKET6.1的JAR添加進來. 右鍵->添加庫 顯示個列表框表示現有已安裝的庫 我們選擇-->建立->取個WICKET6
選擇按鈕 <添加JAR/檔案夾...> 然後把WICKET解壓出來的JAR統統加進來就是了. 不過這裡注意下不能選擇檔案夾哦!
WICKET JAR包: 那個BIN下面有大部分的JAR包,當沒有日誌包 需要從執行個體WAR裡挖出來 用7ZIP提取出來 在wicket-examples\WEB-INF\lib\下面有56個包
好了現在環境基本搞定了!
在項目目錄上 選擇源包右鍵->建立->JAVA包->取個"HelloWorld"包名 OK 後就出現了灰色包表徵圖
然後在該表徵圖上右鍵 建立JAVA類 取名為"HelloWorldApp" 就出現了HelloWorldApp.java
寫下如下代碼:
HelloWorldApplication.java
package HelloWorld;import org.apache.wicket.protocol.http.WebApplication;public class HelloWorldApp extends WebApplication { public HelloWorldApp() { } /** * @see org.apache.wicket.Application#getHomePage() */ @Override public Class getHomePage() { return HelloWorld.class; }}
如果IMPORT 有驚嘆號 說明庫沒添加好, retrun HelloWorld 說明沒這個類.
那好我再建個類吧!
HelloWorld.java
package HelloWorld;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 World!")); }}
ok 在同一個包下再建立個HTML
HelloWorld.html
The HTML file that defines our Hello World functionality is as follows:
<html><body> <span wicket:id="message">Message goes here</span></body></html>
到這裡沒有基本的JAVA錯誤了! 在項目目錄結構中的WEB-INF下面建個WEB.XML
右鍵->建立->其他->類別:web 檔案類型:最下面的"標準部署描述符(web.xml)"
添加如下配置說明
web.xml
<?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>Wicket Examples</display-name> <filter> <filter-name>HelloWorldApplication</filter-name> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> <init-param> <param-name>applicationClassName</param-name> <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value> </init-param> </filter> <filter-mapping> <filter-name>HelloWorldApplication</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
這裡面寫了些 1 過濾器 <filter-name> 2 過濾類 applicationClassName 3 路徑 url-pattern
因為我們的包名和類名不一樣把上面的稍微改寫
<param-name>applicationClassName</param-name> <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value>
改成
<param-name>applicationClassName</param-name> <param-value>HelloWorld.HelloWorldApp</param-value>
<filter-name>HelloWorldApplication</filter-name> <url-pattern>/*</url-pattern>
改成
<filter-name>HelloWorldApp</filter-name> <url-pattern>/HelloWorld/HelloWorld.html</url-pattern>這個也相應改下:<filter-name>HelloWorldApplication</filter-name>
修改Index.jsp檔案
增加 <a href="HelloWorld/HelloWorld.html">Helloworld</a> 超連結 這個跟上面的路徑模式是匹配的.
當擊WebApplication3右鍵 清理並產生 就開始了編譯和部署 不出意外的話就OK
然後我們看下檔案目錄編譯後的結構:
編譯比較順利可以看到BUILD目錄下多了classes和lib 把java編譯成了class,把wicket庫也帶進去了.
F6 運行主專案
點擊HelloWorld超連結 就激發Wicket
其過程中或許遇到些錯誤 可能是web.xml 或者是tomcat沒停下