網站接入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. 大功告成,有疑問的歡迎下方留言,一起交流學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章