微信小程序与java后台交互
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
<view>{{name}}</view>
<view>
<button bindtap='bindtest'>test</button>
</view>
4. WxTestController.java
@RequestMapping(value="/buttonTest2")
public void buttonTest(String username, String password, HttpServletResponse response) throws ServletException, 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就可以改用对应的外网访问地址来访问了。
花生壳教程:http://service.oray.com/question/2480.html
微信小程序与java后台交互的更多相关文章
- 微信小程序与Java后台通信
一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的, ...
- 微信小程序与Java后台的通信
一.写在前面 最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的, ...
- 微信小程序登录JAVA后台
代码地址如下:http://www.demodashi.com/demo/12736.html 登录流程时序登录流程时序 具体的登录说明查看 小程序官方API 项目的结构图: springboot项目 ...
- 微信小程序:java后台获取openId
一.功能描述 openId是某个微信账户对应某个小程序或者公众号的唯一标识,但openId必须经过后台解密才能获取(之前实现过前台解密,可是由于微信小程序的种种限制,前台解密无法在小程序发布后使用) ...
- 【原创】微信小程序支付java后台案例(公众号支付同适用)(签名错误问题)
前言 1.微信小程序支付官方接口文档:[点击查看微信开放平台api开发文档]2.遇到的坑:预支付统一下单签名结果返回[签名错误]失败,建议用官方[签名验证工具]检查签名是否存在问题.3.遇到的坑:签名 ...
- 微信小程序实战,与后台交互
index.wxml <view class="container"> <text>{{txt}}</text> <input name= ...
- 微信小程序需要https后台的创业机会思考
最近比较关注微信小程序,而且微信小程序的后台必须强制要求https, https相对http成本要高很多了. 这里我感觉有2个商机 (1)提供https 中转服务器 ,按流量来收费 (2) 微信小程序 ...
- 微信商城小程序 带java后台源码
微信小程序商城(Java版) 技术选型 1 后端使用技术 1.1 spring-web-4.0.2.RELEASE 1.2 mybatis3.2.8 1.3 shiro1.2.3 1.4 servle ...
- 微信小程序支付 java
原文:https://blog.csdn.net/zhourenfei17/article/details/77765585 话不多说,直接开撸. 支付流程步骤: 1)首先调用wx.login方法获取 ...
随机推荐
- 总结一下公司项目使用各种较新的前端技术和 Api 的一些经验。
关于 ES6: 需要注意 ES6 的一些特性和 API 是需要一个 200k 的 Polyfill 才能得到支持的,特性如 for ... of 循环,generator,API 如 Object.a ...
- 网络编程的演进——从Apache到Nginx
Apache 1.Apache HTTP服务器是 Robert McCool 在1995年写成,并在1999年开始在Apache软件基金会的 框架下进行开发. 由于Apache HTTP服务器是基金会 ...
- [VB.NET][C#]二维向量的基本运算
前言 在数学中,几何向量指具有大小(Magnitude)和方向的几何对象,它在线性代数中经由抽象化有着更一般的概念.向量在编程中也有着及其广泛的应用,其作用在图形编程和游戏物理引擎方面尤为突出. 基于 ...
- JavaScript 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
filter(): 语法: var filteredArray = array.filter(callback[, thisObject]); 参数说明: callback: 要对每个数组元素执行 ...
- 第二节:用PE安装Windows系统
用PE安装Windows系统 认识PE系统 Windows Preinstallation Environment(Windows PE),Windows预安装环境,是带有有限服务的最小Win32子系 ...
- vue.js和vue-router和vuex快速上手知识
vue.js和vue-router和vuex快速上手知识 一直以来,认为vue相比react而言,学习成本会更低,会更简单,但最近真正接触后,发现vue的各方面都有做一些客户化的优化,有一些亮点,但也 ...
- Jmeter性能指标分析
以下是下载了服务器监控插件的各个组件的功能介绍,有助于以后jmeter的性能测试 1.jp@gc - Actiive Threads Over Time:不同时间的活动用户数量展示(图表) 当前的时间 ...
- java事务 深入Java事务的原理与应用
一.什么是JAVA事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (iso ...
- texlive2018和texstudio的安装及汉化教程
latex是编写论文的利器,尤其是公式的编辑是word等不可比的,且公式可以支持转换为Matgtype,十分方便且学习周期短. 下文是texlive2018和texstudio的安装教程: 本文转自: ...
- centos7 --ngnix 常用命令:
配置命令 随服务器启动 # systemctl enable nginx.service 重启 nginx 服务 # systemctl restart nginx.service 停止 nginx ...