微信小程序与Java的Servlet通信小示例

微信小程序开发端

<!--index.wxml-->
<view class="container">
  <button bindtap='bindtest'>test</button>
</view>
----------------------------------------------------------------------------
//index.js
//获取应用实例
const app = getApp()
Page({
  bindtest: function () {
    wx.request({
      url: 'http://localhost:8080/ZYJ_WXTest/WXServlet',
      data: {
        username: '张育嘉',
        password: '123'
      },
      method: 'POST',
      header: {
        //'content-type': 'application/json' // 默认值
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      success: function (res) {
        console.log(res.data);
      },
      fail: function (res) {
        console.log(".....fail.....");
      }
    })
  }
})

注意:其中url设置为“http://localhost:8080/ZYJ_WXTest/WXServlet”时,微信小程序开发工具会报错
这里写图片描述
这时需要设置开发工具的详情选项,将所选的checkbox打勾即可
这里写图片描述

请求信息
这里写图片描述

Java端的Servlet

@WebServlet("/WXServlet")
public class WXServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置请求编码
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        /* 设置响应头允许ajax跨域访问 */
        response.setHeader("Access-Control-Allow-Origin", "*");
        /* 星号表示所有的异域请求都可以接受, */
        response.setHeader("Access-Control-Allow-Methods", "GET,POST");

        User user = new User();
        //获取微信小程序get的参数值并打印
        user.setUsername(request.getParameter("username"));
        user.setPassword(request.getParameter("password"));
        System.out.println("username="+user.getUsername()+" ,password="+user.getPassword());
        //转成json数据
        Map<String, Object> result = new HashMap<String, Object>();
        result.put("data", user);
        result.put("msg", "后台已收到");
        //使用Gson类需要导入gson-2.8.0.jar
        String json = new Gson().toJson(result);

        //返回值给微信小程序
        Writer out = response.getWriter();
        out.write(json);
        out.flush();
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

注意:使用Gson类需要导入gson-2.8.0.jar

结果:
这里写图片描述
这里写图片描述
GSON下载: http://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.0/

  • 8
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值