1、建立 Dynamic Web Project
2、修改 Default Output Folder,推薦輸入 WebRoot\WEB-INF\classes

特别注意:此處的 Default out folder 必須要與 WebRoot\WEB-INF\classes 目錄
完全一緻才可以使用 JFinal 內建的 Jetty 來啟動項目。
3、修改 Content directory,推薦輸入 WebRoot
注 意 : 此 處 也 可 以 使 用 默 認 值 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
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:使用者登入界面
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