javaEE SSH框架 qq第三方登录及用户绑定

2024-08-28 11:38

本文主要是介绍javaEE SSH框架 qq第三方登录及用户绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前几天刚申请好域名,下面实现网站的qq第三方登录的功能,javaEE的SSH框架。(一些细节问题没有处理,只是大体上实现)

一:首先说一下需求,第一次使用qq第三方登录的用户需要绑定已有的网站用户名,绑定成功后进入首页。以后再使用qq第三方登录就直接进入网站首页。

二:要想使用qq第三方首先需要申请应用(需要有自己的域名)

(1)登录qq互联网站申请应用,http://connect.qq.com/


(2)创建应用


(3)创建好之后还是可以修改的,这里回调地址我用的是域名+back.jsp界面(这个界面里没什么东西 ,就是引用一下js文件,具体看下面)


(4)会得到一个APPID,这样就可以进行开发了。


三:有关界面方面

(1)引入js文件,data-appid就是自己申请的APPID


(2)界面加入如下代码


然后就可以看到第三方登录按钮了


(3)回调界面,引用一下js文件即可。


四:下面写javascrip处理代码,这个是它的JS_SDK的官方文档,

http://wiki.connect.qq.com/js_sdk%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E

每个登录用户成功登陆后都会返回一个唯一的openId标识和对应的accessToken

(1)先定义一个form表单,定义两个隐藏标签,将来会得到的openId和accessToken,然后将其交给Action处理


(2)获取用户信息的js代码(它的文档上都有),可以alert一些信息,便于调试,


.complete函数里可以将得到的openId和accessToken的值付给对应的隐藏标签,然后提交表单,交由Action层处理


五:后台处理部分

(1)先设计一下实体类,之前有一个用户类,再定义一个qq登陆信息的类,一对一关系,然后写hibernate映射文件,生成表即可(我这里采用是实体类生成表的方法,具体看我之前的博客,当然也可以先建表然后反向工程生成实体类),


(2)上面提交表单对应的action为bindUserUI,首先查询qq信息表中是否已有数据,如果有并且对应的user不为null,就将其对应的user存入session,跳转到首页;

如果没有则先保存到数据库,跳转绑定界面。(细节再处理)


(3)绑定界面需要用户输入网站的账号密码等信息。

(4)对应处理的方法,如果输入信息正确就设置qq信息表中对应的user外键,成功后跳转首页。


六:测试

(1)输入登录地址


(2)弹出登录界面,点击登录


(3)登录后会alert一些我们之前加的信息


(4)第一次登录需要绑定账号



(5)绑定成功后跳转首页


(6)发现数据库插入信息正确


(7)然后再次登录,


(8)直接进入首页


七:总结

申请qq第三方登录应用需要自己的网站和域名,我之前买的阿里云的CentOS服务器,学生购买有优惠,域名是在万网买的。

这次只是实现了第三方的登录和用户的绑定,一些细节、逻辑问题自己再处理。



这篇关于javaEE SSH框架 qq第三方登录及用户绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114656

相关文章

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Java Lambda表达式的使用详解

《JavaLambda表达式的使用详解》:本文主要介绍JavaLambda表达式的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言二、Lambda表达式概述1. 什么是Lambda表达式?三、Lambda表达式的语法规则1. 无参数的Lambda表

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请