今天为大家来演示一下,使用JavaServlet方式,用weixin4j如何进行新手接入。
首先大家需要新建一个空的web项目。
下面是代码:
- package org.weixin4j.demo;
- import com.thoughtworks.xstream.XStream;
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.weixin4j.Configuration;
- import org.weixin4j.message.OutputMessage;
- import org.weixin4j.message.TextOutputMessage;
- import org.weixin4j.util.TokenUtil;
- import org.weixin4j.util.XStreamFactory;
- /**
- * 新手接入
- * 本次接入设定的访问URL为:http://www.weixin4j.org/api/公众号名称
- * @author weixin4j<weixin4j@ansitech.com>
- */
- public class WechatServlet extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String path = request.getServletPath();
- //1.验证消息真实性
- //获取微信公众号
- String gongzonghao = path.substring(path.lastIndexOf("/"));
- //如果获取不到公众号,则向服务器发生错误信息
- if (gongzonghao == null) {
- response.getWriter().write("error");
- } else {
- //根据公众号,算出对应的Token,然后进行验证
- gongzonghao = gongzonghao.substring(1);
- //获取配置文件配置的Token
- String token = Configuration.getProperty("weixin4j.token");
- if (Configuration.isDebug()) {
- System.out.println("取出公众号Token:" + token);
- }
- //成为开发者验证
- String signature = request.getParameter("signature"); // 微信加密签名
- String timestamp = request.getParameter("timestamp"); // 时间戳
- String nonce = request.getParameter("nonce"); // 随机数
- String echostr = request.getParameter("echostr"); //
- //确认此次GET请求来自微信服务器,原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败
- if (TokenUtil.checkSignature(token, signature, timestamp, nonce)) {
- response.getWriter().write(echostr);
- } else {
- response.getWriter().write("error");
- }
- }
- }
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- OutputMessage outputMsg = new TextOutputMessage("您的消息服务器已收到!");
- // 把发送发送对象转换为xml输出
- XStream xs = XStreamFactory.init(true);
- xs.alias("xml", outputMsg.getClass());
- String xml = xs.toXML(outputMsg);
- if (Configuration.isDebug()) {
- System.out.println("POST输出消息:[" + xml + "]");
- }
- response.getWriter().write(xml);
- }
- }
- <!-- Servlet方式 微信接入配置 -->
- <servlet>
- <servlet-name>wechat</servlet-name>
- <servlet-class>org.weixin4j.demo.WechatServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>wechat</servlet-name>
- <url-pattern>/api/*</url-pattern>
- </servlet-mapping>
最后,将项目打包,发布到服务器,就可以在微信公众号平台中,进行开发者接入认证了。
祝你部署成功,生活愉快!
明天会有更精彩的内容,别走开,马上回来!
您可以加入我们的官方QQ群:365736353,专业人为您解答各种技术问题。
转载至: http://www.weixin4j.org/article/weixin4j-servlet.html更多文章,请关注: http://www.weixin4j.org/