【JavaWeb】用过滤器实现字符集设置和登录拦截

过滤器、监听器、拦截器 过滤器Filter是Servlet的规范。默认情况下,在服务器启动的时候会新建Filter对象。 阅读详情

导读:如果未经登录就去访问某些网页资源,会被弹出类似“请登录”的消息。在访问网页资源之前,对不满足条件的请求进行拦截、处理,这就是过滤器。


过滤器的常见用途

  • 请求字符集处理
  • 网页资源权限访问控制
  • 敏感词屏蔽

过滤器的工作流程和生命周期

工作流程:客服端发送到服务器的请求,如果满足拦截条件,则过滤器会对这个请求进行拦截,并进行相应处理。再将处理后的请求发送至服务器端。服务器端处理完请求,发回响应,如果也满足拦截条件,也会被过滤器拦截,进行处理,再发回客户端。

                       

生命周期:一旦web服务器启动,就会创建过滤器的实例,并进行初始化。当请求访问满足拦截条件的网页资源时,就会调用过滤器,多次访问多次调用,不会重复创建。最后,只有当web服务器关闭时,过滤器实例对象才会销毁。


过滤器实现步骤

步骤:①创建过滤器类,实现Filter接口。完善Filter接口下的init、doFilter等方法。重点是doFilter方法,包含了拦截请求后的处理方式。②如果使用注解,就在过滤器实现类开头注解@WebFilter;否则,在web.xml中像配置Servlet一样进行配置。


过滤器实现案例:字符集设置和访问控制

假设有一个留言板,只有登录后,才能发布留言;不登录发布留言,将会被提示登录。同时,留言板能够处理中文,不会显示乱码。

留言板:

首先:index主页有个表单,包含用户名和密码,还有一个登录按钮,提交之后,会将请求发送至login.jsp。

                                                                            

login.jsp用来获取登录的用户名和密码,将其存放到Session之中。这里为了方便演示,没有对用户名和密码进行校验。

然后,跳转至登录成功的页面,即留言板页面message.jsp。

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
    String username=request.getParameter("username");
    String password=reques
Intellij IDEA 使用教程(一)Jdk安装和配置 一.JDK下载 这里下载的是Java SE 8u181 64位版本。可以根据自己电脑配置来选择不同版本。 官网下载JDK 二.安装JDK 双击运行jdk-8u181-windows-x64.exe安装程序 选择安装目录,然后点击下一步 等待安装 安装JRE,就是java的运行环境,可以安装在java目录下 等待安装 安装完成。点击关闭。 三.java环境变量配置 关于环境变量的配置,... 阅读详情

相关推荐

用朴素贝叶斯分类模型判断病人是否感染幽门螺杆菌(Python实现)

朴素贝叶斯,Python

weixin_56529327的博客 1160

告别手动抓信号!Synopsys AXI VIP的Port Monitor实战:5分钟搞定与Scoreboard的TLM连接

本文详细介绍了Synopsys AXI VIP的Port Monitor功能,帮助验证工程师快速实现与Scoreboard的TLM连接,5分钟内完成自动数据收集。通过实战指南和常见问题排查,提升验证效率,告别手动抓信号的繁琐流程。

weixin_30565327的博客 298

从信号到振镜:STM32F103 + XY2-100协议 + AM26LS31芯片的激光打标/雕刻系统信号链搭建指南

本文详细介绍了基于STM32F103微控制器和XY2-100协议的激光打标/雕刻系统信号链搭建方法。从数字振镜控制协议解析、AM26LS31差分驱动电路设计到信号完整性优化,提供了一套完整的解决方案,帮助工程师实现高精度激光控制系统的开发与调试。

weixin_42536058的博客 235

MMI分束器仿真优化:用Lumerical FDTD实现95%耦合效率的实战技巧

本文详细介绍了使用Lumerical FDTD软件对MMI分束器进行仿真优化的实战技巧。通过构建高保真模型、精确配置光源与边界条件,并重点优化波导结构与taper设计,系统性地将器件的耦合效率提升至95%以上。文章还分享了利用参数扫描、varFDTD加速等高级方法,帮助硅光芯片设计工程师高效实现高性能MMI分束器设计。

rainy的博客 770

在Kintex-7 FPGA上实现皮秒级时间测量:手把手教你搭建CARRY4进位链TDC(附源码与约束)

本文详细介绍了在Kintex-7 FPGA上利用CARRY4进位链实现皮秒级时间测量(TDC)的完整方案。从CARRY4的物理特性分析到硬件架构设计,再到校准方法与精度提升技巧,手把手教你构建测量精度达53ps的TDC系统,并附源码与约束文件,助力激光雷达、高能物理等精密计时应用开发。

weixin_42550052的博客 443

CAN收发器选型避坑指南:TJA1051T与TJA1051T/3的硬件兼容性问题实录

本文详细解析了CAN收发器TJA1051T与TJA1051T/3的硬件兼容性问题,通过实测数据和故障案例揭示了VIO引脚的关键差异及其对系统的影响。提供从选型到验证的完整防坑方案,帮助开发者避免常见设计错误,确保CAN总线通信的稳定性。

weixin_42715608的博客 457

C51:PWM+舵机角度控制

PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,也就是说通过调节占空比的变化来调节信号、能量等的变化,占空比就是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比就是50%.脉冲宽度调制通过占空比编码模拟信号一个周期内,高电平占据时长的百分比如下图所示,最便宜的舵机sg90,常用三根或者四根接线,黄色为PWM信号控制。

qq_73379310的博客 3388

手把手教您 Claude 桌面端无需账号订阅,免费接入国产自定义大模型(Claude Desktop 绕过订阅限制,接入任意自定义 AI 模型)

无需官方账号,也能畅玩Claude桌面端!本文详解Claude Desktop如何跳过登入接入自定义大模型,轻松解锁Cowork、Code等强大功能🚀

XiaoqiangClub的博客 5409

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 【JavaWeb】用Ajax实现多级联动菜单
下一篇: 【JavaWeb】用监听器实现单一登录
csdn_inside
博客等级 码龄10年 52粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值