Struts2_day04

上节内容

今天内容

Struts2拦截器概述

拦截器底层原理

重要的概念

自定义拦截器

自定义登录拦截器

Struts2的标签库

Struts2表单标签(会用)

Struts2总结

Struts2_day04

上节内容

1什么是值栈

(1)action和servlet区别

2 如何获取值栈对象

3 值栈内部结构

(1)root和context

4 向值栈放数据

(1)向值栈放字符串

(2)向值栈放对象

(3)向值栈放list集合

5 从值栈获取数据

(1)从值栈获取字符串

(2)从值栈获取对象

<s:property>

(3)从值栈获取list集合

<s:iterator>

6 EL表达式获取值栈数据

(1)增强request里面getAttribute方法

7 ognl表达式 #、%使用

今天内容

1 拦截器概述

2 拦截器底层原理

3 过滤器和拦截器区别

4 自定义登录拦截器

5 struts2标签库(会用)

6 struts2表单标签

Struts2拦截器概述

1 struts2是框架,封装了很多的功能,struts2里面封装的功能都是在拦截器里面

2 struts2里面封装了很多的功能,有很多拦截器,不是每次这些拦截器都执行,每次执行默认的拦截器

3 struts2里面默认拦截器位置

4 拦截器在什么时候执行?

(1)在action对象创建之后,action的方法执行之前

拦截器底层原理

1 拦截器底层使用两个原理

第一个 aop思想

(0)后面在spring里面把aop做更深层次分析

(1)文字描述:

Aop是面向切面(方面)编程,比如我们有基本功能,想扩展功能,不通过修改源代码方式扩展功能

(2)画图分析:

第二个 责任链模式

(1)在java中有很多的设计模式,责任链模式是其中的一种

(2)责任链模式和过滤链很相似的

责任链模式:

要执行多个操作,有添加、修改、删除三个操作。

首先执行添加操作,添加操作执行之后 做类似于放行操作,执行修改操作,修改操作执行之后做类似于放行操作,执行删除操作

过滤链:一个请求可有多个过滤器进行过滤,每个过滤器只有做放行才能到下一个过滤器

2 aop思想和责任链模式如何应用到拦截器里面?

(1)文字描述:

- 拦截器在action对象创建之后,action的方法执行之前执行

- 在action方法执行之前执行默认拦截器,执行过程使用aop思想,在action没有直接调用拦截器的方法,使用配置文件方式进行操作

- 在执行拦截器时候,执行很多的拦截器,这个过程使用责任链模式

-- 假如执行三个拦截器,执行拦截器1,执行拦截器1之后做放行操作,执行拦截器2,执行拦截器2之后做放行,执行拦截器3,执行拦截器3之后放行,执行action的方法

(2)画图分析

3 查看过滤器源代码

(1)doFilter()方法 执行action

(2)创建action对象,使用动态代理方式

(3)执行action的方法

(4)执行很多的拦截器,遍历执行

类似于放行的操作的方法

重要的概念

1 过滤器和拦截器区别

(1)过滤器:过滤器理论上可以任意内容,比如html、jsp、servlet、图片路径

(2)拦截器:拦截器只可以拦截action

2 Servlet和action区别

(1)servlet默认第一次访问时候创建,创建一次,单实例对象

(2)action每次访问时候创建,创建多次,多实例对象

