一丶准备工作
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