1. 程式人生 > >JFinal專案開發菜鳥入門教程01

JFinal專案開發菜鳥入門教程01

打算開發自己的後臺管理系統, 然後搜尋什麼最容易上手, 得到一個結果, JFinal開發迭代比較快, 開源, 開發週期短等很多優點. 

所以就選擇了這個框架.

既然認定了這個框架, 就開始學習, 下面就開始記錄自己的JFinal成長軌跡. 我的微信公眾號: 史慧君, 歡迎和我交流.

1. 下載Jfinal各種jar包:


2. 我用的mac開發, 首先安裝Mac版本的Eclipse, 下載之後安裝的時候, 記得安裝J2EE版本.

下載地址: http://www.eclipse.org/downloads/eclipse-packages/


3. 新建JFinal Demo專案


注意:Target runtime  一定要選擇<None>



修改 Default Output Folder,推薦輸入 WebRoot\WEB-INF\classes


修改 Content directory,推薦輸入 WebRoot

[注意]:此處也可以使用預設值 WebContent, 但上一步中的 WebRoot\WEB-INF\classes 則需要 改成 WebContent\WEB-INF\classes 才能對應上。


4. 新增JFinal相應的jar包檔案,

  將 jfinal-xxx.jar  與jetty-server-8.1.8.jar 拷貝至專案 WEB-INF\lib  下即可。

  注意:jetty-server-8.1.8.jar是開發時使用的執行環境,生產環境不需要此檔案。



5. 在web.xml中新增下面的程式碼.


 <filter>
	<filter-name>jfinal</filter-name>
	<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>

6. 在專案 src 目錄下建立 demo 包,並在 demo 包下建立 DemoConfig 檔案, 內容如下
public class DemoConfig extends JFinalConfig{

	@Override
	public void configConstant(Constants me) {
		// TODO Auto-generated method stub
		me.setDevMode(true);
		me.setViewType(ViewType.JSP);
		
	}

	@Override
	public void configRoute(Routes me) {
		// TODO Auto-generated method stub
//		me.add("/hello/method", HelloController.class);
//		me.add("/", HelloController.class);
		me.add(new FrontRoutes()); 
	}

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

	@Override
	public void configPlugin(Plugins me) {
		// TODO Auto-generated method stub
//		loadPropertyFile("your_app_config.txt");
//		C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"));
//		me.add(c3p0Plugin);
//		ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);me.add(arp);
//		arp.addMapping("user",User.class);
		
	}

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

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

注意:DemoConfig.java 檔案所在的包以及自身檔名必須與 web.xml 中的 param-value 標 籤內的配置相一致(在本例中該配置為 demo.DemoConfig)。

7. 在 demo 包下建立 HelloController 類檔案, 內容如下:

public class HelloController extends Controller {
	public void index() {
		// renderText("Hello JFinal World!");
		
		User user = new User();
		user.userName = "junzaivip";
		user.passWord = "123456";
		renderJson("Hello", user.userName);
		renderText("公眾號:史慧君");
	}
	

	public void method() {
		renderText("This is get Key!");
	}

	public static void main(String[] args) {
		JFinal.start("WebRoot", 12555, "/", 5);// 自己設定埠
	}

}

注意: JFinal.start("WebRoot", 12555, "/", 5)是自己修改的埠, 因為官方預設的是80埠, 所以必須修改一下, 才能使用, 避免埠衝突.

8. 啟動專案:




在右側視窗中的 Main class 輸入框中填入: com.jfinal.core.JFinal , 點選Apply應用專案, 然後點選 Debug 按鈕啟動專案即可.

且在arguments新增下面的程式碼:(目的是為了避免埠衝突)

-XX:PermSize=64M -XX:MaxPermSize=256M

WebRoot 12555 / 5


8. 然後在瀏覽器就可以看到效果啦.