网站接入QQ登录(java sdk版)

网站接入qq登录详细教程:

  1. 到qq互联平台(https://connect.qq.com/)申请开发者资格,提交资料等待审核通过(必须)
  2. 在应用管理界面创建应用,填写网站信息,因为只是测试,所以此处信息可以随便写                        注意,网站回调域(画红线处)重要,一般是qq登录后,处理信息的servlet地址,具体可查阅qq官方文档
  3. 下载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目录下                                                                                                                                                
  4. 编写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();
            }
    }
  5. 编写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();
            }
    }
  6. 编写登录界面,放置qq登录图标,主要代码如下

    <a href="Login"><img src="img/Connect_logo_7.png"></a> 
  7. 编写index.jsp,主要代码如下

    <p>欢迎${sessionScope.name}</p>
    <img alt="" src="${sessionScope.avatar}">
  8. 运行login.jsp                                                                                                                                                                         点击登录            

  9. 大功告成,有疑问的欢迎下方留言,一起交流学习

猜你喜欢

转载自blog.csdn.net/qq_36135231/article/details/83451160