微信开发第二讲 开发与微信交互的servlet



在上一节中我们学习了如何在微信服务号中配置URL和token,现在介绍一下如何开发与微信交互的Servlet。

package com.demo.weixin.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
 

/import com.demo.weixin.service.CoreService;
import com.demo.weixin.util.SignUtil;

/**
 * 核心请求处理类
 *
 *
 */
public class CoreServlet extends HttpServlet {

 private static final Logger logger = Logger.getLogger(CoreServlet.class);

 /**
  * 确认请求来自微信服务器
  */
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException
 {
  // 微信加密签名
  String signature = request.getParameter("signature");
  // 时间戳
  String timestamp = request.getParameter("timestamp");
  // 随机数
  String nonce = request.getParameter("nonce");
  // 随机字符串
  String echostr = request.getParameter("echostr");

  PrintWriter out = response.getWriter();
  // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败
  String token ="weixin";
 
  if (SignUtil.checkSignature(token,signature, timestamp, nonce))

  {
   out.print(echostr);//如果签名成功,返回给微信
  }
  out.close();
  out = null;
 }

 /**
  * 处理微信服务器发来的消息
  */
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException
 {
  // 将请求、响应的编码均设置为UTF-8(防止中文乱码)
   request.setCharacterEncoding("UTF-8");
   response.setCharacterEncoding("UTF-8") ;
   //本节暂不介绍微信消息处理

   //String respMessage = CoreService.processWeixinRequest(request);
   //logger.info(respMessage);//输出响应的消息字符串
   // 响应消息
   PrintWriter out = response.getWriter();
   out.print(respMessage);
   out.close();
 }


}


SignUtil.java的代码及servlet配置参考:

http://www.openjweb.com/portal/pubinfo/001031003/20151011/6d3d8a2b966f46178d5f8310628d1161.html

手机端浏览参考:

http://www.openjweb.com/portal/pubinfo/001031003/20151011/m_6d3d8a2b966f46178d5f8310628d1161.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值