美文网首页
Servlet 过滤器

Servlet 过滤器

作者: 蘋果_283e | 来源:发表于2017-04-11 03:11 被阅读0次

一、通过过滤器可以做什么  

1 对请求进行统一编码  

2 对请求进行认证

包 javax.servlet.Filter

1作用:把某些信息过滤掉

2实现 Filter 接口.

1public void doFilter (ServletRequest, ServletResponse, FilterChain)该方法完成实际的过滤操作,当客户端请求方法与过滤器设置匹配的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain用户访问后续过滤器。

2public void init(FilterConfig filterConfig)

3public void destroy()

4web.xml中配置

<filter>

<filter-name>qq</filter-name>

<filter-class>con.hw.controller.EncodingFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>qq</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

乱码处理

public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain arg2) throws IOException, ServletException {

HttpServletRequest request=(HttpServletRequest) arg0;

HttpServletResponse response=(HttpServletResponse) arg1;

request.setCharacterEncoding("utf-8");

response.setContentType("text/html;charset=utf-8");

response.setCharacterEncoding("utf-8");

arg2.doFilter(request, response);//通过验证

}

非法字段

public void doFilter(ServletRequest arg0, ServletResponse arg1,

FilterChain arg2) throws IOException, ServletException {

HttpServletRequest request=(HttpServletRequest) arg0;

HttpServletResponse response=(HttpServletResponse) arg1;

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

if(jl!=null&&jl.indexOf("小狗")!=-1){

response.sendRedirect("filter.jsp");

}else{

arg2.doFilter(request, response);//放行

}

}

验证登录

public void doFilter(ServletRequest request1, ServletResponse response1,FilterChain chain) throws IOException, ServletException {HttpServletRequest request=(HttpServletRequest) request1;HttpServletResponse response=(HttpServletResponse) response1;  HttpSession session = request.getSession();  if(session.getAttribute("user")!=null){    chain.doFilter(request, response);//放行  }else{  response.sendRedirect(request.getContextPath()+"/login.jsp");  }}f3com.filter.LoginFilterf3/PersonListServlet

相关文章

  • 2022-03-21 Web基础知识(7)- Servlet (

    Servlet Filter(过滤器)、Servlet FilterChain(过滤器链)、Servlet Fil...

  • 过滤器

    Servlet分3中: 简单Servlet 过滤器Servlet 监听器Servlet 过滤器的基本概念 Filt...

  • Spring MVC之拦截器、过滤器学习

    过滤器使用 过滤器是属于Servlet,在javax.servlet.*下面。 添加servlet组件扫描 创建过...

  • Servlet基础2

    Servlet编写过滤器 Servlet 过滤器是可用于 Servlet 编程的 Java 类,有以下目的:1.在...

  • Java基础——过滤器和监听器

    什么是过滤器? Servlet过滤器和Servlet十分相似,但它具有拦截客户端请求的功能,Servlet过滤器可...

  • 过滤器 Filter

    Servlet 可以分为简单 Servlet 、过滤器和监听器,过滤器本质上也是 Servlet ,只不过它是 T...

  • javaweb Filter详解

    1. Servlet过滤器的概念 Servlet过滤器是在Java Servlet规范2.3中定义的,它能够对Se...

  • Interceptor和Filter区别

    过滤器(Filter) Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的...

  • spring-boot 拦截

    过滤器 Filter过滤器并不是标准的Servlet,它只是对Web容器和Servlet之间的过滤器。主要是对Se...

  • Spring Boot:定制拦截器

    Servlet 过滤器属于Servlet API,和Spring关系不大。除了使用过滤器包装web请求,Sprin...

网友评论

      本文标题:Servlet 过滤器

      本文链接:https://www.haomeiwen.com/subject/cdeuottx.html