过滤器-监听器

本文详细介绍了Java Web中的过滤器(Filter)工作原理及其配置方法,包括防盗链、字符编码、日志记录等功能实现,并探讨了监听器在session、request、context等生命周期中的作用。

过滤器

1、Fliter

public voidinit(FliterConfig config) throws ServletException

publc voiddoFilter(ServletRequest request,

ServletResponse  response,

FilterChain chain) throws ServletException,IOException

    public void destroy();

 过滤链

web.xml

<filter>

  <filter-name> </filter-name>

  <filter-class>  </filter-class>

<init-param>

  <param-name></param-name>

  <param-value></param-value>

</init-param>

</filter>

<filter-mapping>

   <filter-name></filter-name>

   <url-pattern></url-pattern>  适用路径 /jsp/ *.do

   <dispatcher></dispatcher>    REQUEST/FORWARD/INCLUDE/ERROR

</filter-mapping>

url-pattern和dispatcher为且关系

 

应用

防盗链/ 字符编码

日志记录

  建立log4j.properties  commons-logging

  导入Lgo4J.jar等包

异常捕获

   Throwable rootCase = e;

  While(rootCase.getCause() != null){

    rootCause = rootCause.getCause();

  }

  

   rootCase .getMessage();

   rootCase.getClass().getName()

 

权限验证

javaweb一般适用session和cookie记录登陆及权限,Filter在servlet提交前对session和cookie校验

权限配置放置于配置文件或者数据库

内容替换

自定义response

通过继承HttpServletResponseWrapper,覆盖其中的方法getOutputStream()

 和getWriter()

  properties要进行Unicode编码

GZIP压缩

 提升网络传输速率,适用是要判断客户浏览器是否支持GZIP自动解压

 自定义response

缓冲Filter

  适用于变化不大的数据,不能够适用post方式提交数据

  数据更新后删除缓存,

XSLT

 

配置fliter时应当注意其配置的顺序,其彼此之间会产生影响

 

 

监听器

监听创建、修改、删除session/request/context等

1.

publicclass SessionListener implements HttpServletListener{

  public void sessionCreated(HttpSessionEventse){

 

  }

  public void sessionDestroyed(HttpSessionEventse){

    

  }

}

创建时服务器调用sessionCreated(),销毁时sessionDestroyed()

web.xml

<listener>

  <listener-class>

      packageName.className

  </listener-class>

</listener>

 

(1)第一类接口

  HttpSessionListener  

   sessionCreated(HttpSessionEventse)

sessionDestoryed(HttpSessionEvente)

  ServletContextListener

        contextInitialized(ServletContextEventevent)

        contextDestoryed(ServletContextevent)

  ServletRequestListener

        requestInitialized(ServletRequestevent)

        requestInitialized(ServletRequestevent)

   分别监听session context requestc创建销毁

 (2)第二类接口

  用于监听session/context/request的属性变化,

接口名称为HttpSession/ServletContext/ServletRequestAttributeListener

  向被监听对象添加、更新、删除属性时,分别执行

**Added()  **Replaced() **Removed()

  session / request / context

 (3)第三类接口

  监听session内的对象

  HttpSessionBindingListener

当对象放到session中时执行valueBound(HttpSessionBindingEvent evnet)

当对象移除时                valueUnBound(HttpSessionBindingEvent)

 HttpSessionActivationListener

服务器关闭,会将session中的内容保存到硬盘上,这个过程叫钝化

  sessionWillPassivate(HttpSessionEvent)

服务器启动,会将session内容重新加载,

  sessionDidActivate(HttpSessionEvent)

 

(4)案例

单态登陆

显示在线用户

 

 

 

 

内容概要:本文为《科技类企业品牌传播白皮书》,系统阐述了新闻媒体发稿、自媒体博主种草与短视频矩阵覆盖三大核心传播策略,并结合“传声港”平台的AI工具与资源整合能力,提出适配科技企业的品牌传播解决方案。文章深入分析科技企业传播的特殊性,包括受众圈层化、技术复杂性与传播通俗性的矛盾、产品生命周期影响及2024-2025年传播新趋势,强调从“技术输出”向“价值引领”的战略升级。针对三种传播方式,分别从适用场景、操作流程、效果评估、成本效益、风险防控等方面提供详尽指南,并通过平台AI能力实现资源智能匹配、内容精准投放与全链路效果追踪,最终构建“信任—种草—曝光”三位一体的传播闭环。; 适合人群:科技类企业品牌与市场负责人、公关传播从业者、数字营销管理者及初创科技公司创始人;具备一定品牌传播基础,关注效果可量化与AI工具赋能的专业人士。; 使用场景及目标:①制定科技产品全生命周期的品牌传播策略;②优化媒体发稿、KOL合作与短视频运营的资源配置与ROI;③借助AI平台实现传播内容的精准触达、效果监测与风险控制;④提升品牌在技术可信度、用户信任与市场影响力方面的综合竞争力。; 阅读建议:建议结合传声港平台的实际工具模块(如AI选媒、达人匹配、数据驾驶舱)进行对照阅读,重点关注各阶段的标准化流程与数据指标基准,将理论策略与平台实操深度融合,推动品牌传播从经验驱动转向数据与工具双驱动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值