关于JSP的filter过滤器

**

初学者JSP的filter过滤器使用易出现的问题

**
完成登录验证的程序设计:设计一个过滤器,过滤用户名以“T”开头的用户名登录,使其登录到错误页面,其他则正确登录到成功界面。

最近学习Servlet过滤器完成一个登录页面,在编写时出现了一些问题。

首先强调过滤器的工作原理:过滤器介于客户端与服务器端之间,当客户端访问服务器中的目标资源时,对该资源的所有请求都会经过servlet过滤器,过滤器在请求被响应之前会检查请求对象,并决定是将请求转发给过滤器链的下一个资源,还是终止该请求并响应用户。在请求被转发给过滤器链中的下一个资源处理后,过滤器会检查响应对象,进行处理后返回给用户。
在操作时遇到的问题
(1)配置web.xml文件时,映射地址表示所要拦截的目标资源的url。一开始配置,我将目标资源配置为:login.jsp。输入网址运行时直接报错。百度了很久又仔细看了书,才知道不能写login.jsp,过滤器表示需要拦截的资源,登录页面应该是所有用户都可以登录的,不属于需要拦截的页面啊,所以这里写result.jsp。
(2)在result.jsp中,我编写了如下代码

String username = request.getParameter("username");
String password = request.getParameter("password");
session.setAttribute("name", username);

在MyFilter.java中我需要获取session对象进行判断,页面报空指针异常。测试之后,我发现MyFilter中的username值为空, result.jsp页面的session值赋值不成功,问题应该还是filter的执行原理,先执行过滤器,再返回页面。后来直接将上面的语句复制到MyFilter中,成功!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值