学习:javaweb-servlet-Filter

关于过滤器的个人理解:

  在客服端和服务器之间处理一些脏数据,无论是请求还是响应,传递数据时,无法保证一些数据是否合法,需要过滤器将数据合法化,包括一些乱码,sql注入这些问题,让数据更安全,更合法。

像乱码问题,有过滤器后,不用每一个servlet类都去解决乱码问题,只需要访问时走的是解决乱码过滤器的路径,过滤器就会解决乱码问题

代码过程:

  1.创建Filter类,实现Filter接口

    * 1.设置过滤器
    * 2.传递request和response
//1.设置过滤器
servletRequest.setCharacterEncoding("UTF-8");
servletResponse.setCharacterEncoding("UTF-8");
servletResponse.setContentType("text/html;charset=UTF-8");

//2.传递request和response
filterChain.doFilter(servletRequest,servletResponse);

 



  2.注册Filter类

    (1).注册Filter类

      

<!--注册filter-->
<filter>
<filter-name>CharacterEnchodingFilter</filter-name>
<filter-class>com.pochita.filter.CharacterEnchodingFilter</filter-class>
</filter>

    (2).注册Filter路径

    

<!--注册filter路径-->
<filter-mapping>
<filter-name>CharacterEnchodingFilter</filter-name>
<!--所有经过/servlet/的请求和响应都会被过滤器处理-->
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>

 

  3.设置sevrlet类的请求路径(如果该类需要走过滤器,那么请求路径就要符合/servlet/*)

<!--注册servlet类的路径-->
<servlet-mapping>
<servlet-name>fdemo1</servlet-name>
<url-pattern>/servlet/fdemo1</url-pattern>
</servlet-mapping>

注意:在设置filter和servlet的时候,如果filter的配置在servlet的配置下面会报错

 

如果反之则不报错:

 

posted @ 2023-11-14 18:41  头疼的波奇塔  阅读(12)  评论(0)    收藏  举报