最近学习ajax技术,前端改成了HTML静态网页来编写,那如何获取登陆的用户名呢?大家首先想到的肯定是利用Cookie和Session,在JSP页面这样做可以,但是静态HTML页面就不行了。
- 首先Cookie和session是什么呢?
首先大家都知道,HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。这时候就出现了cookie会话跟踪技术。
给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理,是存储在客户端上的。
Session是服务器端使用的一种记录客户端状态的机制,相当于在服务器端建立一份用户档案表,只需要在档案表中进行查询,判断与当前客户是否匹配。Session也是一种key-value的属性对,通过getAttribute(Stringkey)
和setAttribute(String key,Object value)
方法读写客户状态信息。Servlet里通过request.getSession()
方法获取该客户的Session。
- HTML获取登陆用户名
session是JSP的九大内置对象之一。对于HTML不太友好,那静态资源如何获取呢?一是建立一个过渡的Servlet,保存用户session,进行获取。第二个是通过后台把路径+用户名进行拼接通过ajax传到前台,前台获取url对其进行操作。
- 第一步:把URL路径传到需要的页面
重要的是$.ajax({ url: '/login', data: { username: username, password: password }, type: 'GET', success: function (result) { if (result.code === 0) { if(val == num){ layer.msg("登录成功", function () { window.location.href = "https://www.it610.com/article/index1.html?"+$("#username").val()+""; }) }else{ layer.msg('验证码错误') } } else { layer.msg("登录失败," + result.msg, {icon: 2}) } } }) }
window.location.href = "https://www.it610.com/article/index.html?"+$("#username").val()+"";
这一句,其中$("#username").val()
获取用户名的值,username为用户名的id.- 第二步,在index.html对路径进行获取和操作。
先定义一个接收用户名的id
再通过JS进行获取
="text/javascript">
var url = location.href;
//alert(url);
var num =url.indexOf("?");
var str = url.substr(num+1);
$("#name").html("欢迎" +str);
在最后不要忘了添加
="text/javascript" src="https://www.it610.com/article/layui/js/jquery.min.js">
【Java|Html如何获取登陆用户名】大功告成。
推荐阅读
- IDEA|IDEA安装和配置教程
- IDEA|JDK安装和配置教程
- #|【LeetCode】9、回文数
- python|12 个要收藏的前端 CSS 网站
- 基于JAVA SpringBoot的网课管理系统设计与实现源码
- bp神经网络
- dex 转 smali
- 【Java面试】Kafka 怎么避免重复消费
- 基于Java web的校园电动车租赁系统idea版本+eclipse版本+论文+答辩ppt+包安装配置+代码讲解+开题报告