本文爲eclipse開發java
注意上圖中:Target runtime 必定要選擇<None>web
特別注意:此處的 Default out folder必需要與 WebRoot\WEB-INF\classes 目錄徹底一致纔可使用 JFinal 集成的 Jetty 來啓動項目。瀏覽器
注意上圖:此處也可使用默認值WebContent, 但上一步中的WebRoot\WEB-INF\classes則須要改爲WebContent\WEB-INF\classes才能對應上。tomcat
將 jfinal-xxx.jar與jetty-server-8.1.8.jar拷貝至項目WEB-INF\lib下便可。注意:jetty-server-8.1.8.jar是開發時使用的運行環境,生產環境不須要此文件。app
所須要的 jar 包能夠在 jfinal.com 首頁下載 jfinal-version-all.zip 文件,該文件中包含了所需的經常使用 jar 包,以及 jar 包使用說明。框架
將以下內容添加至web.xmleclipse
<filter> <filter-name>jfinal</filter-name>//應該就是添加過濾器都通過demo.DemoConfig,而後根據地址映射找到對應的controller執行 <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>demo.DemoConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
在項目src目錄下建立demo包,並在demo包下建立DemoConfig文件, 內容以下:webapp
package demo; import com.jfinal.config.Constants; import com.jfinal.config.Handlers; import com.jfinal.config.Interceptors; import com.jfinal.config.JFinalConfig; import com.jfinal.config.Plugins; import com.jfinal.config.Routes; import com.jfinal.template.Engine; public class DemoConfig extends JFinalConfig{ @Override public void configConstant(Constants me) { // TODO Auto-generated method stub me.setDevMode(true); } @Override public void configEngine(Engine me) { // TODO Auto-generated method stub } @Override public void configHandler(Handlers me) { // TODO Auto-generated method stub } @Override public void configInterceptor(Interceptors me) { // TODO Auto-generated method stub } @Override public void configPlugin(Plugins me) { // TODO Auto-generated method stub } @Override public void configRoute(Routes me) { // TODO Auto-generated method stub me.add("/hello", HelloController.class);//這裏應該就是地址的映射 me.add("/hello2", HelloController2.class); } }
注意:DemoConfig.java文件所在的包以及自身文件名必須與web.xml中的param-value標籤內的配置相一致(在本例中該配置爲demo.DemoConfig)。maven
在demo包下建立HelloController HelloController2類文件, 內容以下:ide
1 package demo; 2 3 import com.jfinal.core.Controller; 4 5 public class HelloController extends Controller{ 6 public void index(){ 7 renderText("hahhahahhahahh"); 8 } 9 } 10 11 12 13 package demo; 14 15 import com.jfinal.core.Controller; 16 17 public class HelloController2 extends Controller{ 18 public void index(){ 19 renderText("hahhahahhahahh22222"); 20 } 21 }
使用一個任意的main方法代替。在任意一個類文件中添加一個main啓動集成的jetty以下圖所示:
1 package demo; 2 3 import com.jfinal.core.JFinal; 4 5 public class DemoStart { 6 public static void main(String[] args) { 7 JFinal.start("WebRoot", 80, "/", 5); 8 } 9 }
上面代碼中的四個參數與前面介紹中的同樣,注意根據本身的項目結構進行更改。上面的第一個參數」src/main/webapp」 適用於標準的maven項目,若是是非maven的老式java web 項目,第一個參數一般是」WebRoot」或」WebContent」。
注意:由於在建立web項目的時候可能用自動加上tomcat的jar包,可是這種啓動方法會報錯,解決辦法就是去掉。
右鍵 remove
第二種啓動:jfinal是屬於普通的web項目的,因此原有的項目啓動和部署知識所有有效。可是須要去掉對jetty-server-8.1.8.jar 的依賴。
打開瀏覽器在地址欄中輸入: http://localhost/hello,http://localhost/hello2,輸出內容 證實項目框架搭建