1. 程式人生 > >IDEA Maven JFianl環境搭建

IDEA Maven JFianl環境搭建

IDEA Maven JFinal環境搭建

IDEA:2016

JFinal:2.2

一、新建專案

選擇maven建立,並使用模板

pic1

Groupid:是公司域名反寫

Artifactid: 專案名

pic2

在建立Maven專案時加上 archetypeCatalog=internal 引數,解決IntelliJ IDEA 建立Maven專案速度慢問題

pic3

pic4

建立原始碼目錄

pic5

設定為Sources Root

pic6

建立config包

pic7

二、配置JFinal

專案結構

pic8

java檔案

AppConfig.java檔案

package config;
import
com.jfinal.config.*; import com.jfinal.core.JFinal; /** * Created by jaer on 2016/12/16. */ public class AppConfig extends JFinalConfig{ public void configConstant(Constants me) { me.setDevMode(true); } public void configRoute(Routes me) { me.add("/",AppController.class); } public
void configPlugin(Plugins plugins) {} public void configInterceptor(Interceptors interceptors) {} public void configHandler(Handlers handlers) {} //用於啟動JFinal public static void main(String[] args) { JFinal.start("src/main/webapp", 80, "/", 5); } }

AppController.java

package
config; import com.jfinal.core.Controller; /** * Created by jaer on 2016/12/16. */ public class AppController extends Controller{ public void index(){ renderText("Hello Maven JFinal"); } }

web.xml配置

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <filter>
    <filter-name>jfinal</filter-name>
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
      <param-name>configClass</param-name>
      <param-value>config.AppConfig</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

pox.xml配置

這裡的Jetty注意了

JFinal應該使用GroupId為com.jfinal

com.jfinal

<dependency>
  <groupId>com.jfinal</groupId>
  <artifactId>jetty-server</artifactId>
  <version>8.1.8</version>
</dependency>

而不是org.eclipse.jetty

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-server</artifactId>
    <version>9.4.0.v20161208</version>
</dependency>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>top.ljaer.www</groupId>
  <artifactId>mavenjfinal</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>mavenjfinal Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jfinal</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jetty-server</artifactId>
      <version>8.1.8</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>mavenjfinal</finalName>
  </build>
</project>

三、執行

在AppConfig.java裡面

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

執行該方法,啟動

pic9