JFinal 学习笔记--搭建JFinal工程

一.准备条件:

(1)、开发工具 IDEA

(2)、了解Java web 基本知识。

(3)、了解Maven 基本知识。

(4)、了解使用 IDEA 创建Maven Web项目

(5)、JFinal 的基本认识 JFinal 官方学习社区

二. 搭建JFinal工程

1. 在IDEA 创建一个maven 工程。如图所示

JFinal 学习笔记--搭建JFinal工程_第1张图片
Paste_Image.png

2. 在pom.xml中添加JFinal jar包依赖

   
    UTF-8
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
    
    
      com.jfinal
      jetty-server
      8.1.8
      
      compile
    
    
    
      com.jfinal
      jfinal
      3.1
    
    
      com.jfinal
      cos
      2017.5
    
    
    
      log4j
      log4j
      1.2.16
    
  

  
    JFinal-Demo
    
      
        org.mortbay.jetty
        jetty-maven-plugin
        8.1.8.v20121106
        
          stop
          5599
          
            /
          
          5
          
            
              80
              60000
            
          
        
      
    
  

3. 在resource 文件下配置log4j.properties

# log4j.rootLogger=WARN, stdout, file
log4j.rootLogger=ERROR, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

# Output to the File
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=./jfinal_demo_for_maven.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

4. 在main/com/jfinal/demo 下创建DemoConfig.java 并继承JFinalConfig

(没有com/jfinal/dome文件夹,就自行创建,并选中右键 Mark Directory as Source Root)
创建 项目的入口Main方法
    public static void main(String[] args) {
        /**
         * 特别注意:Eclipse 之下建议的启动方式
         */
//        JFinal.start("src/main/webapp", 80, "/", 5);

        /**
         * 特别注意:IDEA 之下建议的启动方式,仅比 eclipse 之下少了最后一个参数
         */
        JFinal.start("src/main/webapp", 80, "/");
    }

DemoConfig.java 如下所示
import com.jfinal.config.*;
import com.jfinal.core.JFinal;
import com.jfinal.template.Engine;
import index.IndexController;
/**
 * 
 * API引导式配置
 */
public class DemoConfig extends JFinalConfig {
    /**
     * 运行此 main 方法可以启动项目,此main方法可以放置在任意的Class类定义中,不一定要放于此
     *
     * 使用本方法启动过第一次以后,会在开发工具的 debug、run config 中自动生成
     * 一条启动配置,可对该自动生成的配置再添加额外的配置项,例如 VM argument 可配置为:
     * -XX:PermSize=64M -XX:MaxPermSize=256M
     */
    public static void main(String[] args) {
        /**
         * 特别注意:Eclipse 之下建议的启动方式
         */
//      JFinal.start("src/main/webapp", 80, "/", 5);

        /**
         * 特别注意:IDEA 之下建议的启动方式,仅比 eclipse 之下少了最后一个参数
         */
        JFinal.start("src/main/webapp", 80, "/");
    }

    /**
     * 配置常量
     */
    @Override
    public void configConstant(Constants me) {
        // 加载少量必要配置,随后可用PropKit.get(...)获取值
//      PropKit.use("a_little_config.txt");
//      me.setDevMode(PropKit.getBoolean("devMode", false));
    }

    /**
     * 配置访问路由
     */
    @Override
    public void configRoute(Routes me) {
        me.add("/", IndexController.class, "/");    // 第三个参数为该Controller对应的视图存放路径
    }

    /**
     * @param me
     * 此方法用来配置 Template Engine(模板引擎)
     */
    @Override
    public void configEngine(Engine me) {}

    /**
     * 配置插件
     */
    @Override
    public void configPlugin(Plugins me) {}
    /**
     * 配置全局拦截器
     */
    @Override
    public void configInterceptor(Interceptors me) {}
    /**
     * 配置处理器
     */
    @Override
    public void configHandler(Handlers me) {}
}

5. 在webapp/WEB-INF/web.xml 中添加过滤器配置

  
    jfinal
    com.jfinal.core.JFinalFilter
    
      configClass
      DemoConfig
    
  

  
    jfinal
    /*
  

6. 创建 IndexController,并添加配置到DemoConfig.java中的configRoute()方法中

import com.jfinal.core.Controller;

/**
 * IndexController
 */
public class IndexController extends Controller {
    public void index() {
        render("index.html");
    }
}
    /**
     * 配置访问路由
     */
    @Override
    public void configRoute(Routes me) {
        me.add("/", IndexController.class, "/index");    // 第三个参数为该Controller的视图存放路径
    }

7、 在创建webapp下创建index.html




    


JFinal Demo 项目首页

欢迎来到 JFinal极速开发世界!




本Demo采用 JFinal Template 作为视图文件。


8、 run 运行DemoConfig.java的main() 方法,访问localhost, 响应如下图所示,就算成功了!

JFinal 学习笔记--搭建JFinal工程_第2张图片
Paste_Image.png

你可能感兴趣的:(JFinal 学习笔记--搭建JFinal工程)