jfinal的環境配置以及hello world

這是我第一次寫教程微笑

我本身水平也不高,幫助新手入門的歡迎指教微笑

我的IDE是Eclipse,不是MyEclipse或者IDEA,再次求不黑微笑

1.建立一個Dynamic Web Project


點擊左上角的File,再下拉菜單中選擇new 然後 other,就會彈出這個對話框
在查找框裏找Dy找到Dynamic Web Project,然後選擇它,選擇好了之後點擊藍色的next,會彈出下面這個界面


在project name裏面打上你的項目名字,哈哈我打錯了,我直接改了jfinaldemo我就不再截屏了,注意哈,然後再next
會出現下面的界面,需要注意的地方來了,需要注意的地方來了,需要注意的地方來了,重要的事情地方說三遍

點擊之後會出現這個界面對吧,然後在Default output folder裏面默認是圖上這個是吧,改成這個WebRoot\WEB-INF\classes,對,你沒看錯就是改成這個,然後點擊next,,,千萬要點擊next,不要點擊finish,,更重要的事情說三遍,說三遍,說三遍,之後會出現下面這個界面,

在Content Dictionary中修改WebRoot,然後別忘記了點擊web.xml那個選擇,然後web工程就算建好了。

2.加入jar包,配置jfinal環境

首先,去jfinal官網中http://www.jfinal.com/)找到我們所需要的jar包,



看見那個白色框框了嗎,就是jfinal 2.2 all,現在的版本已經到3.幾了,下載下來,裏面有很多的jar包

這裏面有很多jar包,感興趣的同學可以自己翻一翻,有關於數據庫的,c3p0的什麼,而我們今天只需要藍色那個
jfina-2.2-bin-with-src.jar我再說一句哦,jfinal的不同版本默認的視圖是不一樣的,我看過天蓬元帥的視頻他比較推薦freemarker,我也一般用freemarker,所以最好加上freemarker的jar包,它在jfinal-2.2-lib文件下了。其實,我一般開發的話會把這幾個包一起加上
c3p0是數據源,cos和文件上傳有關,gson和json數據處理有關,mysql-connector用來數據庫,jetty sever和訪問有關,在這我 建議就都加上了啊。
好了,問題來了,怎麼加jar包呢。
把文件直接複製到那個lib文件夾下,
然後在這些jar包上點擊右鍵,找到 Build Path 點擊add,就成功把這些jar包加入到了項目中了。


3.hello world

   進過以上步驟,一個jfinal的環境算是真正的配置完了,下面可以真正進行jfinal的hello world
  首先,新建一個包叫com.config 在裏面新建一個類叫Config,然後再新建一個包叫com.controller在裏面新建一個類叫Controller,項目應該是這個樣子。

然後,然後,進入真正的開發環節。首先,打開Config類,讓這個繼續一個父類叫,jfinal Config是在jfinal config包下,然後不粗意外這時候會提示報錯,爲什麼呢,因爲這個config裏面有些方法必須重寫,你可以在報錯的地方直接讓eclipse加上,也可以手寫,有這麼幾個,弄好了我沾個代碼吧
package com.config;

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;

public class Config extends JFinalConfig {

	@Override
	public void configConstant(Constants me) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void configRoute(Routes me) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void configPlugin(Plugins me) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void configInterceptor(Interceptors me) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void configHandler(Handlers me) {
		// TODO Auto-generated method stub
		
	}

}
就是這幾個方法,那麼這個類是幹嘛的呢,是對整個項目進行配置的,看名字也可以看出來config,configuration是吧。第一個方法configConstant是對整個項目的基本信息進行配置的,一般加入下列幾個,
public void configConstant(Constants me) {
		// TODO Auto-generated method stub
		me.setDevMode(true);
		me.setError404View("404.html");
		me.setEncoding("utf-8");
		me.setViewType(ViewType.FREE_MARKER);
		me.setBaseUploadPath("C:\\Program Files\\tomcat\\apache-tomcat-8.5.9-windows-x64\\apache-tomcat-8.5.9\\webapps\\photo");
	}

第一個是設置開發模式爲true,具體設置不設置有哪些區別我也不太清楚看看源碼或者百度吧,第二個是設置404頁面,相信大家一定上網時候經常遇到404吧就是頁面不存在的意思,可以自己在WEBRoot裏面寫個404.html當然有404也有500等,當然你不寫404頁面就把那句話去掉。第二個是設置編碼方式,不用說了當然是utf-8啊,第三個是設置默認視圖就是運行時候的默認視圖我設置的freemarker當然用jsp也行的,最後一個是上傳文件的根目錄,剩下的方法還有好多好多,寫個me看看自動彈出那些,基本上名字就是功能了。
然後,打開另一個類controller,讓這個類繼承controller,一定是com.jfinal.core這個包下面的,然後在裏面寫個方法,index,我還是貼代碼吧,
package com.controller;

public class Controller extends com.jfinal.core.Controller{
	public void index()
	{
		renderText("hello world");
	}
}
能猜到這個類是幹嘛的嗎,沒錯,這個類就是處理請求的以及返回請求的。那麼,它處理的是哪個請求呢,配置就要回到config類。
config類裏面第二個方法configRoute是用來配置路由的,我貼代碼了,
public void configRoute(Routes me) {
		// TODO Auto-generated method stub
		me.add("/demo", Controller.class);
		
	}

注意啊,這個Controller.class一定加的是我們自己寫的那個包下面的類
想到你也能猜到,controller這個類就是處理的demo這個請求,具體的方法就是對這個demo請求的細分。

4.配置xml文件

在WEB-INF下面的web.xml中加入下面代碼
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>odriver</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <filter>
    <filter-name>jfinal</filter-name>
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
      <param-name>configClass</param-name>
      <param-value>com.config.Config</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app> 


在這我有必要說一下,爲什麼說jfinal是零xml配置呢,因此只需要修改紅字部分就可以了,文字就是jfinal的config類,這是啥意思呢,我簡單說一下,就是把瀏覽器請求加載到config裏面,讓它處理


好了,那麼見證奇蹟的時刻到來了,啓動tomcat,打開瀏覽器輸入http://localhost:8080/jfinaldemo/demo/index

哈哈哈,忙活了倆小時終於搞了它,忍不住吐槽一句博客上傳圖片好麻煩,有問題聯繫我,附qq406964409
歡迎點贊評論微笑

我就不加源碼了,太簡單了,怕被吐槽啊,哈哈哈,不懂的可以多看看博客或者jfinal的手冊。嗯呢就這樣!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章