使用 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 任務結束測試。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容