微信公众号开发者接入
 首先給自己搞個服務器(微信接入需要擁有自己的服務器資源,就是外網服務器,可以給別人訪問的)
 我購買的是阿里云的服務器(最低配置)
 服務器系統(tǒng)為:win2012數(shù)據(jù)中心版
阿里云服務器
 服務器環(huán)境為:jdk1.7+tomcat7解壓版
 開發(fā)框架:springmvc+spring+mybatis
 構建:maven
我的結構
在這里不解釋如何搭建ssm,網上很多教程。
我的接入方法
接入方法
 我的接入口為:weixin,為什么設置method為get以及post是因為微信接入的時候發(fā)的是get請求,而如果是消息類型的,發(fā)的是post請求。
 為什么我用PrintWriter來返回echostr而不是用@ResponseBody來返回,是因為如果返回的是@ResponseBody,它默認返回的是json格式,會給echostr加上雙引號,這樣的話,微信會判斷為不相同而接入不成功。
 如果要讓它不加上雙引號,可以給spring-mvc.xml加上
 
字符串不加雙引號 <bean id="mappingJackson2HttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/json;charset=UTF-8</value> <!-- <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> --> </list> </property> </bean> <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter" /> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJackson2HttpMessageConverter" /> <ref bean="stringHttpMessageConverter" /> </list> </property> </bean>
加上這個配置后,就不會有雙引號,可是我發(fā)現(xiàn),依舊是接入失敗,所以我嘗試使用PrintWriter返回echostr卻成功,我初出茅廬,就不深究了,能解決就行。
如何判斷是不是微信發(fā)來的消息
直接貼源碼,為什么這么做自己研究
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; import javax.servlet.http.HttpServletRequest;public class utils {private final static String TOKEN = "此處填寫你在微信配置的token";public static String SHA1(String decript) {try {MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1");digest.update(decript.getBytes());byte messageDigest[] = digest.digest();StringBuffer hexString = new StringBuffer();for (int i = 0; i < messageDigest.length; i++) {String shaHex = Integer.toHexString(messageDigest[i] & 0xFF);if (shaHex.length() < 2) {hexString.append(0);}hexString.append(shaHex);}return hexString.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return "";}public static boolean checkWeixinReques(String signature,String timestamp,String nonce) {if (signature != null && timestamp != null && nonce != null) {String[] strSet = new String[] { TOKEN, timestamp, nonce };java.util.Arrays.sort(strSet);String key = "";for (String string : strSet) {key = key + string;}L.i(key);String pwd = utils.SHA1(key);L.i(pwd);L.i(signature);return pwd.equals(signature);} else {return false;}} }登錄微信公眾平臺
打開 開發(fā)-->基本配置
打開基本配置
點擊修改配置,填入信息。
修改配置
 密文還是明文隨便你,看需求。
 填寫完了之后,點擊提交,如果成功的話會提示配置成功!
 如果失敗,看看有沒有跑你服務器的weixin.do(為什么是.do后綴名是因為我配置的就是.do訪問,這個網上查,改成什么隨便你)
總結
以上是生活随笔為你收集整理的微信公众号开发者接入的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 未检测到与wia兼容的设备_如何解决应用
 - 下一篇: OpenCore引导配置说明第十四版-基