使用 Gradle 在 IntelliJ IDEA 14.1.4 上構建 JFinal 開發環境

前言

本文的開發環境:

IDEA 的安裝略過。

新建項目

打開 IDEA 後新建項目,選擇 Gradle 並勾選右側 Web 選項後點擊 Next。

新建項目

分別輸入 GroupId、ArtifactId 後點擊 Next。

項目命名

勾選”Create Directories for empty content roots automatically" 並選擇“Use local gradle distribution","Gradle home" 會自動檢測出來,或手動選擇目錄。

gradle

最後選擇目錄後點擊 Finish。

選擇保存目錄

創建完成後項目結構:

項目結構

修改配置

打開build.gradle 文件:

  1. 添加 gretty 插件配置,目的是可以使用 jetty 9:
    apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
  2. 註釋掉原官方源,使用 oschina 的 maven 源;
    maven { url 'http://maven.oschina.net/content/groups/public/' }
  3. 添加 jfinal 引用;
    compile 'com.jfinal:jfinal:2.0'
    最終 build.gradle文件內容如下:
    group 'me.xyly.demo'    
    version '1.0-SNAPSHOT'    

    apply plugin: 'java'    
    apply plugin: 'war'    
    apply from: https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'    

    sourceCompatibility = 1.7    

    repositories {
         // mavenCentral()
         maven { url 'http://maven.oschina.net/content/groups/public/' }
    }

    dependencies {
        testCompile group: 'junit', name: 'junit', version: '4.11'
        compile 'com.jfinal:jfinal:2.0'
    }    

刷新 Gradle 項目

點擊菜單View - Tool Windows - Gradle 打開 Gradle projects 的 View 後點擊刷新。

刷新

刷新完成後會多一個 gretty 任務組。

gretty

編寫測試代碼

  1. 新建包: me.xyly.demo;
  2. me.xyly.demo包中新建類 DemoConfig.java
    package me.xyly.demo;

    import com.jfinal.config.*;
    import com.jfinal.render.ViewType;    
    
    public class DemoConfig extends JFinalConfig {    
        @Override    
        public void configConstant(Constants me) {        
            me.setViewType(ViewType.JSP);    
            me.setBaseViewPath("/");    
            me.setDevMode(true);    
        }    
        
        @Override    
        public void configRoute(Routes me) {    
            me.add("/",IndexController.class);    
        }    

        @Override    
         public void configPlugin(Plugins me) {    }    

        @Override    
        public void configInterceptor(Interceptors me) {    }    

        @Override    
        public void configHandler(Handlers me) {    }    
   }    
  1. me.xyly.demo包中新建類 IndexController.java

     package me.xyly.demo;
    
     import com.jfinal.core.Controller;    
    
     public class IndexController extends Controller {
    
         public void index(){
             render("index.jsp");
         }
     }
    
  2. 添加 web.xml:
    點擊菜單 File - Project Structure,選中左側 Modules後選擇中間的 Web Gradle,再點擊Deployment Descriptors右側的綠色加號後選擇 web.xml

添加 web.xml

5.修改 web.xml路徑至 webapp下。

web.xml 路徑

6.添加完後項目結構如下:

項目結構

7.編輯 web.xml,添加 jfinal 配置:

        <?xml version="1.0" encoding="UTF-8"?>    
        <web-app xmlns="http://java.sun.com/xml/ns/javaee"    
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee    
            http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"    
            version="3.0">    

            <filter>    
                <filter-name>jfinal</filter-name>        
                <filter-class>com.jfinal.core.JFinalFilter</filter-class>    
                <init-param>            
                    <param-name>configClass</param-name>            
                    <param-value>me.xyly.demo.DemoConfig</param-value>        
                </init-param>    
            </filter>    
            <filter-mapping>        
                <filter-name>jfinal</filter-name>        
                <url-pattern>/*</url-pattern>    
            </filter-mapping>
         </web-app>     

8.編輯 index.jsp 添加 <H1>Test Gradle!</H1>

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
        <head>
            <title></title>
        </head>
        <body>
           <H1>Test Gradle!</H1>
        </body>
    </html>

測試

1.運行 gretty 組下的 jettyStartappStart gradle 任務;

jettyStart

2.訪問:http://localhost:8080/jfinal-gradle/ 即可;

web

3.運行 gretty 組下的 jettyStopappStop gradle 任務結束測試。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容