码迷,mamicode.com
首页 > 微信 > 详细

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

时间:2015-04-24 19:09:52      阅读:731      评论:0      收藏:0      [点我收藏+]

标签:

今天为大家来演示一下,使用Java Servlet方式,用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);
    }
}
接下来是配置web.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/

技术分享

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

标签:

原文地址:http://blog.csdn.net/yakson/article/details/45250081

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!