前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入java微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接!

(一)接入流程解析

通过上面我们可以看出其中接入微信公众平台开发,开发者需要按照如下步骤完成:

填写服务器配置

验证服务器地址的有效性

依据接口文档实现业务逻辑

按照上面的逻辑可能是填写服务器配置信息是在第一步,但是我们在真实的开发过程中往往都是先做第二步【编写代码实现验证服务器地址的有效性】,因为没有第二步的完成第一步的配置是不能达到任何效果的!

(二)验证服务器有效性代码编写

按照开发文档我们知道我们的应用服务器需要接受微信服务器的get请求,其中包含四个参数(signature、timestamp、nonce、echostr)然后通过校验方式校验服务器的可靠性,校验方式如下:

将token、timestamp、nonce三个参数进行字典序排序

将三个参数字符串拼接成一个字符串进行sha1加密

开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

①我在这里写了一个工具类去实现其中的前两步,将三个参数排序并返回sha1加密后的字符串,代码如下:

②将我们的工具类应用到我们的服务器验证过程中,这里我新建一个controller为wechatsecurity,实现同一个get用于接收参数和返回验证参数,简单代码如下:

那么到这里我们的服务器验证的代码就基本完成了,下面我们就进入验证过程!

(三)服务器验证

这里我用来验证的是我的个人公众号【崔用志】,如果大家有兴趣可以搜索看到的,通过微博认证的一个私人号,当然有想法在这里我们也是可以一起交流的,验证方法如下图:

点击【提交】成功之后如下图所示:

点击图中【启用】即可,那么到这里我们的服务器接入配置就完成了,【下一篇我们将讲述如何接收消息并进行消息处理】,感谢你的翻阅,如有疑问可以留言讨论!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

java微信开发教程,Java微信公众平台开发(1) 接入微信公众平台相关推荐

  1. 微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)

    前言: 事件处理是非常重要的,这一章讲讲常见的事件处理 1.关注/取消关注 2.菜单点击 事件类型介绍: 在微信中有事件请求是消息请求中的一种.请求类型为:event 而event事件类型又分多种事件 ...

  2. 微信公众号开发java流程_微信公众号开发教程java 编程语言的特点及选择

    微信公众号开发教程java 编程语言的特点及选择 微信公众号为用户提供了相关的工具,来对微信公众号进行一个简单的开发.但是如果想实现一些复杂的功能,其实还是要借助于一些编程语言的使用.所以要了解,在微 ...

  3. 视频教程-spring+springMVC+mybatis(ssm框架)在线考试系统实战开发教程-Java

    spring+springMVC+mybatis(ssm框架)在线考试系统实战开发教程 软件工程硕士毕业,目前就职于上海电信研究院,有三年Java开发经验,五年PHP开发经验. 李礼强 ¥368.00 ...

  4. Android开发教程JAVA基础(汇总)

    Android游戏开发视频教程(汇总) Android开发教程JAVA基础之Java 概述 Android开发教程JAVA基础之标示符.关键字1 Android开发教程JAVA基础之标示符.关键字2 ...

  5. Java详细安装教程--Java(jdk)安装

    Java详细安装教程–Java(jdk)安装 一.java历史简介 1991 年Sun公司的James Gosling等人开始开发名称为 Oak (橡树)的语言.希望用于控制嵌入在有线电视交换盒.PD ...

  6. Java Date Time 教程-java.sql.Date

    Java的java.sql.Date类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期或者从java.sql.ResultSet获取日期,你将会和 ...

  7. 微信上的Siri:小i机器人首次接入微信语音API

    微信上的Siri:小i机器人首次接入微信语音API 不久前我们曾介绍过微信开放系统API,首次和印象笔记合作,可以将聊天内容无缝保存到印象笔记.除印象笔记外,智能语音助手小i机器人也是首批获得微信系统 ...

  8. [libGDX游戏开发教程]使用LibGDX进行游戏开发(1)-游戏设计

    声明:本章是一个系列的开始,英文原文是<Learning libGDX Game Development>,大家请周知. [libgdx游戏开发教程]使用Libgdx进行游戏开发(2)-游 ...

  9. STM32F103C8T6基础开发教程(HAL库)—开发环境配置

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  10. java微信公众号开发教程_微信公众平台开发教程(java版本含代码) 中文PDF版 3.13MB...

    本文档将对即将推出的微信公众帐号开发系列连载教程做简单的说明. 教程主要是面向有一定 Java 编程基础的朋友, 目录: 微信公众帐号开发教程第 1 篇-引言  2 微信公众帐号开发教程第 2 篇-微 ...

最新文章

  1. AI芯片体系结构目标图形处理
  2. 十年技术,不要再迷茫
  3. VTK:隐藏线移除用法实战
  4. BCZM : 1.13
  5. 最大连续子数组和 动态规划_剑指Offer算法题 33:连续子数组的最大和
  6. web实现数据交互的几种常见方式
  7. ubuntu下安装jdk1.6.0_41
  8. 计算机网络学习笔记-1.1.3-速率相关的性能指标
  9. JS图表工具 ---- Highcharts
  10. python做数据可视化的优势_用Python进行数据可视化的10种方法
  11. B2C商家怎样在有限的预算下展开营销
  12. html怎么叠加透明图片,css – 您可以在图片上叠加透明div
  13. 使用IntelliJ IDEA打开一个项目步骤
  14. RV1126RV1109 buildroot 增加QT程序
  15. 教学|3D建模之,游戏场景创建大致流程
  16. 服务器hba卡安装系统,hba原理,raid卡,hba卡。
  17. 关于STM32驱动LCD显示屏,程序下载后白屏、乱码需要上电复位才能恢复正常问题的解决办法
  18. C程序--输出大写英文字母
  19. STC89C52R单片机以及CF85911的AD转换
  20. 简单实现一个 js 多线程

热门文章

  1. perl php-serialization install,如何在PHP中反序列化Perl Data :: Dumper输出
  2. 机器学习(课堂笔记)Day01:机器学习相关概念简介
  3. destoon运行流程
  4. Epoll水平触发(Level Triggered)工作模式和边缘触发(Edge Triggered)工作模式区别
  5. 球的表面积公式是怎么推导出来的?
  6. 求解Ax=b的克莱默法则
  7. linux系统支持ntfs吗,Linux支持NTFS格式文件的方法
  8. nginx ajax 错误500,聊聊nginx报错499问题
  9. 2019年年末给我自己的一个总结---发现自己其实外表平静,内心狂野哈哈哈哈哈
  10. MSF给正常程序添加后门