网站接入qq登录详细教程:
- 到qq互联平台(https://connect.qq.com/)申请开发者资格,提交资料等待审核通过(必须)
- 在应用管理界面创建应用,填写网站信息,因为只是测试,所以此处信息可以随便写 注意,网站回调域(画红线处)重要,一般是qq登录后,处理信息的servlet地址,具体可查阅qq官方文档
- 下载qq登录所需的java sdk http://qzonestyle.gtimg.cn/qzone/vas/opensns/res/doc/qqConnect_Server_SDK_java_v2.0.zip 解压得到把jar包放入自己的项目中,打开qqconnectconfig.properties, 前3项根据你申请的应用信息修改,第4项说明如下修改后把它放到项目的src目录下
-
编写Login.java,主要代码如下
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); try { /* String authorizeURL = new Oauth().getAuthorizeURL(request);*/ response.sendRedirect(new Oauth().getAuthorizeURL(request)); } catch (QQConnectException e) { e.printStackTrace(); } }
- 编写AfterLogin.java,主要代码如下
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { AccessToken accessTokenObj = (new Oauth()).getAccessTokenByRequest(request); String accessToken = null, openID = null; long tokenExpireIn = 0L; if (accessTokenObj.getAccessToken().equals("")) { System.out.print("没有获取到响应参数"); }else{ accessToken = accessTokenObj.getAccessToken(); tokenExpireIn = accessTokenObj.getExpireIn(); OpenID openIDObj = new OpenID(accessToken); openID = openIDObj.getUserOpenID(); UserInfo qzoneUserInfo = new UserInfo(accessToken, openID); UserInfoBean userInfoBean = qzoneUserInfo.getUserInfo(); HttpSession session=request.getSession(); session.setAttribute("name", userInfoBean.getNickname()); session.setAttribute("avatar", userInfoBean.getAvatar().getAvatarURL30()); response.sendRedirect("index.jsp"); } }catch(Exception e){ e.printStackTrace(); } }
-
编写登录界面,放置qq登录图标,主要代码如下
<a href="Login"><img src="img/Connect_logo_7.png"></a>
-
编写index.jsp,主要代码如下
<p>欢迎${sessionScope.name}</p> <img alt="" src="${sessionScope.avatar}">
-
运行login.jsp 点击登录
-
大功告成,有疑问的欢迎下方留言,一起交流学习