sso接口的调用

之前一直想sso接口已经写好了,登录注册功能是怎么调用的呢?原来在登录注册的jsp页面实现的接口的调用,页面的校验和验证功能在jsp页面即可实现。

 

注册页面:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="pragma" content="no-cache"><meta http-equiv="Cache-Control" content="no-cache,must-revalidate"><title>注册-个人用户</title><link type="text/css" rel="stylesheet" href="/css/regist.personal.css"/><link type="text/css" rel="stylesheet" href="/css/passport.base.css"/><script type="text/javascript" src="/js/jquery-1.6.4.js"></script>
</head>
<body>
<div class="w" id="logo"><div><a href="http://localhost:8082"><img src="/images/taotao-logo.gif" alt="淘淘商城" width="170" height="60"/></a> <b></b></div>
</div><div class="w" id="regist"><div class="mt"><ul class="tab"><li class="curr">个人用户</li></ul><div class="extra"><span>我已经注册,现在就 <a href="/page/login" class="flk13">登录</a></span></div></div><div class="mc"><form id="personRegForm" method="post" οnsubmit="return false;"><div class="form" onselectstart="return false;"><div class="item" id="select-regName"><span class="label"><b class="ftx04">*</b>用户名:</span><div class="fl item-ifo"><div class="o-intelligent-regName"><input type="text" id="regName" name="username" class="text" tabindex="1" autoComplete="off"οnpaste="return false;"value=""οnfοcus="if(this.value=='') this.value='';this.style.color='#333'"οnblur="if(this.value=='') {this.value='';this.style.color='#999999'}"/><i class="i-name"></i><ul id="intelligent-regName" class="hide"></ul><label id="regName_succeed" class="blank"></label><label id="regName_error" class="hide"></label></div></div></div><div id="o-password"><div class="item"><span class="label"><b class="ftx04">*</b>请设置密码:</span><div class="fl item-ifo"><input type="password" id="pwd" name="password" class="text" tabindex="2"style="ime-mode:disabled;"οnpaste="return  false" autocomplete="off"/><i class="i-pass"></i><label id="pwd_succeed" class="blank"></label><label id="pwd_error"></label><span class="clr"></span></div></div><div class="item"><span class="label"><b class="ftx04">*</b>请确认密码:</span><div class="fl item-ifo"><input type="password" id="pwdRepeat" name="pwdRepeat" class="text" tabindex="3"οnpaste="return  false" autocomplete="off"/><i class="i-pass"></i><label id="pwdRepeat_succeed" class="blank"></label><label id="pwdRepeat_error"></label></div></div><div class="item" id="dphone"><span class="label"><b class="ftx04">*</b>验证手机:</span><div class="fl item-ifo"><input type="text" id="phone" maxlength="11" name="phone"class="text" tabindex="4"autocomplete="off" /> <i class="i-phone"></i> <labelid="phone_succeed" class="blank"></label> <labelid="phone_error"></label></div></div></div><div class="item item-new"><span class="label"> </span><div class="fl item-ifo"><input type="checkbox" class="checkbox" checked="checked" id="readme"οnclick="agreeonProtocol();"><label for="protocol">我已阅读并同意<a href="#" class="blue" id="protocol">《淘淘用户注册协议》</a></label><span class="clr"></span><label id="protocol_error" class="error hide">请接受服务条款</label></div></div><div class="item"><span class="label"> </span><input type="button" class="btn-img btn-regist" id="registsubmit" value="立即注册" tabindex="8"clstag="regist|keycount|personalreg|07"οnclick="REGISTER.reg();"/></div></div><div class="phone"><img width="180" height="180" src="/images/phone-bg.jpg"></div><span class="clr"></span></form></div>
<script type="text/javascript">var REGISTER={param:{//单点登录系统的urlsurl:""},inputcheck:function(){//不能为空检查if ($("#regName").val() == "") {alert("用户名不能为空");$("#regName").focus();return false;}if ($("#pwd").val() == "") {alert("密码不能为空");$("#pwd").focus();return false;}if ($("#phone").val() == "") {alert("手机号不能为空");$("#phone").focus();return false;}//密码检查if ($("#pwd").val() != $("#pwdRepeat").val()) {alert("确认密码和密码不一致,请重新输入!");$("#pwdRepeat").select();$("#pwdRepeat").focus();return false;}return true;},beforeSubmit:function() {//检查用户是否已经被占用$.ajax({
//这是校验的接口调用,通过接口中的url来实现的url : REGISTER.param.surl + "/user/check/"+escape($("#regName").val())+"/1?r=" + Math.random(),success : function(data) {if (data.data) {//检查手机号是否存在$.ajax({url : REGISTER.param.surl + "/user/check/"+$("#phone").val()+"/2?r=" + Math.random(),success : function(data) {if (data.data) {REGISTER.doSubmit();} else {alert("此手机号已经被注册!");$("#phone").select();}}});} else {alert("此用户名已经被占用,请选择其他用户名");$("#regName").select();} }});},doSubmit:function() {
//这是注册的接口,通过注册接口的URL来实现的调用$.post("/user/register",$("#personRegForm").serialize(), function(data){if(data.status == 200){alert('用户注册成功,请登录!');REGISTER.login();} else {alert("注册失败!");}});},login:function() {location.href = "/page/login";return false;},reg:function() {if (this.inputcheck()) {this.beforeSubmit();}}}; </script> </body> </html>

 登录页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>登录淘淘</title><link type="text/css" rel="stylesheet" href="/css/login.css"/><script type="text/javascript" src="/js/jquery-1.6.4.js"></script>
</head>
<body>
<div class="w"><div id="logo"><a href="http://localhost:8082" clstag="passport|keycount|login|01"><img src="/images/taotao-logo.gif" alt="淘淘" width="170" height="60"/></a><b></b></div>
</div>
<form id="formlogin" method="post" οnsubmit="return false;"><div class=" w1" id="entry"><div class="mc " id="bgDiv"><div id="entry-bg" clstag="passport|keycount|login|02" style="width: 511px; height: 455px; position: absolute; left: -44px; top: -44px; background: url(/images/544a11d3Na5a3d566.png) 0px 0px no-repeat;"></div><div class="form "><div class="item fore1"><span>用户名</span><div class="item-ifo"><input type="text" id="loginname" name="username" class="text"  tabindex="1" autocomplete="off"/><div class="i-name ico"></div><label id="loginname_succeed" class="blank invisible"></label><label id="loginname_error" class="hide"><b></b></label></div></div><script type="text/javascript">setTimeout(function () {if (!$("#loginname").val()) {$("#loginname").get(0).focus();}}, 0);</script><div id="capslock"><i></i><s></s>键盘大写锁定已打开,请注意大小写</div><div class="item fore2"><span>密码</span><div class="item-ifo"><input type="password" id="nloginpwd" name="password" class="text" tabindex="2" autocomplete="off"/><div class="i-pass ico"></div><label id="loginpwd_succeed" class="blank invisible"></label><label id="loginpwd_error" class="hide"></label></div></div><div class="item login-btn2013"><input type="button" class="btn-img btn-entry" id="loginsubmit" value="登录" tabindex="8" clstag="passport|keycount|login|06"/></div></div></div><div class="free-regist"><span><a href="/page/register" clstag="passport|keycount|login|08">免费注册>></a></span></div></div>
</form>
<script type="text/javascript">var redirectUrl = "${redirect}";var LOGIN = {checkInput:function() {if ($("#loginname").val() == "") {alert("用户名不能为空");$("#loginname").focus();return false;}if ($("#nloginpwd").val() == "") {alert("密码不能为空");$("#nloginpwd").focus();return false;}return true;},doLogin:function() {
//这里是一样的功能,调用登录的接口来实现的
$.post("/user/login", $("#formlogin").serialize(),function(data){if (data.status == 200) {alert("登录成功!");if (redirectUrl == "") {location.href = "http://localhost:8082";} else {location.href = redirectUrl;}} else {alert("登录失败,原因是:" + data.msg);$("#loginname").select();}});},login:function() {if (this.checkInput()) {this.doLogin();}}};$(function(){$("#loginsubmit").click(function(){LOGIN.login();});}); </script> </body> </html>

  

 

转载于:https://www.cnblogs.com/fengli9998/p/6403418.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[逆向][Writeup]ISG2015 flagfinder - .NET程序逆向

这个题目同样是一道.NET的逆向题&#xff0c;.NET的逆向方法在之前的博文中已经介绍过&#xff0c;这里不做重复的说明。本题的源程序可以在我的github上下载&#xff1a;https://github.com/gsharpsh00ter/reverse 0x01 逆向 flagfinder为.NET编译的PE文件&#xff0c;用dnSpy…

java 编译原理 字符串_Java编译原理(javac)

Java中的编译分为两个部分&#xff1a;源码文件编译成字节码文件(前端编译)字节码文件被虚拟机加载以后编译成机器码(后端编译)对于开发来说接触的一般都是第一个步骤也就是源码编译成字节码文件(class文件)&#xff0c;第二个步骤开发几乎不会接触&#xff0c;因为这是虚拟机在…

sql2012一段时间无法连接报53错误

2019独角兽企业重金招聘Python工程师标准>>> 解决方案 在sqlserver网络配置下的msqlserver协议下改将ip3改成如下图所示 转载于:https://my.oschina.net/u/2511906/blog/840373

php生成图片验证码代码,PHP生成图片验证码以及点击切换的代码

这篇文章主要介绍了PHP生成图片验证码实例,同时介绍了点击切换(看不清&#xff1f;换一张)效果实现方法,需要的朋友可以参考下这里来看下效果:现在让我们来看下 PHP 代码<?php session_start();function random($len) {$srcstr "1a2s3d4f5g6hj8k9qwertyupzxcvbnm&quo…

php 字符型转变为数值,php怎么把字符串转换为数值?

php怎么把字符串转换为数值&#xff1f;下面本篇文章给大家介绍一下PHP把字符串转换为数值的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。PHP中的字符串可以很容易地转换成数值(float / int / double类型)。在大多数用例中&am…

解决rspec 生成报告时报utf-8错误的方法

找到gems\1.9.1\gems\rspec-core-2.14.3\lib\rspec\core\formatters\snippet_extractor.rb文件中的第27行&#xff1a; 在这边记录一下&#xff0c;防止以后再遇到。。。出现这个原因是因为ruby文件用utf-8格式的&#xff0c;但是源码都是GBK处理的&#xff0c;找到\lib\ruby\…

EFProf Entity Framework Profile 工具

SQL Server Profiler用来跟踪应用程序发送到SQL Server中的SQL语句&#xff0c;用于检测性能&#xff0c;查找问题。Entity Framework 也有它的跟踪工具EFProf&#xff0c;用于跟踪Entity Framework发送到SQL Server中的SQL语句。 首先在代码中添加对程序集HibernatingRhinos.P…

php面试中的问题,十个值得深思的PHP面试问题

十个值得深思的PHP面试问题过来人在以往的面试中总结的10个值得深思的 PHP 面试问题&#xff0c;希望对你现在的面试有用&#xff0c;少走弯路&#xff0c;更多内容请关注应届毕业生网!Q1第一个问题关于弱类型$str1 yabadabadoo;$str2 yaba;if (strpos($str1,$str2)) {echo &…

Android中ExpandableListView控件基本使用

本文採用一个Demo来展示Android中ExpandableListView控件的使用&#xff0c;如怎样在组/子ListView中绑定数据源。直接上代码例如以下&#xff1a; 程序结构图&#xff1a; layout文件夹下的 main.xml 文件源代码例如以下&#xff1a; <?xml version"1.0" encodi…

武林外史java游戏,武林外史_网络游戏专区_腾讯游戏频道

1 、武师用防御工具1) 武卫类> 用土布制作的防护工具。阶段图片名称说明1武威带所需功力值所需力量所需技艺所需体力所需智能所需敏捷性防御力防御成功率8013013021 %武威甲所需功力值所需力量所需技艺所需体力所需智能所需敏捷性防御力防御成功率4160150021 %武威长裤所需功…

简单实现KeyChain实例

目录结构如下&#xff1a; AppDelegate.m 1 //2 // AppDelegate.m3 // KeyChain4 //5 // Created by apple on 14-12-26.6 // Copyright (c) 2014年 ll. All rights reserved.7 //8 9 #import "AppDelegate.h" 10 11 interface AppDelegate () 12 13 end 14 1…

JAVA入门[6]-Mybatis简单示例

初次使用Mybatis,先手写一个hello world级别的例子&#xff0c;即根据id查询商品分类详情。 一、建表 create table Category ( Id INT not null, Name varchar(80) null, constraint pk_category primary key (Id) ); 插入测试数据 INSERT INTO category VALUES (1,Fish); INS…

ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用

ASP.NET MVC5 EF6 入门教程 (6) View中的Razor使用 原文:ASP.NET MVC5 EF6 入门教程 (6) View中的Razor使用文章来源&#xff1a; Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一节&#xff1a;ASP.NET MVC5 EF6 入门教程 (5) M…

递归--基于回溯和递归的八皇后问题解法

八皇后问题是在8*8的棋盘上放置8枚皇后&#xff0c;使得棋盘中每个纵向、横向、左上至右下斜向、右上至左下斜向均只有一枚皇后。八皇后的一个可行解如图所示&#xff1a; 思路 对于八皇后的求解可采用回溯算法&#xff0c;从上至下依次在每一行放置皇后&#xff0c;进行搜索&a…

matlab emf 读取,20140219-Emf_Demo EMF 矢量图 可以读取和保存EMF 的封闭类 非常实用 matlab 238万源代码下载- www.pudn.com...

文件名称: 20140219-Emf_Demo下载收藏√ [5 4 3 2 1 ]开发工具: Visual C文件大小: 6312 KB上传时间: 2014-07-10下载次数: 2详细说明&#xff1a;EMF 矢量图 可以读取和保存EMF矢量图的封闭类非常实用-EMF EMF vector can read and save the class very useful vector cl…

JS中popup.js

为什么80%的码农都做不了架构师&#xff1f;>>> //popup class 显示弹出窗口&#xff0c;。/*以下为使用popup对象&#xff0c;传入相应的配置参数&#xff0c;弹出不同类型的窗口 function ShowIframe() //显示iframe { var popnew P…

二阶振荡衰减 matlab,基于Matlab/Simulink的二阶控制系统仿真研究

1 二阶控制系统模型本文引用地址&#xff1a;http://www.eepw.com.cn/article/201612/328597.htm能够用二阶微分方程描述的系统称为二阶控制系统。在控制工程实践中&#xff0c;二阶控制系统十分常见&#xff0c;例如&#xff0c;电枢控制的直流电动机&#xff0c;RLC网络和弹簧…

CCF201409-5 拼图(30分)

试题编号&#xff1a; 201409-5 试题名称&#xff1a; 拼图 时间限制&#xff1a; 3.0s 内存限制&#xff1a; 256.0MB 问题描述&#xff1a; 问题描述给出一个nm的方格图&#xff0c;现在要用如下L型的积木拼到这个图中&#xff0c;使得方格图正好被拼满&#xff0c;请问总共有…

C++ 0x

转载于:https://www.cnblogs.com/iiiDragon/p/3230006.html

Github for Windows使用介绍

Git已经变得非常流行&#xff0c;连Codeplex现在也已经主推Git。Github上更是充斥着各种高质量的开源项目&#xff0c;比如ruby on rails&#xff0c;cocos2d等等。对于习惯Windows图形界面的程序员来讲&#xff0c;Github的使用是需要点时间和耐心的&#xff0c;然而最近Githu…