一丶準備工作
java的jdk和tomcat服務器的下載就不多贅述了,去官網下載就好了,易班的jdk是一定要下載的https://o.yiban.cn/wiki/index.php?page=SDK%E4%B8%8B%E8%BD%BD這個是連接。WEB-INF目錄下的lib文件夾中的jar我存到百度雲中了鏈接:https://pan.baidu.com/s/1BaWpe1ejclxhN18qECVtgg 提取碼:ov0l
二丶環境的搭建
在易班的jdk中有文檔介紹的很詳細,在這裏我只是粘貼一下。
配置開發環境需要配置環境變量,可以在開始菜單中的【我的電腦】或【計算機】上
點擊鼠標右鍵彈出的快捷菜單中選屬性,進入【高級系統設置】面板;
或打開控制面板進入,在win7中如下圖所示:
@ 打開【控制面板】,進入【系統和安全】
@ 點擊進入【系統】
@ 點擊打開【高級系統設置】
@ 選擇【高級】標籤,打開【環境變量】
@ 使用此處的【新建】或【編輯】來設置環境變量
1、Java安裝及配置
雙擊上面下載的 jdk-8u40-windows-x64.exe 進行安裝。
安裝完成後,需要配置環境變量 JAVA_HOME。
在【環境變量】的面板中【新建】,如下圖,
其中變量值爲安裝JAVA所在目錄。
2、Tomcat服務器安裝及配置
直接把下載到的 apache-tomcat-8.0.20-windows-x64.zip 解壓即可,
比如解壓到 C:\apache-tomcat-8.0.20
需要配置環境變量 CATALINA_HOME,同上,如圖:
3、設置PATH變量
將 Java 及 Tomcat 加到可執行的環境變量中,同上,如圖:
其中的變量值設置爲:
%JAVA_HOME%\bin;%CATALINA_HOME%\bin;%PATH%
設置完成後,【環境變量】面板如下:
4、測試配置是否正確
方法①:進入tomcat目錄下的bin目錄,雙擊startup.bat文件。
方法②:打開命令提示符,執行 startup.bat 命令。
若能看到TOMCAT窗口則安裝配置成功!
此時可以用瀏覽器打開 http://127.0.0.1:8080/ 可以看到TOMCAT頁面。
若看不到這個TOMCAT窗口,用方法二打開,在命令提示符窗口下查看什麼錯誤!
5、TOMCAT的啓動與停止
(1)啓動:執行Tomcat目錄下的 bin/startup.bat
(2)停止:執行Tomcat目錄下的 bin/shutdown.bat 或 直接在Tomcat窗口CTRL+C
三丶網站接入
易班給的jdk中會有詳細的介紹,我就不粘貼了。
四丶授權
在易班給的文檔裏jie接口的實現是一個部分,我把它掰開來說,一是授權頁面,二是回調頁面。
先說授權頁面
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="cn.yiban.open.Authorize" %> 一定要引入這個包
<!DOCTYPE>
<html>
<head>
<title>授權</title>
</head>
<body>
<%!
String appKey = "應用的AppID";
String appSecret = "應用的AppSecret";
String callbackurl = "回調地址";
%>
<%
Authorize au = new Authorize(appKey, appSecret);//實例化授權對象
%>
<%
String url = au.forwardurl(callbackurl, "test", Authorize.DISPLAY_TAG_T.WEB);//定向授權頁面
response.sendRedirect(url);
%>
</body>
</html>
這樣授權之後就會定向定向你的回調地址了,我的代碼只是說一下概念並不能直接運行,需要你自己敲哦,哈哈。
五丶回調
敲黑板,劃重點啦!!!
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="cn.yiban.open.common.User"%> 這兩個易班的包是必須要引入的
<%@page import="cn.yiban.open.Authorize"%>
<%@page import="com.alibaba.fastjson.JSON"%> 這幾個阿里巴巴的fistjson的包在解析接口的返回值時會有大用的,這個我也是問過夜鶯大大才知道的。
<%@page import="com.alibaba.fastjson.JSONObject"%>
<%@page import="com.alibaba.fastjson.JSONException"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>易班主頁</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<%!
String appKey = "";
String appSecret = "";
String callbackurl = "";
%>
<%
//實例化授權對象
Authorize au = new Authorize(appKey, appSecret);
//獲取URL中返回了可以訪問令牌的授權碼
String code = request.getParameter("code");
/*獲取授權令牌
返回值是json類型,需要用json庫來對返回值進行解釋處理
必須要Alibaba公司的fastjson解析*/
String text = au.querytoken(code, callbackurl);
//先輸出一下看看
out.println(text);
//實例化json對象
JSONObject json = JSON.parseObject(text);
//獲得accessToken授權憑證
String accessToken = json.getString("access_token");
%>
<%
//用授權憑證獲得易班的User用戶對象
cn.yiban.open.common.User yibanUser = new cn.yiban.open.common.User(accessToken);
//把user保存到session方便後續獲取數據
request.getSession().setAttribute("yibanUser", yibanUser);
//得到user的info轉化成文本
String jsontext = yibanUser.me();
//new一個JSONObject對象
JSONObject m=new JSONObject();
m=JSON.parseObject(jsontext);//將json文本轉化爲jsonobject
//out.println(m);
//new一個userInfo作爲m的子對象
JSONObject userInfo = new JSONObject();
//將jsoninfo轉化爲jsonobject
userInfo = JSON.parseObject(m.getString("info"));
%>
<h1><%=userInfo.getString("yb_username")%></h1>
<h2>這裏是主頁</h2>
<h4>登錄用戶信息</h4>
<table>
<tr>
<td>用戶ID</td>
<td><%=userInfo.getString("yb_userid") %></td>
<td>用戶名</td>
<td><%=userInfo.getString("yb_username") %></td>
<td>用戶暱稱</td>
<td><%=userInfo.getString("yb_usernick") %></td>
</tr>
<tr>
<td>性別</td>
<td><%=userInfo.getString("yb_sex") %></td>
<td>網薪數</td>
<td><%=userInfo.getString("yb_money") %></td>
<td>經驗值</td>
<td><%=userInfo.getString("yb_exp") %></td>
</tr>
<tr>
<td>用戶頭像</td>
<td><img src="<%=userInfo.getString("yb_userhead")%>"></td>
<td>註冊時間</td>
<td><%=userInfo.getString("yb_regtime") %></td>
<td>學校名字和ID</td>
<td><%=userInfo.getString("yb_schoolid") %>:<%=userInfo.getString("yb_schoolname") %></td>
</tr>
</table>
</body>
</html>
我也就是剛剛實現了接口,沒有繼續往下做,沒有做具體的項目,沒有寫攔截器,JavaBean文件,servlet之類的。
參考資料:
https://blog.csdn.net/u010513756/article/details/50535657
https://blog.csdn.net/qq_33698579/article/details/78241695