web基础-过滤器

过滤器

作用:

  1. 对服务器接受的请求资源和响应给浏览器的资源进行管理
  2. 保护servlet

使用

  1. 创建一个Filter接口的普通java类
  2. 复写接口的方法
    init() 服务器启动的时候自动调用‘’
    doFilter() 主动调用chain.doFilter放行
    destory() 服务器关闭的时候自动调用
  3. 在web.xml中配置过滤器,使服务器自动调用过滤器
  <filter>
  	<filter-name>myFilter</filter-name>
  	<filter-class>edu.yjsj.filter.Filter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>myFilter</filter-name>
	<url-pattern>/*</url-pattern> 	
  </filter-mapping>

以上为单个web.xml配置文件,其中

  1. url-pattern:/*表示拦截所有的请求
  2. url-pattern:*.do表示拦截所有.do结尾的请求,一般进行模块化拦截处理
  3. url-pattern:/ts 表示拦截指定servlet的请求

过滤器生命周期

服务器启动到关闭

执行

浏览器发起请求到服务器,服务器接收到请求后,根据uri在web.xml中找到对应的过滤器执行doFilter方法,该方法对此次请求经行处理后如果符合要求则放行,放行后如果还有符合要求的过滤器则继续过滤,最终找到对应的servlet进行请求处理,service方法执行后还会返回到对应的doFilter方法中。

案例

  1. 统一编码格式
  2. session管理
  3. 权限管理
  4. 资源管理(同一水印,和谐词汇等等)
  5. 。。。
		//设置编码格式
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		response.setCharacterEncoding("utf-8");
		//session管理
		HttpSession hs = ((HttpServletRequest)request).getSession();
		if(hs.getAttribute("user") == null) {
			((HttpServletResponse)response).sendRedirect("/login.jsp");
		}else {
			//放行
			chain.doFilter(request, response);
		}	

以上是学习过程积累,有问题欢迎指教

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值