文档章节

java对接微信开发模式的代码

房乔
 房乔
发布于 2016/04/06 16:00
字数 307
阅读 80
收藏 2

package com.lee.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 com.lee.util.CheckUtils;
public class WeixinServlet extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
    String signature =req.getParameter("signature");
    String timestamp =req.getParameter("timestamp");
    String nonce =req.getParameter("nonce");
    String echostr=req.getParameter("echostr");
    PrintWriter out = resp.getWriter();
        out.println(echostr);
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
        super.doPost(req, resp);
    }

    
}

/**

类似php的代码接入

/*

package com.lee.util;
import java.lang.reflect.Array;
import java.security.MessageDigest;
import java.util.Arrays;

public class CheckUtils {

    public static final String token = "E_40257";
    public static boolean checkSignature(String signature,String timestamp,String nonce)
    {
        StringBuffer buffer = new StringBuffer();
        String[] arr = new String[]{token,timestamp,nonce};
        Arrays.sort(arr);
        for(int i=0;i<arr.length;i++)
        {
           buffer.append(arr[i]);
        }
        String temp=getSha1(buffer.toString());
        return temp.equals(signature);
    }
    
    public static String getSha1(String str){
           if (null == str || 0 == str.length()){
               return null;
           }
           char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                   'a', 'b', 'c', 'd', 'e', 'f'};
           try {
               MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
               mdTemp.update(str.getBytes("UTF-8"));
               byte[] md = mdTemp.digest();
               int j = md.length;
               char[] buf = new char[j * 2];
               int k = 0;
               for (int i = 0; i < j; i++) {
                   byte byte0 = md[i];
                   buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
                   buf[k++] = hexDigits[byte0 & 0xf];
               }
               return new String(buf);
           } catch (Exception e) {
               return null;
           }
        }
    
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>weixin</display-name>
  <servlet>
  <servlet-name>weixin</servlet-name>
  <servlet-class>com.lee.servlet.WeixinServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>weixin</servlet-name>
  <url-pattern>/wx.do</url-pattern>
  </servlet-mapping>
</web-app>

© 著作权归作者所有

房乔
粉丝 0
博文 13
码字总数 2637
作品 0
广州
程序员
私信 提问
JavaWeb项目对接微信扫码支付

项目地址:wxpay github repo 当我接到对接微信支付的开发任务时,我的第一反应是查看官方文档,但是官方文档并不是十分简洁易读(可能是我能力有限),且可能由于开发者习惯不同或业务场景不同...

可乐味儿的白衬衫
2018/05/29
0
0
YunGouOS 1.0.6 版本发布,基于微信官方渠道的个人支付接口

YunGouOS 是一款开源的基于微信官方个人支付接口开发的支付SDK,支付结算由微信官方直连。主要集成微信官方扫码支付、JSAPI支付、小程序支付、订单查询、退款等相关支付接口,开发者只需要一...

YunGouOS
06/13
0
7
Jeewx-Enterprise_1.1 版本发布

JEEWX企业号简介 JEEWX微信企业号开发平台是一款开源、免费、高效、敏捷的微信企业号开发平台,采用JAVA语言基于Jeecg快速开发框架实现,实现了微信企业号管理平台的基础功能,便于用户二次开...

多吉Q
2016/07/20
3K
3
YunGouOS 1.0.5 版本发布,基于微信官方渠道的个人支付接口

YunGouOS 是一款开源的基于微信官方个人支付接口开发的支付SDK,主要集成微信官方扫码支付、JSAPI支付、小程序支付、订单查询、退款等相关支付接口,开发者只需要一个架包即可完成微信支付对...

YunGouOS
06/02
0
0
Java互联网四大项目开发案例教学,阿里天猫核心技术首次公布!

Java互联网四大项目开发案例教学,阿里天猫核心技术首次公布! 阶段一 初级项目阶段 技术性点 项目范例 1)视频播放器 — 成功视频播放器4大基本功能和播放列表8大基本功能,熟练掌握集合和 ...

Java小仙女
02/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Hive(五)——Sqoop导入导出数据

一、

ittzg
32分钟前
2
0
抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

AQS——锁的底层支持 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资...

须臾之余
今天
2
0
springboot配置百度UEditor 富文本详解

富文本简介 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码... 准备工作 ueditor需要单独文...

wotrd
昨天
3
0
mysql 5.7之my.cnf配置大全

[client]port = 3306socket = /tmp/mysql.sock[mysqld]###############################基础设置######################################Mysql服务的唯一编号 每个mysql服务...

Online_Reus
昨天
2
0
MAVEN打包时引入外部链接的包

1.项目引入了ORACLE的jar包,MAVEN配置如下 2.打jar包的时候需要指定下main入口函数mainClass <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> ......

Cobbage
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部