JFinal Weixin 學(xué)習(xí)筆記(3)-- Eclipse 搭建微信項(xiàng)目框架


新建 Eclipse 項(xiàng)目

新建 Dynamic Web Project
項(xiàng)目名: jfinal-weixin-nancarp
服務(wù)器: Tomcat v8.0

導(dǎo)入 jar 包

項(xiàng)目必需以下 jar 包,或者更高版本

// jfinal 核心包
--jfinal-2.2.jar

// jfinal 微信開(kāi)發(fā) jar 包
--jfinal-weixin-1.8-bin-with-src.jar

// 可選Json處理包,必選其一
--fastjson-1.2.6.jar
//或者
--jackson-databind-2.4.3.jar
----jackson-annotations-2.4.0.jar
----jackson-core-2.4.3.jar

所需 jar 包可以在 JFinal 社區(qū)下載:http://www.jfinal.com/

搭建 JFinal 框架

項(xiàng)目結(jié)構(gòu) :

WeixinConfig.java:

package com.nancarp.config;

import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.kit.PropKit;
import com.jfinal.template.Engine;
import com.nancarp.controller.HelloWorldController;

public class WeixinConfig extends JFinalConfig{

    @Override
    public void configConstant(Constants me) {
        // 加載配置文件
        PropKit.use("a_little_config.txt");
        // 讀取配置文件,判斷是否為開(kāi)發(fā)模式,默認(rèn) false
        me.setDevMode(PropKit.getBoolean("devMode", false));
    }

    @Override
    public void configRoute(Routes me) {
        // HelloWorld 路由
        me.add("/hello",HelloWorldController.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) {
        
    }

}

HelloWorldController.java:

package com.nancarp.controller;

import com.jfinal.core.Controller;

public class HelloWorldController extends Controller {
    public void index() {
        renderText("Hello World!");
    }
}

a_little_config.txt:

# 數(shù)據(jù)庫(kù)相關(guān)設(shè)置
jdbcUrl=jdbc:mysql://localhost/__數(shù)據(jù)庫(kù)名__?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
user=_數(shù)據(jù)庫(kù)賬號(hào)_
password=_數(shù)據(jù)庫(kù)密碼_

# 開(kāi)發(fā)模式
devMode = true

# 微信服務(wù)器回調(diào)所用的 token
token=weixin

# 測(cè)試用的賬號(hào)
appId=wxde758064398fa9bf
appSecret=89622f356fc2bca96ec647d55929afa5
#webAppId=___web appid___
#webAppSecret=_________web appSecret____

#是否對(duì)消息進(jìn)行加密,是否對(duì)消息進(jìn)行加密,對(duì)應(yīng)于微信平臺(tái)的消息加解密方式,false支持明文模式及兼容模式,true支持安全模式及兼容模式
encryptMessage=false
encodingAesKey=5C8csBd4cG4c9039OKDnNaZmYlkAzXV31piXQFRZKHC

#####業(yè)務(wù)邏輯中的華麗的分割線#########
#授權(quán)域名
domain=http://********.com
subscribe_rul=http://mp.weixin.qq.com/s?__biz=MzA4MDA2OTA0Mg==&mid=208184833&idx=1&sn=d9e615e45902c3c72db6c24b65c4af3e#rd
host=http://*****.com

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <filter>
        <filter-name>jfinal</filter-name>
        <filter-class>com.jfinal.core.JFinalFilter</filter-class>
        <init-param>
            <param-name>configClass</param-name>
            <param-value>com.nancarp.config.WeixinConfig</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>jfinal</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>  

項(xiàng)目部署到 Tomcat 上

修改 server.xml 文件

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
// 修改端口號(hào)為 80 ,因?yàn)槲⑿胖恢С?80 或 443 端口
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="8443"/>


<Context docBase="jfinal-weixin-nancarp" path="/jfinal-weixin-nancarp" reloadable="true" source="org.eclipse.jst.jee.server:jfinal-weixin-nancarp"/>
// path 修改為"/",這樣 url 就不需要帶上項(xiàng)目名
<Context docBase="jfinal-weixin-nancarp" path="/" reloadable="true" source="org.eclipse.jst.jee.server:jfinal-weixin-nancarp"/>

運(yùn)行項(xiàng)目

啟動(dòng) tomcat,在瀏覽器輸入 localhost/hello,回車(chē)。
看到熟悉的 "Hello World" 就說(shuō)明框架搭建成功。


源碼地址
JFinal Weixin 學(xué)習(xí)筆記(4)-- 實(shí)現(xiàn)微信信息交互
JFinal Weixin 學(xué)習(xí)筆記(1)-- 目錄

參考文章

JFinal-weixin Jar包依賴(lài)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評(píng)論 6 342
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評(píng)論 19 139
  • 窗外的黃鶯 迫不及待的想告訴我 遠(yuǎn)處那片新的花海的 新的一抹橘色 橘色啊 那是太陽(yáng)照進(jìn)被窩的顏色吧 或是清晨臉上感...
    木里之須臾閱讀 314評(píng)論 0 0
  • 今天畫(huà)得很淡 天越來(lái)越冷 忍不住想用上所有的暖色 雨還要下多久 好想念暖暖的陽(yáng)光 對(duì)于五官不夠精致的模特 頭發(fā)刻意...
    巴梨_閱讀 493評(píng)論 5 6
  • 《老歌》里每一件物品都被擬人化,很有意思!喜歡《老歌》,喜歡它的獨(dú)特風(fēng)格!影片以人們不停跳舞開(kāi)篇吸引眼球,預(yù)示著這...
    玲菲子閱讀 485評(píng)論 0 0

友情鏈接更多精彩內(nèi)容