小程式JAVA後臺配置[完整]
這裡先明確幾點:
- 小程式前後臺是分離的,前臺用微信開發者工具開發,後臺使用自己的技術開發;我這裡用的是JAVA
- 剛瞭解到上面那一點的時候,很奇怪,這不是跨域訪問麼?怎麼可以?後來查詢了資料,知道是小程式前臺 —>微信後臺—>你的後臺。
- 基於上一點,必然要保證訪問的安全性,所有服務都需要驗證身份,這裡微信提供了使用者登入機制和驗證機制。
一、微信前臺AJAX
- 微信封裝了AJAX,官方API文件有,照樣畫葫蘆就可以了。
/** * 生命週期函式--監聽頁面初次渲染完成 */ onReady: function () { wx.request({ url: 'http://localhost:8080/wxCode/wx_getDB', data: { phoneNum: '13738042310' }, method: 'GET', header: { 'content-type': 'application/json' // 預設值 }, success: function (res) { var data = res.data; console.log(data) }, fail: function (res) { console.log(".....fail....."); } }) },
- 設定本地測試時,不驗證https和域名,這樣才能先在本地測試(設定——專案設定)。
二、後臺JAVA配置
- 這裡使用的是struts2框架,myeclipse 2017
- 需要配置fastjson(阿里json包),sqljdbc4(SQLSERVER JDBC包) ,struts Action對映,tomcat 資料連線池。
- 測試完成。
- 建立一個web專案,直接在專案中右鍵加入struts框架。
2.網上下載fastjson,sqljdbc4包,匯入專案中。
3.新建一個包與類,最後形成如下目錄,名字自取。
4.配置Action對映,將方法對映成可以訪問的servlet,需要操作struts.xml檔案。
如下:
<package>裡就是配置,這裡直接配置的json資料作為返回物件,和小程式交流你也用不到介面。繼承struts-default,json-default<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="default" namespace="/" extends="struts-default,json-default"> <action name="wx_*" class="com.rx.action.HelloWorld" method="{1}"> <result name="success" type="json"> <param name="root">data</param> </result> </action> </package> </struts>
<action>中 name就是外部連結地址的訪問物件: http://localhost:8080/專案名/wx_方法名,這裡用了對映,wx_加上方法名就可以直接訪問指定的方法。配置這一條就夠用了。
<action>中 class指定包;
<result>內部如上就行了,data是引數名。
5.配置tomcat資料連線池。
- 開啟專案空間內,tomcat服務配置。
- 配置context.xml,尾行前加入
<Resource
name="jdbc/DBNAME"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1533;DatabaseName=DBNAME"
username="sa"
password="123456"
maxActive="10"
maxIdle="5"/>
- 配置web.xml
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/DBNAME(與context中name相對應)</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
- 編寫後臺檔案HelloWord
public String data=""; //返回引數data,與context中配置名相同
@Override
public String execute () throws Exception{
System.out.println("正在執行Action!");
return SUCCESS;
}
public String getDB() throws SQLException{
Connection dbConn=null;
String username="";
try {
HttpServletRequest request = ServletActionContext.getRequest(); //獲取請求頭
String phoneNum=(String)request.getParameter("phoneNum"); //獲取引數phoneNum與微信前臺傳入引數
System.out.println("獲取引數手機號:"+phoneNum);
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/DNAME");
dbConn=ds.getConnection();
//以上獲取context中配置的資料庫連線
System.out.println("成功連線資料庫");
String sql="select * from app_user where sjh= ?";
PreparedStatement pstmt = dbConn.prepareStatement(sql);
pstmt.setString(1, phoneNum);
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
username=rs.getString("yhm");
}
//以上根據手機號獲取姓名 (JDBC)
} catch (Exception e) {
e.printStackTrace();
}finally{
dbConn.close();
}
JSONObject obj=new JSONObject();
obj.put("name", username);
data=obj.toString();
//以上將值賦予data,返回成功。
return SUCCESS;
}
6.測試 前臺成功根據手機號讀出使用者名稱:
後臺成功獲取引數,並連線資料庫
7.總結
主要就是配置了servlet和資料庫連線池,還有針對小程式的一些特殊點;
如果是自己本來就做java web專案,這種後臺估計都不用配了。這部分內容對於前端比較陌生,所以這裡寫一下。
如有錯誤和改進,請提出,謝了。
相關推薦
小程式JAVA後臺配置[完整]
這裡先明確幾點:小程式前後臺是分離的,前臺用微信開發者工具開發,後臺使用自己的技術開發;我這裡用的是JAVA剛瞭解到上面那一點的時候,很奇怪,這不是跨域訪問麼?怎麼可以?後來查詢了資料,知道是小程式前臺 —>微信後臺—>你的後臺。基於上一點,必然要保證訪問的安全性
微信小程式+java後臺
開發一個微信小程式需要https域名以及伺服器 1. 進入微信公眾平臺https://
微信小程式+java後臺實現登入(java操作)
登入,在微信小程式上面稱為當一個使用者使用該小程式,進入到小程式中,我們拿到該使用者的資訊,進行一系列的操作,並記錄下來。 微信小程式與java介面實現登入操作,大致思路如下: 1.微信小程式端通過呼叫對應的api,將對應的變數傳入後臺(code、iv、encr
微信小程式+java後臺實現支付(java操作)
支付,在微信小程式上面稱為當一個使用者使用該小程式,當進入到支付環節,我們需要呼叫微信支付介面過程,進行一系列的操作,並記錄下來。 微信小程式與java介面實現支付操作,大致思路如下: 1.微信小程式呼叫Java後臺方法獲取引數, 2.java 後臺設定引數等並
(小程式前端)微信小程式-畢設級專案搭建(內含原始碼,微信小程式+java邏輯後臺+vue後臺管理系統+MySQL資料庫)~不求完美,實現就好
一、環境搭建 參考教程:https://blog.csdn.net/u012888052/article/details/79623229 二、根據上方教程新建的專案,編寫對應程式 第一次做的小程式,是一款閱讀器軟體,包括了簡單的文章瀏覽、歷史回顧、簽到
微信小程式----編寫後臺服務介面配置檔案
編寫後臺服務介面配置檔案 const basePath = 'http://test.cdbhbc.com/wbgapi'; const urlList = { // 重新整理token
小程式與後臺介面封裝
小程式的程式碼結構和app很相似,基本操作都是前端js邏輯就能搞定,然後就是和後臺進行資料交換。 新建一個api目錄,建一個index.js專門處理介面的檔案 2.封裝一個fetch函式 import config from '../config'; let apiPath =
小程式: 域名配置
1. 問題 在小程式中,如果我們沒有在微信公眾平臺: 配置 https開頭的、備案過的域名話,呼叫該域名下的介面,就會報錯 當然: 如果只是簡單的學習下小程式使用的話,可以不校驗域名 — 微信開發者工具中: 詳情 — 打鉤: 不校驗合法域名、web-
微信小程式 | app.json配置屬性
app.json 檔案用來對微信小程式進行全域性配置,決定頁面檔案的路徑、視窗表現、設定網路超時時間、設定多 tab 等。 widows: 用於設定小程式的狀態列、導航條、標題、視窗背景色。 navigationBarBackgroundColor 導航條背景顏色可用 十六
微信小程式Nginx-SSL配置
方法/步驟 首先,你要有SSL證書,前提得申請一個域名。什麼?你不會申請?那你的去問問度娘咯~ 在域名註冊商(我是用的騰訊雲),選擇雲產品-域名服務,你會看到SSL證書管理,沒錯,就是它,點它。 接著選擇申請證書(免費版的DVSSL證書) &nb
微信小程式lianc++後臺
貼上微信小程式傳送http請求程式碼: onsend: function(){ wx.request({ url: 'http://127.0.0.1:1000', //c++後臺ip、埠 data: { x: '1' ,
微信小程式開發——全域性配置詳細介紹
本文針對官方文件未說明清楚的進行詳細探索研究,官方文件詳見:全域性配置 。 pages: 刪除頁面,需要先刪除app.json中pages對應頁面的路徑,再去刪除頁面相關的所有檔案,不然會出現頁面檔案混亂。 window: 用於設定小程式的狀態列、導航條、標題、視窗背景色:
小程式——阿里伺服器配置https及什麼是IIS
1.申請域名:阿里雲 2.免費開啟SSL證書:管理=》免費開啟SSL證書》單域名》dev.xxx.top 3.配置伺服器:下載=》IIS7證書 *註冊一個域名,可以免費開啟一個https域名; *一個服務,只能一個https 域名;多個https域名需要單獨配置; 什麼是IIS? &nb
微信小程式合法域名配置-不校驗合法域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書
微信小程式合法域名配置-不校驗合法域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書 很多教程說按照以上方式呼叫即可。但是當我們在程式中實際呼叫以上程式時,就會報錯, http://14.116.211.92:8099 不在以下 request 合法域名列表中,請參考文件
小程式的支付的完整程式碼(php)
小程式的支付的完整程式碼(php) 下面為後臺程式碼 function pay(){ $openid = "使用者的openid" $money ="需要支付的金額" ; // (!$lawyer_id) &&am
微信小程式和後臺API通訊
1、微信小程式不能直接訪問後臺的介面。 2、通過內網穿透實現,暴漏到公網。 3、這裡使用的工具是 ngrok.com 使用ngrok進行內網穿透 1、開啟https://dashboard.ngrok.com,註冊賬號登陸,download 下載適合自己電腦的。
微信小程式上傳圖片檔案 小程式+Java
小程式程式碼: chooseImage(){ wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths wx.up
小程式——對後臺返回的資料新增新的欄位
如二維陣列,想要將每一條資料的末尾加新的一列。做法直接命名並賦值。 var type = "food"; for (i = 0; i < res.data.length; i++) { res.data[i].type = type; } 有試過報t
小程式釋出 一 配置伺服器域名
step 1 2018.11.5 小程式資訊:補充小程式的基本資訊,如名稱、圖示、描述等 √ 新增開發者 : 新增開發者,進行程式碼上傳 √ 在開發設定頁面檢視AppID和AppSecret,配置伺服器域名 50% 阿里雲購買雲伺服器 ECS √ 阿里雲購買域
關於微信小程式接受後臺json資料漢字變成問號
最近做微信小程式開發,發現後臺傳來的json資料裡面的中文全變成了“?” 如下圖: 上網找也沒找到解決方法,後來經過自己除錯半天,突然就解決了,解決方案如下圖所示: 把 請求,響應的編碼格式和型別的語句 都放在 Pri