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;
@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";
|