效果:将小程序里的变量显示在java后台
原理:小程序里wx.request里url连接你的servlet的访问地址:localhost:8080/项目名/urlparttern,并使用method:get相当于在网页提交表单信息,在后台使用request.getparameter接受表单信息
和下面这样在浏览器访问是一样的
代码
wx.js
bindtest:function(){
wx.request({
url: 'http://localhost:8080/wxconnect/wxtestServlet', //本地服务器地址
data:{
username:'001',
password:'abc',
},
method:'GET',
header:{
'content-type':'application/json' //默认值
},
success:function(res){
console.log(res.data);
},
fail:function(res){
console.log("失败");
}
})
},
wx.html
<button bindtap='bindtest'>按钮</button>
servlet
package wxconnected;
import java.io.IOException;
import java.io.Writer;
public class wxtestServlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
/*设置响应头允许ajax跨域访问*/
response.setHeader("Access-Control-Allow-Origin", "*");
/* 星号表示所有的异域请求都可以接受, */
response.setHeader("Access-Control-Allow-Methods", "GET,POST");
//获取微信小程序get的参数值并打印
String username = request.getParameter("username");
String passsword = request.getParameter("password");
System.out.println("username:" + username + "passsword:" + passsword);
//返回值给微信小程序
Writer out = response.getWriter();
out.write("进入后台了");
out.flush();
}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
this.doPost(request, response);
}
}