学习笔记38_过滤器

Action过滤器:在Action执行之前和执行之后分别干一些事情

Action过滤器要实现IActionFilter。

步骤:

1.在Model文件夹中,添加一个自定义类

public class XXXXXActionFilterAttribute:ActionFilterAttribute

{

  public string Name{get;set;}

  public override void OnActionExecuting(ActionExecutingContext filterContext)

  {

    base.OnAcionExecuting(filterContext);

    ......;

    //例如

    filter.HttpContext.Respone.Wirte("<br/>........");

  }

  public override void OnActionExecuted(ActionExecutedContext filterContext)

  {

    base.OnActionExecuted( filterContext);

    ......;

  }

  

  public override void OnResultExecuting(ActionExecutingContext filterContext)

  {

    base.OnResultExecuting(filterContext);

    ......;

  }

 public override void  OnResultExecuted(ActionExecutedContext filterContext)

  {

    base. OnResultExecuted( filterContext);

    ......;

  }

}

2.使用

在Action方法当中

[ XXXXXActionFilterAttribute("Name")]

public ActionResult Index()

{

  

}

***如果在控制器上放打[ XXXXXActionFilterAttribute("Name")],那么此控制器下的所有Action都会受到影响。

****如果想令所有控制器都打上ActionFilterAttribute,那么,可以到 Clobal.asax中,

FilterConfig.RegisterGlobalFilters(GlobalFilter.Filters),//RegisterGlobalFilters转到定义:

在App_Start->FilterConfig.cs->

public static void  RegisterGlobalFilters(....)

{

  //加上

  filters.Add(new XXXXXActionFilterAttribute());

}

*

[AttributeUsage(AttributeTargets.All, AllowMultipute =false,Inherited = true)]

//表示这个FilterAttribute能再那些地方起作用,能不能打多次,即能不能过滤多次,Inherited是否能继承。

public class XXXXXActionFilterAttribute:ActionFilterAttribute{...}

3.使用场合:

用于要检查用户是否登录。

时间: 2024-11-10 14:19:51

学习笔记38_过滤器的相关文章

jQuery学习笔记之过滤器三(向上查找兄弟元素、向下查找兄弟元素)

向上查找兄弟元素的方法:prev方法.prevAll方法.prevUntil方法 向下查找兄弟元素:next方法.nextAll方法.nextUntil方法 向上查找兄弟元素 1.prev方法 2.prevAll方法 3.prevUntil方法 向下查找兄弟元素 1.next方法 2.nextAll方法 3.nextUntil方法 jQuery学习笔记之过滤器三(向上查找兄弟元素.向下查找兄弟元素)

学习笔记_过滤器详细(过滤器JavaWeb三大组件之一)

过滤器详细 1 过滤器的生命周期 我们已经学习过Servlet的生命周期,那么Filter的生命周期也就没有什么难度了! (l)  init(FilterConfig):在服务器启动时会创建Filter实例,并且每个类型的Filter只创建一个实例,从此不再创建!在创建完Filter实例后,会马上调用init()方法完成初始化工作,这个方法只会被执行一次: (l)  doFilter(ServletRequest req,ServletResponse res,FilterChain chain

Javaweb学习笔记9—过滤器

? 今天来讲javaweb的第9阶段学习. ? 过滤器,我在本次的思维导图中将过滤器和监听器放在一起总结了,监听器比较简单就不单独写了. ? 老规矩,首先先用一张思维导图来展现今天的博客内容. ? ? ? ? ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 ? 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. ? ? ? ? ? ? 1* 作用: ? ? ? 用于过滤请求(Request)与响应(Response)的数据内容.

学习笔记_过滤器详细_2(过滤器JavaWeb三大组件之一)

过滤器详细 5 四种拦截方式 我们来做个测试,写一个过滤器,指定过滤的资源为b.jsp,然后我们在浏览器中直接访问b.jsp,你会发现过滤器执行了! 但是,当我们在a.jsp中request.getRequestDispathcer(“/b.jsp”).forward(request,response)时,就不会再执行过滤器了!也就是说,默认情况下,只能直接访问目标资源才会执行过滤器,而forward执行目标资源,不会执行过滤器!(跳转的不会执行F) public class MyFilter

学习笔记_过滤器概述(过滤器JavaWeb三大组件之一)

过滤器Filter Filter和Lister是Servlet规范里的两个高级特性.不同于Servlet,它们不用于处理客户端请求,只用于对request.response进行修改或者对context.session.request事件进行监听. Filter意为滤镜或者过滤器,用于Servlet之外对request或者response进行修改.Filter提出了滤镜链的概念,一个Filterchain包括多个F 1 什么是过滤器 过滤器JavaWeb三大组件之一,它与Servlet很相似!不它

学习笔记_过滤器应用案例(解决全站字符乱码)

解决全站字符乱码(POST和GET中文编码问题) servlet: l  POST:request.setCharacterEncoding(“utf-8”); l  GET: String username = request.getParameter(“username”); username = new String(username.getBytes(“ISO-8859-1”), “utf-8”); 1 说明 乱码问题: l  获取请求参数中的乱码问题: POST请求:request.s

学习笔记_过滤器应用_1(分ip统计网站的访问次数)

分ip统计网站的访问次数 ip count 192.168.1.111 2 192.168.1.112 59 统计工作需要在所有资源之前都执行,那么就可以放到Filter中了. 我们这个过滤器不打算做拦截操作!因为我们只是用来做统计的. 用什么东西来装载统计的数据.Map<String,Integer> 整个网站只需要一个Map即可! Map什么时候创建(使用ServletContextListener,在服务器启动时完成创建,并只在到ServletContext中),Map保存到哪里!(Ma

[jsp学习笔记] jsp过滤器

常用有检测是否登录过滤 ,编码 等等

学习笔记_过滤器应用(粗粒度权限控制(拦截是否登录、拦截用户名admin权限))

RBAC ->基于角色的权限控制 l  tb_user l  tb_role l  tb_userrole l  tb_menu(增.删.改.查) l  tb_rolemenu 1 说明 我们给出三个页面:index.jsp.user.jsp.admin.jsp. l  index.jsp:谁都可以访问,没有限制: l  user.jsp:只有登录用户才能访问: l  admin.jsp:只有管理员才能访问. 2 分析 设计User类:username.password.grade,其中grad