javaweb学习的第9天(2021-11-15)--------登录功能的实现

javaweb学习的第9天(2021-11-15)--------登录功能的实现
在这里插入图片描述

JSTL标签:

在这里插入图片描述
取代这些代码:

在这里插入图片描述

我们现在正常的逻辑是:
只有登陆了之后才会进入main.jsp查看所有员工的信息。
但是如果有用户直接访问main.jsp直接报错。

例如:我们没有登陆淘宝去点击加入购物车的话,网站会引导我进入登陆界面。

这个技术是过滤器技术;

如果没有登陆,就直接访问main.jsp,就要引导我进入登陆界面。

过滤器:

过滤器也是WEB组件。
它可以拦截客户端和服务器之间的请求和响应。
过滤器:在你客户端请求服务器的时候拦截一次,在服务器响应给浏览器的时候拦截一次、
所以:过滤器会拦截两次。

重点:过滤器是在Servlet之前执行的。

原路返回:
来的时候:123
走的时候:321
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在web.xml里面的配置顺序决定了执行的顺序。

需求:当你直接在浏览器访问main.jsp的时候,就要实时过滤拦截,引导进入登陆页面。
第一步:
在这里插入图片描述
核心方法:
在这里插入图片描述

配置:
一般把过滤器配置到servlet的上面。
在这里插入图片描述
将来如果你是main.jsp请求,就进入过滤器的代码中。
在这里插入图片描述
在过滤器里面查看当前的请求是谁?
在这里插入图片描述
在这里插入图片描述

因为你写的是:/*
所以过滤器里面第一步做的是:
拿到请求的URL
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果你是直接在浏览器里面输入:
http://localhost:8080/login/main.jsp
你按了回车之后,会自动进入login.jsp页面。
但是如果你按http://localhost:8080/login/login.jsp。它不会进行拦截。

在这里插入图片描述

统计当前网站的在线人数:

使用的技术:

监听器:Listener

Listener监听session对象的创建,只要创建了,说明一个新用户已经上线了。

区别用户上线:看session对象的个数
在这里插入图片描述

监听器可以监听:
对象的生命周期事件:对象的创建和销毁
数据绑定事件:之前往session里面绑定数据
替换数据事件:

监听Session对象的创建:
在这里插入图片描述
在这里插入图片描述
我们在sessionCreated方法里面,只要执行这个方法,说明有一个新的session对象被创建了,然后我们要给在线人数+1
而且这个在线人数需要让所有用户都能看到
每个用户登陆进来都看得到。
又涉及到:ServletContext 这个是Servlet的上下文对象。
在这里插入图片描述
在JSP里面:applicationScope 就是 ServletContext
叫法不一样。
一个web应用只有一个对象。
Tomcat服务器一启动就创建ServletContext对象,关闭了才销毁它。
在这里插入图片描述
在这里插入图片描述

在web.xml里面配置监听器:
在这里插入图片描述

处理前端:
当我们登陆成功的时候,会进入主页面main.jsp
我们可以从servletContext对象里面,根据key=count获取值来展示在线人数。
在这里插入图片描述
在这里插入图片描述

JSON

全称:
javascript Object Notation
js提供的一种数据交换格式。

在这里插入图片描述
在这里插入图片描述
json本质上就是一个js对象,但是很特殊,可以直接转换为字符串
实现js和java的数据交换
在这里插入图片描述

java解析json的工具:

jackson

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41709577/article/details/121343497