=================== 2013-03-12 11:08 修改====================
解決windows 下 jetty的靜態資源鎖定問題:
java
<!-- jetty plugin configuration --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <configuration> <webAppConfig> <defaultsDescriptor>src/main/resources/webdefault.xml</defaultsDescriptor> </webAppConfig> </configuration> </plugin>保存
======================================================================= git
a) 裝好 maven 插件的 Eclipse github
b) Cmd命令行能夠執行mvn命令(可選) web
c) 網絡通暢 數據庫
二、搭建步驟 windows
a) 從 Github裏面下載最新的EWeb4J項目並本地構建 瀏覽器
i. 打開 https://github.com/laiweiwei/eweb4j-framework 服務器
ii. 點擊 ZIP 下載 網絡
iii. 下載以後解壓到某個目錄下 mvc
iv. 打開cmd命令行,到該目錄執行mvn install -Dmaven.test.skip=true
v. 等待構建成功
b) 打開eclipse,新建一個Maven jee5 項目
c) 編輯pom.xml,添加eweb4j依賴
d) 編輯pom.xml,添加jetty插件
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.8.v20121106</version> <configuration> <stopKey>stop</stopKey> <stopPort>5599</stopPort> <webAppConfig> <contextPath>/</contextPath> </webAppConfig> <scanIntervalSeconds>10</scanIntervalSeconds> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8090</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration> </plugin>
e) 運行jetty server
這裏能夠用eclipse來運行,也能夠在cmd下運行,筆者比較喜歡在cmd下運行
mvn jetty:run
f) 打開瀏覽器測試訪問index.jsp
這說明服務器啓動成功了,也能夠訪問index.jsp了,接下來開始集成eweb4j框架
注意,如下過程無需重啓服務器!也無需執行maven的任何命令,你所要作的,就是編輯源碼 :)
g) 編輯web.xml,添加EWeb4J框架Filter類
<!-- eweb4j --> <filter> <filter-name>EWebFilter</filter-name> <filter-class>org.eweb4j.mvc.EWebFilter</filter-class> <init-param> <param-name>StartFileName</param-name> <param-value>start.xml</param-value> </init-param> <init-param> <param-name>CheckStartFileExist</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>ConfigBasePath</param-name> <param-value>${RootPath}/WEB-INF/classes/</param-value> </init-param> <init-param> <param-name>BaseURLKey</param-name> <param-value>BaseURL</param-value> </init-param> <init-param> <param-name>ReqParamMapKey</param-name> <param-value>ReqParamMap</param-value> </init-param> <init-param> <param-name>ForwardBasePath</param-name> <param-value>/</param-value> </init-param> </filter> <filter-mapping> <filter-name>EWebFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- eweb4j -->
注意新增了CheckStartFileExist參數,參數值設置爲false表示不檢查框架啓動配置文件是否存在,這樣的話若是不存在start.xml,框架也能夠啓動而且使用默認的配置。
保存以後查看控制檯信息,會發現這個:
表示服務器掃描到了新的變化,而且已經加載了EWeb4JFilter類了。接下來咱們來編寫一個HTTP控制器類。
h) 建立一個UserControl控制器類
i) 打開瀏覽器測試訪問該控制器類 /user?name=eweb4j
能夠看到,整個過程不須要重啓服務器,也不須要執行maven的install命令,就能訪問最新的代碼了,仍是比較方便的
你能夠繼續修改源碼,而後直接訪問瀏覽器就能看到變化,若是不能立刻看到變化,稍等一下子(根據插件參數配置 ,如今是 10秒鐘間隔時間,能夠調整)就能看到變化。
三、進階
經過上面的介紹咱們看到使用eclipse+jetty+maven+eweb4j開發java的web程序的效率仍是比較高的。可是因爲jetty的特殊性,致使eweb4j的啓動配置文件讀取路徑跟正常狀況稍微有些不一樣。
通常狀況下,${RootPath}是運行期的根目錄,例如 target/xxxx,可是在這裏,沒有進行maven的install,所以target目錄下也就沒有生成項目目錄,這時候,這個${RootPath}其實指向的是源碼項目根目錄
所以呢,咱們要建立的start.xml文件須要在源碼也有一份,之後發佈項目以後同步到真正的WEB-INF\classes目錄下。
爲了方便框架在找不到start.xml文件的狀況下能自動建立一份樣本,咱們須要修改web.xml的啓動參數
而後,在源碼項目裏面建立WEB-INF/classes目錄
接下來訪問瀏覽器,記住,第一次的時候框架會報一個異常,再刷新下便可正常訪問。而後會發現WEB-INF/classes目錄下會生成一個start.xml文件
有了這個start.xml,就能夠開啓ORM模塊進行數據庫訪問,以及配置其餘功能特性了。
記住!之後開發完成後,要記得把配置文件同步到相應的目錄裏面哦 :)