JSP学习笔记——过滤器(二)使用

本文介绍了三种Servlet过滤器的应用案例,包括过滤非法文字、统一编码处理及登录验证。通过具体的Java代码实现,展示了如何在Web应用程序中利用过滤器增强安全性与功能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

过滤器的使用:

1.       过滤非法文字

package demo.filter ;

 

import java.io.* ;

import javax.servlet.* ;

import javax.servlet.http.* ;

 

public class CharFilter implements Filter

{

       public void init(FilterConfig filterConfig)throws ServletException

       {

              System.out.println("**Filter初始化……") ;

       }    

       public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)

throws java.io.IOException,ServletException

       {

              request.setCharacterEncoding("gbk") ;

              String name = request.getParameter("name") ;

              if(name!=null){

                     if(name.indexOf("猪猪")==-1){      

                     chain.doFilter(request,response) ;

                     }else{

                            System.out.println("非法字符!") ;

                     }

              }else{

                     System.out.println("feikong") ;

              chain.doFilter(request,response) ;

              }

       }

       public void destroy(){}

}

 

2.       对内容进行统一编码

package demo.filter ;

 

import java.io.* ;

import javax.servlet.* ;

import javax.servlet.http.* ;

 

public class EncodingFilter implements Filter

{

       public void init(FilterConfig filterConfig)throws ServletException

       {}   

       public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)

throws java.io.IOException,ServletException

       {

              try

              {

                     request.setCharacterEncoding("gb2312") ;

              }

              catch (Exception e)       {}

              chain.doFilter(request,response) ;

       }

       public void destroy()

       {}

}

 

3.       登录验证

package demo.filter ;

 

import java.io.* ;

import javax.servlet.* ;

import javax.servlet.http.* ;

 

public class SessionFilter implements Filter

{

       public void init(FilterConfig filterConfig)throws ServletException

       {}   

       public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)

throws java.io.IOException,ServletException

       {

              HttpServletRequest req = (HttpServletRequest)request ;

              HttpServletResponse res = (HttpServletResponse)response ;

              HttpSession session = req.getSession() ;

              System.out.println(session.getAttribute("name")) ;

              if (session.getAttribute("name")!=null)

              {

                     //System.out.println("已登录……") ;

                     chain.doFilter(request,response) ;

              }else{

                     //System.out.println("未登录……") ;

                     request.getRequestDispatcher("login.jsp").forward(request,response) ;

              }     

       }

       public void destroy()

       {}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值