東坡下載:內(nèi)容最豐富最安全的下載站!

幫助|文件類型庫(kù)|最新更新|下載分類|排行榜

搜索查詢電子工業(yè)辦公軟件壓縮解壓轉(zhuǎn)換翻譯時(shí)鐘日歷文檔管理電子閱讀漢字輸入文字處理刪除恢復(fù)計(jì)算器

首頁(yè)應(yīng)用軟件應(yīng)用其他 → jfinal 微信(JFinal Weixin Demo) 1.2 官方最新版

jfinal 微信(JFinal Weixin Demo)

jfinal 微信(JFinal Weixin Demo)1.2 官方最新版

  • 大。5.6M
  • 語(yǔ)言:中文
  • 平臺(tái):WinAll
  • 更新:2015-05-27 10:48
  • 等級(jí):
  • 類型:應(yīng)用其他
  • 網(wǎng)站:http://sfsensi.com
  • 授權(quán):免費(fèi)軟件
  • 廠商:
  • 產(chǎn)地:國(guó)產(chǎn)軟件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
軟件介紹軟件截圖相關(guān)軟件軟件教程網(wǎng)友評(píng)論下載地址

相關(guān)推薦: jfinal下載 jfinal 微信

    JFinal 是基于 Java 語(yǔ)言的極速 WEB + ORM 框架,其核心設(shè)計(jì)目標(biāo)是開(kāi)發(fā)迅速、代碼量少、學(xué)習(xí)簡(jiǎn)單、功能強(qiáng)大、輕量級(jí)、易擴(kuò)展、Restful。 在擁有Java語(yǔ)言所有優(yōu)勢(shì)的同時(shí)再擁有ruby、python、php等動(dòng)態(tài)語(yǔ)言的開(kāi)發(fā)效率!為您節(jié)約更多時(shí)間,去陪戀人、家人和朋友 :)

    JFinal有如下主要特點(diǎn)

    MVC架構(gòu),設(shè)計(jì)精巧,使用簡(jiǎn)單
    遵循COC原則,零配置,無(wú)xml
    獨(dú)創(chuàng)Db + Record模式,靈活便利
    ActiveRecord支持,使數(shù)據(jù)庫(kù)開(kāi)發(fā)極致快速
    自動(dòng)加載修改后的java文件,開(kāi)發(fā)過(guò)程中無(wú)需重啟web server
    AOP支持,攔截器配置靈活,功能強(qiáng)大
    Plugin體系結(jié)構(gòu),擴(kuò)展性強(qiáng)
    多視圖支持,支持FreeMarker、JSP、Velocity
    強(qiáng)大的Validator后端校驗(yàn)功能
    功能齊全,擁有struts2的絕大部分功能
    體積小僅248K,且無(wú)第三方依賴

    jfinal 微信使用的技術(shù)

    前端使用淘寶tengine(Nginx),基于JAVA語(yǔ)言,采用JFinal開(kāi)發(fā),數(shù)據(jù)庫(kù)采用PostgreSQL,緩存及隊(duì)列采用SSDB。

    XML處理采用dom4j,JSON處理采用溫少的fastjson。http相關(guān)處理采用HttpClient庫(kù)。

    經(jīng)過(guò)測(cè)試發(fā)現(xiàn)使用Nginx做前端可大幅提高響應(yīng)速度。主要原因可能是Nginx建立連接更快吧。

    核心接口:

    public interface Handler<T,R> { T handle(R request); }public interface RequestMessage { public void parseXml(Element root); }public interface ResponseMessage { public void toXml(Element root); }public interface EngineService extends Service{ /**  * @Title       : handle  * @Description : 處理收到的消息字符串  * @param       : @param msgText    消息字符串  * @return      : String xml字符串  */ public String handle(String msgText); /**  * @Title       : registEventHandler  * @Description : 注冊(cè)事件處理器  * @param       : @param eventType  事件類型  * @param       : @param handler    事件處理器  */ public void registEventHandler(EventType eventType,Handler<RequestMessage , ResponseMessage> handler); /**  * @Title       : registInMessageHandler  * @Description : 注冊(cè)消息處理器  * @param       : @param msgType  消息類型  * @param       : @param handler  消息處理器  */ public void registInMessageHandler(InMsgType inMsgType, Handler<RequestMessage , ResponseMessage> handler); /**  * @Title       : registUnsupportedInMesssageHandler  * @Description : 注冊(cè)不支持的消息/事件處理器  * @param       : @param handler    處理器  */ public void registUnsupportedInMessageHandler(Handler<RequestMessage , ResponseMessage> handler); /**  * @Title       : registUnsupportedMesssageHandler  * @Description : 注冊(cè)不支持的消息/事件處理器  * @param       : @param handler    處理器  */ public void registUnsupportedEventHandler(Handler<RequestMessage , ResponseMessage> handler); }

    EngineService的handle方法會(huì)偵測(cè)消息事件類型,然后構(gòu)建對(duì)應(yīng)的對(duì)象,并調(diào)用對(duì)象的parseXML方法完成對(duì)消息xml的分析,最后調(diào)用注冊(cè)的handler來(lái)處理響應(yīng)的消息或者事件。

    具體業(yè)務(wù)實(shí)現(xiàn)對(duì)應(yīng)的handler,然后注冊(cè)到某個(gè)消息或者事件上就可以了。

    與JFinal集成部分代碼,主要就是集成JFinal的Handler,然后把請(qǐng)求轉(zhuǎn)發(fā)到EngineService的handle方法上。

    public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) { isHandled[0] = true; try { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); if (checkSignature(request)) { if (request.getMethod().equals("POST")) { // 微信發(fā)送過(guò)來(lái)的數(shù)據(jù)(用戶發(fā)起) // 接收post過(guò)來(lái)的數(shù)據(jù) String requestStr = readPostData(request); if (logger.isDebugEnabled()) { logger.debug("POST請(qǐng)求,轉(zhuǎn)發(fā)到威爾伯樂(lè)微信引擎處理"); logger.debug("POST請(qǐng)求數(shù)據(jù):" + requestStr); } String responseStr = null; if (requestStr != null) { responseStr = engineService.handle(requestStr); } if (logger.isDebugEnabled()) { logger.debug("威爾伯樂(lè)微信引擎處理-處理結(jié)束"); logger.debug("響應(yīng)數(shù)據(jù):" + responseStr); } if (responseStr != null) { // 結(jié)果不為空,寫(xiě)入結(jié)果 response.setContentType("text/xml"); response.getWriter().write(responseStr); response.getWriter().flush(); } } else if (request.getMethod().equals("GET")) { if (logger.isDebugEnabled()) { logger.debug("GET請(qǐng)求,微信公共平臺(tái)驗(yàn)證URL有效性"); } String echostr = request.getParameter("echostr"); if (echostr != null) { // 若echostr不為空,則為微信公共平臺(tái)驗(yàn)證URL有效性 response.getWriter().write(echostr); response.getWriter().flush(); } } } else { // 簽名失敗,不做任何處理。 if (logger.isDebugEnabled()) { logger.debug("簽名驗(yàn)證失敗"); } } } catch (Exception e) { e.printStackTrace(); } }

    只能給出這些信息了。其他源碼不能公開(kāi)了。

    這是微信公眾平臺(tái)給出的API調(diào)用性能數(shù)據(jù),還不錯(cuò)。

    PC官方
    安卓官方手機(jī)版
    IOS官方手機(jī)版

    jfinal 微信(JFinal Weixin Demo)截圖

    下載地址

    jfinal 微信(JFinal Weixin Demo) 1.2 官方最新版

    熱門評(píng)論
    最新評(píng)論
    發(fā)表評(píng)論 查看所有評(píng)論(0)
    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)

    編輯推薦

    報(bào)錯(cuò)

    請(qǐng)簡(jiǎn)要描述您遇到的錯(cuò)誤,我們將盡快予以修正。

    轉(zhuǎn)帖到論壇
    輪壇轉(zhuǎn)帖HTML方式

    輪壇轉(zhuǎn)帖UBB方式