微信小程序之坑(一) JESSIONID一直变动问题
前台使用wx.request方法请求的话 head里面的jessionid会一直变得 所以 后台需要这样处理 session.getId() 之后response.getWriter().write(session.getId()); 之后让前台 放到head里面就可以了
可能有些人用了response.getWriter().write(session.getId()); 会报错
getWriter() has already been called for this response异常
之后 你可以这么处理
//小程序 把jsessionid返回给前台 之后每次再放到head中传过来就可以了
//response.getWriter().write(session.getId());
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(session.getId().getBytes());
outputStream.flush();
outputStream.close();
当然 如果前台可以获取到head里面的数据的话 可以直接把jsessionid 放到head里面 这样更便利一些
... //登录后的逻辑处理
getApp().globalData.header.Cookie = 'JSESSIONID=' + _data.sessionId;
globalData:{ header:{'Cookie': ''} //这里还可以加入其它需要的请求头,比如'x-requested-with': 'XMLHttpRequest'表示ajax提交,微信的请求时不会带上这个的 },
var header = getApp().globalData.header; //获取app.js中的请求头 wx.request({ url: "localhost:8080/xx/xx", header: header, //请求时带上这个请求头 success:function(res){ }
}