java后台使用的ssm框架,小程序連接的本地接口。跟正常的web訪問沒什么區別,也是后台獲取url,返回json數據;只是小程序前台請求的url要帶上http://localhost:8080
1. 項目結構
2. 配置文件:
Jackson相關包下載 除去里面的js文件
3. test.js和test.wxml
(1) test.js
bindtest:function(){
wx.request({
url:'http://ip:8080/WxProgram/buttonTest2',
data:{
username:'admin',
password:'admin'},
method:'GET',
header:{'content-type':'application/json'},
success:function(res){
console.log(res.data);
},
fail:function(res){
console.log("--------fail--------");
}
})
}
(2) test.wxml
{{name}}
test
4. WxTestController.java
@RequestMapping(value="/buttonTest2")public void buttonTest(String username, String password, HttpServletResponse response) throwsServletException, IOException{
response.setContentType("text/html;charset=utf-8");/*設置響應頭允許ajax跨域訪問*/response.setHeader("Access-Control-Allow-Origin", "*");/*星號表示所有的異域請求都可以接受,*/response.setHeader("Access-Control-Allow-Methods", "GET,POST");
System.out.println("username="+username+" ,password="+password);//返回值給微信小程序
Writer out =response.getWriter();
out.write("進入后台");
out.flush();
}
運行結果:
小程序前台:
java后台:
開始一直沒有連成功,后來百度發現要先設置一下。參考這里
在請求本地接口時,要開啟"不校驗請求域名、TLS版本及HTTPS證書"選項:設置->項目設置->不校驗請求域名、TLS版本及HTTPS證書。因為wx.request的url請求中不能有端口。
遠程訪問
由於前后台是兩個人開發的,需要遠程訪問。而因為注冊的阿里雲域名審查時間長,暫時用的花生殼遠程連接。方法:下載花生殼客戶端,使用免費贈送的域名,這里花了六塊錢,忘了哪花的了。
登錄花生殼,設置內網穿透->添加映射。內網主機即本機ip地址,cmd,用ipconfig命令查看ipv4地址。如圖。
這里遇到一個問題,添加的映射一直沒顯示,后來通過客服后台操作才顯示成功。如圖。
添加成功之后,啟動Tomcat,之前的內網訪問地址http://ip:8080就可以改用對應的外網訪問地址來訪問了。