package com.qq;
import java.io.IOException;
import java.net.URLEncoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.strongit.ec.common.service.ICommonService;
import com.strongit.member.bo.TippMemberInfo;
import com.strongit.template.engine.AbstractDataHandler;
import com.strongit.template.util.TencentqqAccessToken;
import com.strongit.template.util.TencentqqOauthApiUtil;
public class QQLogin extends AbstractDataHandler {
protected String execute(HttpServletRequest request,
HttpServletResponse response) throws IOException {
//初始化容器
ApplicationContext context = WebApplicationContextUtils
.getWebApplicationContext(request.getSession()
.getServletContext());
//取得bean实例
ICommonService commonManager = (ICommonService) context
.getBean("ipp.ec.service.CommonService");
//取得bean实例
QQVuserGenerator qqGen = (QQVuserGenerator)context.getBean("ipp.qq.qqlogin");
// TODO Auto-generated method stub
// 获取Authorization Code
String authorization_code = request.getParameter("code");
System.out.println("...................code = "+authorization_code);
//下一步
// 使用Authorization Code换取Access Token
TencentqqAccessToken accessToken = TencentqqOauthApiUtil
.getAccessTokenAndOpenId(authorization_code);
System.out.println("..............accessToken = "+accessToken);
//再下一步取得Accesstoken
accessToken = TencentqqOauthApiUtil.getLoginUser(accessToken);
//获取返回的Openid
String openid = accessToken.getOpenid();
System.out.println("openid = "+openid);
//获取用户的昵称
String screenname = accessToken.getScreenName();
//根据Openid获取用户信息
TippMemberInfo tippMemberInfo = commonManager.getMemberInfoByOpenId(openid);
//根据openid获取的用户信息行进判断如果不存在就进行入库保存、否则就行跳转到用户登录的请求。
//TippMemberInfo memberInfo = null;
if(null == tippMemberInfo)
{
tippMemberInfo = qqGen.generateMemberInfo(openid,"2",screenname);
}
//用户名
String username = tippMemberInfo.getUsername();
// 登录类型
String logintype = tippMemberInfo.getLogintype();
//密码
String password = tippMemberInfo.getUserpassword();
//处理中文乱码 add by mengxianwei 2011-12-26
screenname = URLEncoder.encode(screenname, "utf-8");
//String location = "/User_Reg_1.shtml?username="+username+"&logintype=2&password=222222";
String location = "/QQ.shtml?username="+username+"&screenname="+screenname+"&logintype="+logintype+"&password=222222";
response.sendRedirect(location);
return null;
}
}
分享到:
相关推荐
现在APP开发的首要工作都是实现登录页面,所以学会了QQ登录界面对以后的软件开发有着很重要的作用。本次项目属于比较基础的内容,希望初学者通过这次项目熟练掌握界面布局和控件的使用,为以后的项目开发打下坚实的...
整合QQ登录源码 QQ登录包括QQ帐号一键登录、好友互动、同步信息到QQ空间,可为第三方网站打口碑、引流量。它有如下特点: 拥有庞大用户群的QQ账号一键登录 分享内容、动态同步到QQ空间,增加第三方网站信息的传播...
仿QQ登录列表
1、集成QQ登录是让我们网站的会员可以使用QQ的会员账号登录到我们自己的网站上,QQ会员授权我们网站的基本信息包括:会员昵称、头像、性别。但不包括其他的信息,如QQ号码等 2、QQ帮助我们做一个会员身份验证服务,...
一个仿qq登录的html页面,
新版QQ不仅仅通过UDP方式登录服务器,还能够以TCP...本文利用SNIFFERPRO工具监视QQ登录全过程,为了让大家更好的理解QQ登录过程,抓包过程结合防火墙技术,每出现一种登录方式先抓取报文,然后用防火墙关闭该通道......
安卓QQ登录协议
android 仿QQ登录界面 源码android 仿QQ登录界面 源码android 仿QQ登录界面 源码
仿QQ登录界面
Android APP实现QQ登录、注销、QQ分享,获取QQ用户信息修改QQ头像等。有volley网络框架使用和Glide使用网络加载图片,华为推送消息功能。
是一个用vb写的模仿QQ登录界面的工具,打开后可以像QQ一样移动、输入等,当用户名或密码为空时就会弹出QQ的密码错误界面。否则当输入了账户密码按回车或单击确定后,这个工具就会弹出QQ的网络错误界面并调用你计算机...
使用前请到QQ官方申请“QQ登录互联业务”,申请是即时通过的!地址http://connect.opensns.qq.com/apply 修改qq.php文件中的“******”和“你的域名” 'oauth_c**umer_key'=>'******', // 这里输入在QQ网站申请到...
这个资源主要是使用Android模拟开发了一个QQ登录界面的小案例。 内容概要:了解基础Android组件的使用,以及shape和selector组件美化。 适合人群:初学Android开发的小萌新,可以利用这个小案例巩固Android基础控件...
QQ登录模块,用法如下。。。 直接将下面的代码复制,然后在添加需要的控件 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 图片框1.图片 = 获取验证码 (编辑框1.内容) .子程序 _按钮1_被单击 .局部...
北岸QQ登录 增强版2.2
swing 模仿QQ登录界面 自定义窗体结构
DZ QQ登录插件北岸QQ登录 改进版2.4 100%可用 请申请官方的QQ登录IDKEY
2012版最新QQ登录,注册界面实现 华丽丽的界面效果 学习android ui布局的绝佳示例 精彩内容,不容错过
基于Android实现QQ登录
使用易语言模拟QQ登录,使用易语言模拟QQ登录,使用易语言模拟QQ登录