IDEA下搭建JFINAL的MAVEN项目

环境及工具:maven 3.2.1 、 idea 2016.2、 jdk1.8、tomcat7(可选)

一、配置

1、打开idea新建maven项目

 

2、选择由maven_archetype-webapp创建项目(需要先勾上项目的create from archetype)

 

3、输入你自己项目的groupid 以及artifacid。

 

4、选择项目位置保存项目。

 

 

5、修改maven的pom.xml文件,引入jfinal的相关jar包。

<modelVersion>4.0.0</modelVersion>

<groupId>com.demo</groupId>

<artifactId>jfinal_demo_for_maven</artifactId>

<packaging>war</packaging>

<version>3.2</version>

<name>jfinal_demo_for_maven Maven Webapp</name>

<url>http://maven.apache.org</url>

 

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<maven.compiler.encoding>UTF-8</maven.compiler.encoding>

</properties>

 

<!-- 使用阿里 maven 库 -->

<repositories>

<repository>

<id>ali-maven</id>

<url>http://maven.aliyun.com/nexus/content/groups/public</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

<updatePolicy>always</updatePolicy>

<checksumPolicy>fail</checksumPolicy>

</snapshots>

</repository>

</repositories>

 

 

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

<!--<!–-->

<!--使用tomcat形式启动不需要这里的,如果使用jar包启动则需要-->

<!--–>-->

<!--<dependency>-->

<!--<groupId>com.jfinal</groupId>-->

<!--<artifactId>jetty-server</artifactId>-->

<!--<version>8.1.8</version>-->

<!--<scope>compile</scope>-->

<!--</dependency>-->

<dependency>

<groupId>com.jfinal</groupId>

<artifactId>jfinal</artifactId>

<version>3.3</version>

</dependency>

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.16</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.44</version>

</dependency>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.29</version>

</dependency>

<dependency>

<groupId>com.jfinal</groupId>

<artifactId>cos</artifactId>

<version>2017.5</version>

</dependency>

 

</dependencies>

 

<build>

<finalName>jfinal</finalName>

<plugins>

<plugin>

<groupId>org.mortbay.jetty</groupId>

<artifactId>jetty-maven-plugin</artifactId>

<version>8.1.8.v20121106</version>

<configuration>

<stopKey>stop</stopKey>

<stopPort>5599</stopPort>

<webAppConfig>

<contextPath>/</contextPath>

</webAppConfig>

<scanIntervalSeconds>5</scanIntervalSeconds>

<connectors>

<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">

<port>80</port>

<maxIdleTime>60000</maxIdleTime>

</connector>

</connectors>

</configuration>

</plugin>

</plugins>

</build>

 


6、新建初始化配置的代码(新建一个代码文件夹)。

 

6、将代码文件夹声明为源代码,并创建对应自觉groupid的jar包

 

 

7、新建类继承 JFinalConfig 初始化jfinal的配置

package cn.qcsy.framework.config;

 

import cn.qcsy.framework.controller.IndexController;

import cn.qcsy.framework.model._MappingKit;

import com.jfinal.config.*;

import com.jfinal.kit.PropKit;

import com.jfinal.plugin.activerecord.ActiveRecordPlugin;

import com.jfinal.plugin.druid.DruidPlugin;

import com.jfinal.template.Engine;

public class FrameWorkConfig extends JFinalConfig {

 

/**

* 配置框架中常用的常量

* @param constants

*/

public void configConstant(Constants constants) {

// 加载少量必要配置,随后可用PropKit.get(...)获取值

PropKit.use("database.properties");

PropKit.use("system_config.properties");

//设置开发模式

constants.setDevMode(PropKit.getBoolean("devMode", true));

}

 

/**

* 配置路由 ,及请求地址与实际资源的映射关系 ,有点类似于 springmvc 的@RequestMapping注解

* @param routes

*/

public void configRoute(Routes routes) {

routes.add("/", IndexController.class, "/"); // 第三个参数为该Controller的视图存放路径

}

 

/**

* 配置模板

* @param engine

*/

public void configEngine(Engine engine) {

 

}

 

/**

* 配置Jfinal plugin扩展

* @param Plugins

*/

public void configPlugin(Plugins me) {

// 配置 druid 数据库连接池插件

DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());

me.add(druidPlugin);

 

// 配置ActiveRecord插件

ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);

// 所有映射在 MappingKit 中自动化搞定

_MappingKit.mapping(arp);

me.add(arp);

}

 

public static DruidPlugin createDruidPlugin() {

return new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());

}

 

public void configInterceptor(Interceptors interceptors) {

 

}

 

public void configHandler(Handlers handlers) {

 

}

}


 

8、在web.xml中配置config的过滤器,初始化jfinal。

 <filter>
   <filter-name>jfinal</filter-name>
   <filter-class>com.jfinal.core.JFinalFilter</filter-class>
   <init-param>
     <param-name>configClass</param-name>
     <param-value>cn.qcsy.framework.config.FrameWorkConfig</param-value>
   </init-param>
 </filter>
 <filter-mapping>
   <filter-name>jfinal</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>


 

 

二、运行

jfinal的调试运行有两种方式,一种是通过tomcat 一直是通过main方法直接运行即可

 

1、tomcat的方式,tomcat的方式,需要注掉pom.xml中对jetty-server的引用,以避免冲突。在idea直接为项目添加artifatis ,然后添加tomct即可。

注掉 jetty-server

添加 artifatis

 

添加tomcat

 

 

启动tomcat即可在网页中访问。整个项目搭建完成!

2、采用java类的形式运行

 

需要引入服务的jar包

随便找个类,写上main方法

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

启动之后可以在网页中直接访问

-------------------------------------------------------完--------------------------------------------------------------------------

 

JFINAL官方社区:http://www.jfinal.com/

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页