JAVA微信开发weixin4j新手接入之Servlet方式接入

今天为大家来演示一下,使用JavaServlet方式,用weixin4j如何进行新手接入。

首先大家需要新建一个空的web项目。

下面是代码:

  1. package org.weixin4j.demo;  
  2.    
  3. import com.thoughtworks.xstream.XStream;  
  4. import java.io.IOException;  
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9. import org.weixin4j.Configuration;  
  10. import org.weixin4j.message.OutputMessage;  
  11. import org.weixin4j.message.TextOutputMessage;  
  12. import org.weixin4j.util.TokenUtil;  
  13. import org.weixin4j.util.XStreamFactory;  
  14.    
  15. /** 
  16.  * 新手接入 
  17.  * 本次接入设定的访问URL为:http://www.weixin4j.org/api/公众号名称 
  18.  * @author weixin4j<weixin4j@ansitech.com> 
  19.  */  
  20. public class WechatServlet extends HttpServlet {  
  21.     @Override  
  22.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  23.         String path = request.getServletPath();  
  24.         //1.验证消息真实性  
  25.         //获取微信公众号  
  26.         String gongzonghao = path.substring(path.lastIndexOf("/"));  
  27.         //如果获取不到公众号,则向服务器发生错误信息  
  28.         if (gongzonghao == null) {  
  29.             response.getWriter().write("error");  
  30.         } else {  
  31.             //根据公众号,算出对应的Token,然后进行验证  
  32.             gongzonghao = gongzonghao.substring(1);  
  33.             //获取配置文件配置的Token  
  34.             String token = Configuration.getProperty("weixin4j.token");  
  35.             if (Configuration.isDebug()) {  
  36.                 System.out.println("取出公众号Token:" + token);  
  37.             }  
  38.             //成为开发者验证  
  39.             String signature = request.getParameter("signature");   // 微信加密签名  
  40.             String timestamp = request.getParameter("timestamp");   // 时间戳  
  41.             String nonce = request.getParameter("nonce");           // 随机数  
  42.             String echostr = request.getParameter("echostr");       //   
  43.             //确认此次GET请求来自微信服务器,原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败  
  44.             if (TokenUtil.checkSignature(token, signature, timestamp, nonce)) {  
  45.                 response.getWriter().write(echostr);  
  46.             } else {  
  47.                 response.getWriter().write("error");  
  48.             }  
  49.         }  
  50.     }  
  51.     @Override  
  52.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  53.         OutputMessage outputMsg = new TextOutputMessage("您的消息服务器已收到!");  
  54.         // 把发送发送对象转换为xml输出  
  55.         XStream xs = XStreamFactory.init(true);  
  56.         xs.alias("xml", outputMsg.getClass());  
  57.         String xml = xs.toXML(outputMsg);  
  58.         if (Configuration.isDebug()) {  
  59.             System.out.println("POST输出消息:[" + xml + "]");  
  60.         }  
  61.         response.getWriter().write(xml);  
  62.     }  
  63. }  
接下来是配置web.xml:

  1. <!-- Servlet方式 微信接入配置 -->  
  2. <servlet>  
  3.     <servlet-name>wechat</servlet-name>  
  4.     <servlet-class>org.weixin4j.demo.WechatServlet</servlet-class>  
  5. </servlet>  
  6. <servlet-mapping>  
  7.     <servlet-name>wechat</servlet-name>  
  8.     <url-pattern>/api/*</url-pattern>  
  9. </servlet-mapping>  

最后,将项目打包,发布到服务器,就可以在微信公众号平台中,进行开发者接入认证了。

祝你部署成功,生活愉快!

明天会有更精彩的内容,别走开,马上回来!

您可以加入我们的官方QQ群:365736353,专业人为您解答各种技术问题。

转载至: http://www.weixin4j.org/article/weixin4j-servlet.html
更多文章,请关注: http://www.weixin4j.org/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值