过滤器

Filter过滤器

1、简介:

Filter也称之为过滤器,它是Servlet技术中最实用的技术,是实现Filter接口的Java类,
WEB开发人员通过Filter技术,对web服务器管理的所有web资源,
它主要用于对用户请求进行预处理,也可以对HttpServletResponse 进行后处理。
使用Filter 的完整流程:Filter
对用户请求进行预处理,接着将请求交给Servlet 进行处理并生成响应,最后Filter 再对服务器响应进行后处理。

作用:

过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应,就如生活中过滤水一样,
**但是当服务器返回给浏览器的时候也是需要过滤的。

简单流程:

Web浏览器——Web服务器——过滤器——web资源 Jsp Servlet html 然后返回来web资源 Jsp Servlet html——过滤器——Web服务器——Web浏览器

当浏览器发送请求给服务器的时候,先执行过滤器,然后才访问Web的资源。服务器响应Response,从Web资源抵达浏览器之前,也会途径过滤器。

相关代码:

>     @WebFilter("/*")
>     public class CheckLoginFilter implements Filter {
>     
>         @Override
>         public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws
> IOException, ServletException {
>             System.out.println("CheckLoginFilter.doFilter");

判断条件

>  if("/login".equals(servletPath)){
>     filterChain.doFilter(servletRequest,servletResponse);
>     return; }
> 
> HttpSession session = request.getSession(); String account = (String)
> session.getAttribute("account");
> 
> if (account != null) {
>     filterChain.doFilter(servletRequest,servletResponse); }else{
>     ((HttpServletResponse)servletResponse).sendRedirect(request.getContextPath()+"/login");
> }

放行:

filterChain.doFilter(servletRequest,servletResponse);

前端处理数据库乱码:

servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值