JavaWeb的监听器和过滤器是什么
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要为大家展示了"JavaWeb的监听器和过滤器是什么",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JavaWeb的监听器和过滤器是什么"这篇文章
千家信息网最后更新 2025年01月17日JavaWeb的监听器和过滤器是什么
这篇文章主要为大家展示了"JavaWeb的监听器和过滤器是什么",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"JavaWeb的监听器和过滤器是什么"这篇文章吧。
1.监听器---->Context,Session
what is listener?
监听器是一个接口内容由我们实现,会在特定时间被调用,监听器用于监听web应用中三大域对象(request,session,application),信息的创建,销毁,增加,修改,删除等动作的发生,然后做出相应的响应处理。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等。
ContextListener
通过实现ServletContextListener
来进行全局监听
ContextListener可以通过记录用户访问网站的次数思路:用户通过访问index.jsp,来获取存放在监听器中的hashmap< String,Integer>
,然后在index.jsp中进行判断。
ContextListener的代码思路如下:
public class ContextListener1 implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent servletContextEvent) { System.out.println("init"); //创建map集合 Mapmap = new HashMap (); // 获取全局对象 ServletContext context = servletContextEvent.getServletContext(); context.setAttribute("map", map); System.out.println(map.isEmpty()); System.out.println(map); } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { System.out.println("destory"); }}
index.jsp的代码思路如下:
<% //获取用户ip地址 String ServerName = request.getServerName(); //获取全局对象 Mapmap = (Map ) application.getAttribute("map"); if (map.containsKey(ServerName)) { map.put(ServerName, map.get(ServerName) + 1); } else { map.put(ServerName, 1); } int count = map.get(ServerName); int size = map.size();%> ip地址是:<%=ServerName%>,您是第<%=count%>位访问的用户,当前服务器共被<%=size%>个用户访问过
2.监听器三大作用域
3.属性监听器
属性监听器主要监听属性值的变化,例如request.setAttribute()
等这些数据的变化。
package listener;import javax.servlet.*;import javax.servlet.http.HttpSessionAttributeListener;import javax.servlet.http.HttpSessionBindingEvent;/** * @author wjs * @create 2022-02-27 15:09 */public class AttrListener implements ServletContextAttributeListener, ServletRequestAttributeListener, HttpSessionAttributeListener { @Override public void attributeAdded(ServletContextAttributeEvent servletContextAttributeEvent) { // 向全局作用域中添加值的监听器 } @Override public void attributeRemoved(ServletContextAttributeEvent servletContextAttributeEvent) { // 向全局作用域删除值的监听器 } @Override public void attributeReplaced(ServletContextAttributeEvent servletContextAttributeEvent) { // 向全局域对象修改值的监听器 } @Override public void attributeAdded(ServletRequestAttributeEvent servletRequestAttributeEvent) { // 向request域中添加值的监听器 } @Override public void attributeRemoved(ServletRequestAttributeEvent servletRequestAttributeEvent) { // 向request域中删除值的监听器 } @Override public void attributeReplaced(ServletRequestAttributeEvent servletRequestAttributeEvent) { // 向request域中修改值的监听器 } @Override public void attributeAdded(HttpSessionBindingEvent httpSessionBindingEvent) { // 向session域中添加值的监听器 } @Override public void attributeRemoved(HttpSessionBindingEvent httpSessionBindingEvent) { // 向session域中删除值的监听器 } @Override public void attributeReplaced(HttpSessionBindingEvent httpSessionBindingEvent) { // 向session域中修改值的监听器 }}
4.过滤器
4.1过滤器的使用
1.编写java 类实现Filter接口2.重写doFilter()方法3.设置拦截的url
4.2过滤器的拦截路径
/*:根目录下所有请求都拦截
/*.do:所有带.do的请求都拦截
/*.jsp
4.3过滤器的拦截顺序
过滤器的拦截顺序,取决于在配置文件web.xml的先后顺序
4.4过滤器的四种拦截方式
以上是"JavaWeb的监听器和过滤器是什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
监听
监听器
过滤器
对象
用户
全局
内容
作用
属性
思路
篇文章
顺序
变化
三大
代码
信息
地址
接口
方法
服务器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳快点儿网络技术
河北华为鲲鹏服务器选择
美团招暑期工软件开发吗
软件开发都要培训啥
手机端数据库
阿帕奇数据库如何转移到rds
网络安全发展走向趋势
网络技术信息采集表
工程化软件开发中软件的内涵
通付盾网络技术
连接2个数据库
.net链接本地数据库
数据库可以用来做什么
安装完的数据库在哪找
浪潮服务器管理密码重置
安全华为云云数据库推荐
回归测试软件开发模型
宁波app软件开发是做什么的
网络安全攻防简单实验
部队职工数据库工资上调
乌恰网络安全
软件开发 辞职半年
数据库空否怎么设置
腾讯科技公司还是互联网公司
每个学校的知网查重数据库一样么
省市级联与数据库
北航软件开发商
浪潮服务器管理密码重置
北京工行软件开发中心电话
数据库连接方式的优点