關於微信公眾平台確實是個非常好的東西,鑒於須要完畢這樣一個作業花了2天時間來研究這個,做出了一個簡單的東西。
我們選擇的語言是JAVA(當然PHP開發這個更簡單。只是我沒學,考慮時間成本而繼續用自己熟悉的)。所用的server是SAE(BAE也能夠),以及一個微信公眾平台測試賬號。http://mp.weixin.qq.com/debug/cgi-bin/sandbox?
t=sandbox/login,點擊此處進入,用自己的微信掃描二維碼就能夠申請到一個測試號。高級接口都能夠使用,只用來測試是沒有不論什么問題的。
關於微信公眾號的基礎知識以及基礎框架的搭建,請大家參考柳峰老師的博客:http://blog.csdn.net/lyq8479?viewmode=contents,很全面,絕對可用。依照老師的代碼就能夠做出下圖的效果:

以下我主要說一下劉峰老師所沒有的講到的數據庫連接的部分,我在網上查了不少資料結果越查越糊塗。折騰了好久。所以我特意把自己的悲催經歷分享出來,讓陷入此中的童鞋能夠高速頓悟,以及給在學習的童鞋一個參考。不要誤入歧途。
我原本是在BAE通過簡單的JDBC試過。可是可能某個地方失誤,微信公眾平台最大的缺點就是調試非常困難,我花的時間不多,沒找到什么調試的方法。悲催的無法成功,又不會調試,百度,看到非常多通過request.get("...")或者BaeEnv.getBaeHeader(BaeEnv.BAE_ ENV_ADDR_SQL_IP)等方式獲取host,port,username, password的文章,差點兒全試過了,都不行。
終於的結果卻是這樣簡單。╮(╯▽╰)╭。
事實上非常easy,就是和我們尋常在本地連接數據庫沒有不論什么差別,以下直接貼代碼,(SAE的):
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.DriverManager;
public class JDBCUtil {
private String dbDriver = "com.mysql.jdbc.Driver"; // 與本地設置同樣
private String dbUrl = "jdbc:mysql://w.rdc.sae.sina.com.cn:3307/數據庫名稱"; // app_yanzel為新浪app數據庫名稱,開通mysql服務后,通過[服務管理]-〉[MySql]->[管理MySql]中,查看數據庫名稱
private String dbUser = "新浪的access key"; // 為[應用信息]->[匯總信息]->[key]中的access key
private String dbPassword = "新浪的secret"; // 為[應用信息]->[匯總信息]->[key]中的secret
public Connection createConnection() throws Exception {
Connection connection = null;
try {
Class.forName(this.dbDriver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw e;
}
try {
connection = DriverManager.getConnection(dbUrl, dbUser,
dbPassword);
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
return connection;
}
}
BAE的數據庫連接代碼例如以下:
public class JDBCUtil {
Connection conn = null ;
private Connection getConn(){
try {
/*****1. 填寫數據庫相關信息(請查找數據庫詳情頁)*****/
String databaseName = "數據庫名";
String host = "sqld.duapp.com";
String port = "4050";
String username = "用戶名";//用戶名(api key);
String password = "用戶密碼";//密碼(secret key)
String driverName = "com.mysql.jdbc.Driver";
String dbUrl = "jdbc:mysql://";
String serverName = host + ":" + port + "/";
String connName = dbUrl + serverName + databaseName;
/******2. 接着連接並選擇數據庫名為databaseName的服務器******/
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = DriverManager.getConnection(connName, username, password);
}catch(SQLException e){
e.printStackTrace() ;
}
return conn;
}
/**
* 關閉連接
* @param conn
* @param stmt
* @param rs
* @throws Exception
*/
private void close(Connection conn)throws Exception{
if(conn != null){
conn.close();
conn=null ;
}
}
}
以上的代碼就能夠獲取到Connection對象,然后在業務層中調用就能夠了,之后就是CRUD操作。
通過微信公眾平台的開發,我們了解了這樣的新型的自媒體,確實非常強大,並且也挺好玩,還有非常多功能等待我們去探索。
