1.在对应的servlet框架下:
一般说来:继承HttpServlet的形式实现:如下
@WebServlet("/wx")
public class WxServlet extends HttpServlet { }
完整代码:
@WebServlet("/wx")
public class WxServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/**
* signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
timestamp 时间戳
nonce 随机数
echostr 随机字符串
*/
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
//校验证签名
if(WxService.check(timestamp,nonce,signature)) {
System.out.println("接入成功");
PrintWriter out = response.getWriter();
//原样返回echostr参数
out.print(echostr);
out.flush();
out.close();
}else {
System.out.println("接入失败");
}
}
2.在对应的ssm框架下:
1.直接在Controller接收参数HttpServletRequest或HttpServletResponse,再传到service类中
2.在service类中需要使用req和res对象的方法上加@ModelAttribute注解,并且在方法
参数列表里接收这两个对象即可在方法里使用3.在web.xml中配置监听器(专门监听http对象),spring子容器可以使用父容器web的对象
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>@Autowired
private HttpServletRequest request;
@Autowired
private HttpServletResponse response;
————————————————
版权声明:本文为CSDN博主「zhengholien」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhengholien/article/details/53558354
3.在对应的spring boot的框架下:
// 对于的controller方法里面,写以下代码
RequestAttributes requestAttributes = RequestContextHolder.currentRequestAttributes();
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
HttpServletRequest request = servletRequestAttributes.getRequest();
HttpServletResponse response = servletRequestAttributes.getResponse();
比如一个请求的入口是这样的:
@RequestMapping(value = "new",method = RequestMethod.POST)
public ResultMessage<String> newResume(@RequestBody AdminResumeShowVo resumePerson) {
RequestAttributes requestAttributes = RequestContextHolder.currentRequestAttributes();
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
HttpServletRequest request = servletRequestAttributes.getRequest();
HttpServletResponse response = servletRequestAttributes.getResponse();
return recruitmentManagementService.newResumeByWeb(resumePerson,response,request);
}
同第二种类似,还有其他方法,我用的最常见习惯这样用!