2018.11.29 Struts2中拦截器的学习&项目的实际运用
struts2官方架构
拦截器的创建
第一种方式
第二种方式
看源码AbstractInterceptor 底层已经帮我们写过这些方法了
第三种方式(推荐)
拦截器API学习
放行
前后处理
不放行,直接跳转到一个结果页面
不执行后续的拦截器以及Action,直接交给Result处理结果.进行页面跳转
拦截器配置
三个步骤:(1)注册拦截器 (2)注册拦截器栈 (3)指定默认拦截器栈
觉得难懂的可以看源码(struts-default.xml),只要按照顺序来都是一样的
随便定义一个Action
特殊情况下的处理
测试
拦截器拦截方法的指定(定制方法)
查看struts2中是如何实现的
excludeMethod是不包含的方法的意思,在指定那些方法是拦截的那些是不拦截的。
找到validate的拦截器具体实现类
指定不包含拦截器的类就是在这里
继续往下看父类
之所以能直接指定参数是因为调用了get/set方法 (快速打开当前类中有哪些方法ctrl+o 黑苹果下是 win+o)
struts.xml主配置文件中配置
不拦截的方法
拦截的方法
给Action添加几个方法测试
地址栏输入 http://localhost:8080/Struts2Day04/demo1Action_find
测试拦截的方法 http://localhost:8080/Struts2Day04/demo1Action_update
第二种:修改
两种方式只能存在一种
http://localhost:8080/Struts2Day04/demo1Action_add
http://localhost:8080/Struts2Day04/demo1Action_delete
项目应用
登陆拦截器的实现步骤
1.编写一个登陆拦截器类
2.在配置文件中配置 拦截器
3.配置结果集变量不需要每一个Action都写一遍result节点
4.当点击页面的时候出现页面嵌套的情况,
5.解决办法
测试:成功解决
测试登陆
密码错误的情况
用户名不存在的情况
登陆成功,获取客户列表
2018.11.29 Struts2中拦截器的学习&项目的实际运用的更多相关文章
- 简单理解Struts2中拦截器与过滤器的区别及执行顺序
简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...
- struts2中拦截器与过滤器之间的区别
首先是一张经典的struts2原理图 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) ...
- 转: Struts2中拦截器与过滤器的区别及执行顺序
当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标准的过滤器链 c) FilterDispatecher会 ...
- Struts2中拦截器的使用与配置
一,拦截器是什么? 拦截器是在Action执行之前和之后执行的代码,是一个类似于过滤器的类: 二,拦截器的作用 拦截器拦截Action的请求,在Action之前或之后实现某项功能: 三,拦截器的特点 ...
- struts2中拦截器与过滤器的区别
1.拦截器是基于java反射机制的,而过滤器是基于函数回调的. 2.过滤器依赖与servlet容器,而拦截器不依赖与servlet容器. 3.拦截器只能对Action请求起作用,而过滤器则可以对几乎 ...
- 说说struts2中拦截器的请求流程一(模拟大致流程)
本文可作为北京尚学堂struts2课程的学习笔记. 首先 什么是拦截器?拦截器能干什么? 拦截器,顾名思义就是拦截对象然后做操作的东西,至于是拦截谁?那自然是拦截action了.能做什么操作呢?你想让 ...
- 2018.11.24 struts2中的OGNL表达式及两者的结合
OGNL表达式 OGNL:对象视图导航语言. ${user.addr.name} 这种写法就叫对象视图导航. OGNL不仅仅可以视图导航.支持比EL表达式更加丰富的功能. 理解图示 使用OGNL准备工 ...
- 2018.11.20 Struts2中对结果处理方式分析&struts2内置的方式底层源码剖析
介绍一下struts2内置帮我们封装好的处理结果方式也就是底层源码分析 这是我们的jar包里面找的位置目录 打开往下拉看到result-type节点 name那一列就是我们的type类型取值 上一篇博 ...
- Struts2 中拦截器和Action的调用关系(写的很好)
http://blog.csdn.net/hackerain/article/details/6991082
随机推荐
- webstorm预览时把浏览器地址localhost改成IP
可以通过 File --> Setting,搜索 deployment 点击 + 号 然后输入一个名称,选择:Local or mounted folder,点击 OK 接下来选择你的本地项目路 ...
- query纠错方法
1. 第一种,在norvig介绍的方法中,详细的阐述了argmaxc P(c|w)的转换和求解办法. 这个概率不好直接算,但可以根据贝叶斯定理等价于argmaxc P(w|c)*P(c) / P(w) ...
- centOS使用.htaccess
首先,你要保证你的Aapche已经开启了.htaccess 可以参考:http://www.veryhuo.com/a/view/21259.html 以下是.htaccess文件中的内容: Rewr ...
- pat03-树3. Tree Traversals Again (25)
03-树3. Tree Traversals Again (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue ...
- WPF中嵌入Skyline提供的COM组件填坑
网上有很多关于在WPF中使用的Skyline提供的COM组件的教程,但大都雷同一律,其中很多的细节均为涉及,本文意在在其原基础上进行一些细节的补充. 工具:Visual Studio 2017 1. ...
- Linux文本处理工具
Linux文本处理工具 Linux中熟练的使用文本处理工具非常的重要, 因为Linux在设计的时候是采用一切皆文件的哲学的, 甚至连计算机中的配置也都使用伪文件系统来表示, 要查询里面的内容就是对文件 ...
- 一、hadoop安装与配置
准备环境: 系统:centos6.5 64位 192.168.211.129 master 192.168.211.131 slave1 在两台服务器上都要配置ssh免密码登录 在192. ...
- javascript分页显示
//根据条件查找数据 list = Stdqj.FindAll() * , ); // 根据list查找的条件,查找list的总数(count) ViewBag.total = Stdqj.FindC ...
- node.js中的模板引擎jade、handlebars、ejs
使用node.js的Express脚手架生成项目默认是jade模板引擎,jade引擎实在是太难用了,这么难用还敢设为默认的模板引擎,过分了啊!用handlebars模板引擎写还说的过去,但笔者更愿意使 ...
- jeecg308 <t:authFilter />标签失效的问题
<%--该标签放到body末尾会无效,估计是js冲突,放到body前好用--%><t:authFilter /> <body></body>