微信小程序与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/

猜你喜欢

转载自blog.csdn.net/code_shadow/article/details/80372516
今日推荐