天天看點

jfinal學習筆記【1】-laymi(雷米快速開發平台)

1、建立 Dynamic Web Project

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

jfinal學習筆記【1】-laymi(雷米快速開發平台)

特别注意:此處的  Default out folder 必須要與  WebRoot\WEB-INF\classes  目錄

完全一緻才可以使用  JFinal  內建的  Jetty  來啟動項目。

3、修改 Content directory,推薦輸入 WebRoot

jfinal學習筆記【1】-laymi(雷米快速開發平台)

注 意 : 此 處 也 可 以 使 用 默 認 值 WebContent ,   但 上 一 步 中 的

WebRoot\WEB-INF\classes 則需要改成 WebContent\WEB-INF\classes 才能對應上

4、建立完成檢視jar裡面有沒有tomcat 如果有  删除 否則啟動報錯

5、添加jar包  這裡jfinal 的和jetty service的放到webinf下

6:添加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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
	<filter>
		<filter-name>jfinal</filter-name>
		<filter-class>com.jfinal.core.JFinalFilter</filter-class>
		<init-param>
			<param-name>configClass</param-name>
			<param-value>com.laymi.index.LaymiConfig</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>jfinal</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>
           

7:建立一個包com。laymi

jfinal學習筆記【1】-laymi(雷米快速開發平台)

8:LzymiConfig

package com.laymi.index;

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.core.JFinal;
import com.jfinal.ext.handler.ContextPathHandler;
import com.jfinal.template.Engine;

public class LaymiConfig extends JFinalConfig{

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

	@Override
	public void configRoute(Routes me) {
		 me.add(new FrontRoutes()); //前端路由
         me.add(new AdminRoutes()); //後端路由
		
	}

	@Override
	public void configEngine(Engine 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
		me.add(new ContextPathHandler("base"));
		
	}
	/**
	 * 運作此 main 方法可以啟動項目,此main方法可以放置在任意的Class類定義中,不一定要放于此
	 * 
	 * 使用本方法啟動過第一次以後,會在開發工具的 debug、run config 中自動生成
	 * 一條啟動配置,可對該自動生成的配置再添加額外的配置項,例如 VM argument 可配置為:
	 * -XX:PermSize=64M -XX:MaxPermSize=256M
	 */
	public static void main(String[] args) {
		/**
		 * 特别注意:Eclipse 之下建議的啟動方式
		 */
		JFinal.start("WebRoot", 80, "/", 5);

		/**
		 * 特别注意:IDEA 之下建議的啟動方式,僅比 eclipse 之下少了最後一個參數
		 */
		// JFinal.start("WebRoot", 80, "/");
	}

}
           

8:路由拆分為前端後端

FrontRoutes

package com.laymi.index;

import com.jfinal.config.Routes;

/**
* @ClassName: FrontRoutes
* @Description:系統前端路由
* @author: liuzy
* @date: 2017年4月3日
* @version: 1.0 版本初成
 */
public class FrontRoutes extends Routes {
	 /**
     *@desc 配置前端路由(移動端)
     *@date 2017/4/03
     */
	@Override
	public void config() {
		// TODO 添加前端路由配置
		
	}

}
           

後端AdminRoutes

package com.laymi.index;

import com.jfinal.config.Routes;
import com.laymi.admin.LoginController;
/**
* @ClassName: AdminRoutes
* @Description: 配置後端路由(供管理系統)
* @author: liuzy
* @date: 2017年4月2日 
* @version: 1.0 版本初成
 */
public class AdminRoutes extends Routes {

	@Override
	public void config() {
		//設定頁面base路徑
        setBaseViewPath("/view/admin");
        //使用者登入控制器
        add("/",LoginController.class,"/"); //第三個參數是視圖的路徑
		
	}

}
           

10:使用者登入控制器

package com.laymi.admin;

import com.jfinal.core.Controller;

/**
* @ClassName: LoginController
* @Description: 使用者登入的控制器
* @author: liuzy
* @date: 2017年4月3日 
* @version: 1.0 版本初成
 */
public class LoginController extends Controller{

    //将index.html作為直接通路控制器的展示視圖
    public void index(){
        render("index.html");
    }

    //使用者登入方法
    public void userLogin(){
        renderText("歡迎yetangtang登入");

    }

}
           

11:使用者登入界面

jfinal學習筆記【1】-laymi(雷米快速開發平台)

index.html

<!DOCTYPE html>
<html>
  <head>
    <title>首頁</title>
	
    <meta name="keywords" content="keyword1,keyword2,keyword3">
    <meta name="description" content="this is my page">
    <meta name="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css" target="_blank" rel="external nofollow" >-->

  </head>
  
  <body>
    <h2>我是系統歡迎頁面</h2>
  </body>
</html>
           

大功告成  127.0.0.1