1. 程式人生 > >Idea環境下使用JFinal開發Web專案入門詳解(圖文版)

Idea環境下使用JFinal開發Web專案入門詳解(圖文版)

       最近看到網上有人推薦使用JFinal(官網:http://www.jfinal.com/)開發WEB + ORM專案,自己於是到官網學習JFinal,官方文件提供了使用eclipse開發Jfinal專案的步驟,只是對Idea做了簡略說明,沒有詳細的介紹,對於智商低的小編來說,看完文件還是沒有搭建起來(人和人的差距怎麼這麼大呢快哭了),於是根據網上資料,小編自己寫一篇入門詳解,以便自己和他人學習。

    1. 在Idea環境下新建project專案

          1.1 新建project                  
         1.2 選擇建立Maven專案,並且不使用模板
                          1.3 輸入Maven的groupId [jfinal-web-demo] 和artifactId [jfinal-demo]                           1.4 輸入專案名稱jfinal-web-demo                                 1.5 將專案jfinal-web-demo作為專案的parent工程,用於定義maven依賴包的版本資訊、編碼方式等            1.5.1 刪除src目錄                         1.5.2 將專案打包格式設定為pom
                                    1.5.3 修改pom.xml檔案         
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>jfinal-web-demo</groupId>
    <artifactId>jfinal-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <!-- 指定將要引入的jar的版本號 -->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <jfinal.version>3.1</jfinal.version>
        <junit.version>4.12</junit.version>
    </properties>

    <!--集中宣告依賴-->
    <dependencyManagement>
        <dependencies>
            <!--jfinal依賴-->
            <dependency>
                <groupId>com.jfinal</groupId>
                <artifactId>jfinal</artifactId>
                <version>${jfinal.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

  2. 建立Module [jfinal-web-demo-provider]

      2.1 新建Module              2.2 根據idea提供的webapp模板建立module                           2.3 指定module的名稱為 jfinal-web-demo-provider                  2.4 點選完成後需要等待一段時間,讓idea根據webapp模板建立專案,生成目錄如下:                 2.5 建立java目錄,並將java目錄設定為source root                      
               2.6 編輯module [jfinal-web-demo-provider]的pom.xml檔案         
<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">
    <parent>
        <artifactId>jfinal-demo</artifactId>
        <groupId>jfinal-web-demo</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>jfinal-web-demo-provider</artifactId>
    <packaging>war</packaging>
    <name>jfinal-web-demo-provider Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>com.jfinal</groupId>
            <artifactId>jfinal</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>jfinal-web-demo-provider</finalName>
        <plugins>
            <plugin>
               <!--maven對應的tomcat外掛,啟動tomcat的時候使用-->
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <port>8081</port>
                    <path>/</path>
                    <uriEncoding>utf-8</uriEncoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

    3.編寫程式碼

        3.1 建立config類           
package com.demo.config;

import com.demo.controller.HelloController;
import com.jfinal.config.*;
import com.jfinal.template.Engine;

/**
 * Created by zhangzh on 2017/6/19.
 */
public class DemoConfig extends JFinalConfig {
    @Override
    public void configConstant(Constants me) {
        me.setDevMode(true);
    }

    @Override
    public void configRoute(Routes me) {
           me.add("/hello", HelloController.class);
    }

    @Override
    public void configEngine(Engine me) {

    }

    @Override
    public void configPlugin(Plugins me) {

    }

    @Override
    public void configInterceptor(Interceptors me) {

    }

    @Override
    public void configHandler(Handlers me) {

    }
}

       3.2  建立Controller類
package com.demo.controller;

import com.jfinal.core.Controller;

/**
 * Created by zhangzh on 2017/6/19.
 */
public class HelloController extends Controller {

    public void index(){
        renderText("hello world!");
    }
}

      3.3 編輯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>com.demo.config.DemoConfig</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

</web-app>

     4.測試驗證

         4.1 使用Maven外掛啟動Tomcat:                  4.2 啟動tomcat成功提示:              4.3 使用瀏覽器驗證,小編使用的是google chrome瀏覽器                     看,簡單吧!