用Eclipse创建一个Maven的JFinal基本项目

JFinal 是基于Java 语言的极速 web 开发框架,理解其结构以后,对于项目的快速开发,确实很不错。
由于项目中使用了JFinal的一些开源框架,而且开源社区中也有很多JFinal的开源项目,拿来就可以使用,进行二次开发,都是JFinal+各种显示框架。但是最基本的JFinal的项目建立,倒是没有在意。
如果想学习框架,从建立一个基础的项目架子,然后,一步一步增加功能内容,同时去借鉴,看已经使用的的开源项目,对于理解整体框架的使用,才会有自己的理解。
此处只建立一个最最基本的JFinal项目

一、使用eclipse 创建maven项目

用Eclipse创建一个Maven的JFinal基本项目_第1张图片

点击Next,选择要构建的骨架maven-archetype-webapp,如下图

用Eclipse创建一个Maven的JFinal基本项目_第2张图片

Maven项目规定了源码文件、资源文件、测试文件、输出文件等的默认配置,简单的说就是把这些文件规定放在对应的路径下方便管理,如下表所示,假设${basedir}表示工程根目录:

项目工程的路径 存放的文件类型
${basedir}/src/main/java 项目源码
${basedir}/src/main/resources 资源文件,比如.properties文件
${basedir}/src/main/webapp web项目相关资源文件,比如web.xml
${basedir}/src/test/java 测试用的源码
${basedir}/src/test/resources 测试用的资源文件
${basedir}/target/classes 编译后的文件
${basedir}/target/test-classes 编译后用于测试的文件

如果是用Eclipse的Maven插件生成的Maven项目,只会自动生成src/main/resources和target/classes、target/test-classes,需要自己手动添加其它的目录,并且指定项目的source以及编译后的输出目录

用Eclipse创建一个Maven的JFinal基本项目_第3张图片

二、加入JFinal的配置

1、修改pom.xml文件

打开pom.xml
添加JFinal框架和jetty容器等依赖

	<dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
         <version>4.0.1</version>
         <scope>provided</scope>
     </dependency>
     <dependency>
         <groupId>com.jfinal</groupId>
         <artifactId>jfinal</artifactId>
         <version>3.3</version>
     </dependency>
     <dependency>
         <groupId>com.jfinal</groupId>
         <artifactId>jetty-server</artifactId>
         <version>8.1.8</version>
         <scope>provided</scope>
     </dependency>
     <dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>

2、修改web.xml 文件

加入 JFinal 内容

<filter>
        <filter-name>jfinal</filter-name>
        <filter-class>com.jfinal.core.JFinalFilter</filter-class>
        <init-param>
            <param-name>configClass</param-name>
            <param-value>com.run.DemoConfig</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>jfinal</filter-name>
        <url-pattern>/*
    

com.run.DemoConfig
是配置JFinal启动找的配置文件,核心。

有些开源项目,访问地址在web.xml中配置到公司项目级别的,
例如:/公司/系统/user/****
/公司/系统/department/***
/公司/系统/*
需要根据实际情况配置访问地址

3、Java代码加入 JFinal

3.1 加目录

${basedir}/src/main/java 项目源码

添加目录结构
用Eclipse创建一个Maven的JFinal基本项目_第4张图片

3.2在src/main/java/com/demo中新建controller的Package添加DemoController.java

package com.demo;

import com.jfinal.core.Controller;

public class DemoController extends Controller {

	public void index() {

		// renderText("Hello World");
		renderJson("{\"code\":01,\"message\":\"你好Java\"}");
	}
}

此处renderText,renderJson方法,请看JFinal的介绍,好好理解下。

3.3在src/main/java/run中新建common的Package添加DemoConfig.java

package com.run;

import org.apache.log4j.Logger;

import com.demo.DemoController;
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.template.Engine;

public class DemoConfig extends JFinalConfig {

	private static Logger log = Logger.getLogger(DemoConfig.class);

	/**
	 * 配置常量
	 */
	@Override
	public void configConstant(Constants me) {
		log.info("configConstant 设置是否开发模式");
		me.setDevMode(true);
		me.setEncoding("UTF-8");// 设置编码
	}

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

	/**
	 * 配置处理器
	 */
	@Override
	public void configHandler(Handlers me) {
		// TODO Auto-generated method stub
	}

	/**
	 * 配置全局拦截器
	 */
	@Override
	public void configInterceptor(Interceptors me) {
		// TODO Auto-generated method stub

	}

	/**
	 * 配置插件
	 */
	@Override
	public void configPlugin(Plugins me) {
		// TODO Auto-generated method stub

	}

	/**
	 * 配置路由
	 */
	@Override
	public void configRoute(Routes me) {
		me.add("/demo", DemoController.class);
	}

	public static void main(String[] args) {
		JFinal.start("src/main/webapp", 8089, "/", 5);
	}
}

注意在路由中加入:

	/**
	 * 配置路由
	 */
	@Override
	public void configRoute(Routes me) {
		me.add("/demo", DemoController.class);
	}

OK,到此,我们配置了一个最基本的JFinal项目。

4、启动项目

DemoConfig.java 中main方法

	
	public static void main(String[] args) {
		JFinal.start("src/main/webapp", 8089, "/", 5);
	}

使用 run Java Application启动
用Eclipse创建一个Maven的JFinal基本项目_第5张图片

启动后,访问地址,如下
在这里插入图片描述

在这里插入图片描述

项目中的JFinalConfig 配置,请参考项目中的真实配置。
可以通过web.xml找到项目的配置文件,通过过滤地址,知道项目的地址命名规则;通过JFinalConfig.java,理解项目配置的情况;在pom.xml中看项目依赖的关系。
例如连接数据库,需要DemoConfig.java增加的内容,这个时候需要你去理解每个配置的功能,增加依赖jar。再去看 controller service model 的处理实现。
感兴趣的可以在此基础上按照开源项目里的内容,一个一个的添加,研究,网上应该也有相应的介绍。
项目中很多是拿来用,新人直接参考功能实现,写新的需求功能,先会完成工作内容。如果是有心人,才会去看看项目的结构,通过这种方式,了解下基础的东西,再结合看开源的内容,吸收高级的养分,相信会提高很多。

你可能感兴趣的:(JFinal)