微信小程序实现前后端简单通信(Java服务器)

wxml:写一个<button>组件.代码如下:

1
<button bindtap='sent'>发送请求</button>

js:向服务器发起请求.代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sent: function () {
wx.login({
success(res) {
if (res.code) {
//发起网络请求
wx.request({
url:'http://YourIP/项目名/servlet/servlet',
data: {
code: res.code
},
success: function (res) {
console.log(res.data)
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
}

服务端:新建一个servlet.内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.text.html.HTML;
import java.io.IOException;
import java.io.PrintWriter;

/**
* @Author 盛文增
* @Date 2019/7/6 19:56
* @Version 1.0
*/
@WebServlet(name = "Servlet")
public class Servlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("成功!");
String code = request.getParameter("code");
PrintWriter out = response.getWriter();
out.write(code);
out.flush();
out.close();
}
}

在xml中注册:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>servlet.Servlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/servlet/servlet</url-pattern>
</servlet-mapping>
</web-app>

此时按下小程序的按钮,触发js事件,向服务器发送带code的get请求,服务器收到请求后,将code返回小程序,小程序再将返回的code输出到控制台.这样就完成了从小程序前端向服务器通讯的过程.

内网穿透工具:花生壳

1
2
3
private static final String APP_ID = "wxed13841872660831";
private static final String APP_SECRET = "7cee96eb3933389359ba81d9fa253752";
private static String url = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code";

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×