Struts2_day04--课程介绍_Struts2拦截器概述&底层原理_重要的概念的更多相关文章

  1. Struts2拦截器概述

    --------------------siwuxie095 Struts2 拦截器概述 1.Struts2 框架封装的很多功能都在 Struts2 的拦截器中 2.Struts2 框架中有很多拦截器 ...

  2. struts2拦截器的实现原理

    拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理.同时,拦截器也可以让你将通用的 ...

  3. struts2拦截器的实现原理及源码剖析

    拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和result被执行之前或之后进行一些处理.同时,拦截器也可以让你将通用的 ...

  4. Spring 拦截器实现+后台原理(MethodInterceptor)

    MethodInterceptor MethodInterceptor是AOP项目中的拦截器(注:不是动态代理拦截器),区别与HandlerInterceptor拦截目标时请求,它拦截的目标是方法. ...

  5. 面试BAT必问的JVM,今天我们来说一说它类加载器的底层原理

    类加载器的关系 类加载器的分类 JVM支持两种类加载器,一种为引导类加载器(Bootstrap ClassLoader),另外一种是自定义类加载器(User Defined ClassLoader) ...

  6. Java拦截器的实现原理

    对于某个类的A方法进行拦截,在A执行前插入一段代码,A执行后也插入一段代码 原理: 写个拦截器,拦截器中包含要插入前后执行的两段代码 interceptor { C();//C方法 D();//D方法 ...

  7. Spring 拦截器实现+后台原理(HandlerInterceptor)

    过滤器跟拦截器的区别 spring mvc的拦截器是只拦截controller而不拦截jsp,html 页面文件的.这就用到过滤器filter了,filter是在servlet前执行的,你也可以理解成 ...

  8. OkHttp拦截器的实现原理

    今天项目中遇到需要将从push接收到的数据按照协议parse成应用层需要的结构化数据类型问题:因为push消息类型繁多,等待解析出的结构化数据类型也多样,有的还需要经过几步的parse过程:而且因为项 ...

  9. mybatis源码分析(5)-----拦截器的实现原理(动态代理+责任链)

    写在前面 MyBatsi 的拦截器模式是基于代理的代理模式.并且myBatis 的插件开发也是以拦截器的形式集成到myBatis 当中. MyBatis 的拦截器已经插件是在org.apache.ib ...

随机推荐

  1. Ubuntu和windows文件共享问题

    ubuntu访问windows共享文件夹(ubuntu桌面系统):          最简单的方法,随便打开一个文件夹,按Ctrl+L,然后地址栏敲smb://xxx.xxx.xxx.xxx(wind ...

  2. Coreseek安装测试配置指南(转)

    Sphinx--强大的开源全文检索引擎,Coreseek--免费开源的中文全文检索引擎 软件版本:coreseek-4.1 mmseg-3.2.14 autoconf-2.64 老版本的coresee ...

  3. 请介绍WCF服务

    WCF本质上提供一个跨进程.跨机器以致跨网络的服务调用 WCF合并了Web服务..net Remoting.消息队列和Enterprise Services的功能并集成在Visual Studio中, ...

  4. AutoFac文档7(转载)

    目录 开始 Registering components 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 适配器 和 装饰器 A ...

  5. c语言优先级和结合性

    C语言的运算符众多,具有不同的优先级和结合性,我们将它们全部列了出来,方便大家对比和记忆: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   ...

  6. Getting Started with Amazon EC2 (1 year free AWS VPS web hosting)

    from: http://blog.coolaj86.com/articles/getting-started-with-amazon-ec2-1-year-free-aws-vps-web-host ...

  7. C++之在类内部访问对象的私有成员

    一.引言 今天看项目里的一段代码发现,竟然可以再类的成员函数中访问该类的对象的私有成员.感觉不可思议. 自己写的实例代码: #include <iostream> using namesp ...

  8. Python 列表的操作

    list基本操作 #coding=utf-8 #列表 string = 'list' #字符串->列表 list1 = list(string) # ['l', 'i', 's', 't'] # ...

  9. 读取SD卡中的图片

    Touxiang=(ImageView)view.findViewById(R.id.Touxiang); //头像Bitmap bm = BitmapFactory.decodeFile(" ...

  10. 一款基于jQuery外观优雅带遮罩弹出层对话框

    今天我们要来分享一款基于jQuery的弹出层对话框插件,该插件包含多种对话框类型,比如提示框.确认框等.更为实用的是,这款jQuery对话框中的按钮事件也可以被我们所捕获,从而相应对话框按钮的各种事件 ...