2018.11.29 Struts2中拦截器的学习&项目的实际运用

struts2官方架构

2018.11.29 Struts2中拦截器的学习&项目的实际运用

拦截器的创建

第一种方式

2018.11.29 Struts2中拦截器的学习&项目的实际运用

第二种方式

2018.11.29 Struts2中拦截器的学习&项目的实际运用

看源码AbstractInterceptor 底层已经帮我们写过这些方法了

2018.11.29 Struts2中拦截器的学习&项目的实际运用

第三种方式(推荐)

2018.11.29 Struts2中拦截器的学习&项目的实际运用

拦截器API学习

放行

2018.11.29 Struts2中拦截器的学习&项目的实际运用

前后处理

2018.11.29 Struts2中拦截器的学习&项目的实际运用

不放行,直接跳转到一个结果页面

不执行后续的拦截器以及Action,直接交给Result处理结果.进行页面跳转
2018.11.29 Struts2中拦截器的学习&项目的实际运用

拦截器配置

三个步骤:(1)注册拦截器 (2)注册拦截器栈 (3)指定默认拦截器栈
2018.11.29 Struts2中拦截器的学习&项目的实际运用

觉得难懂的可以看源码(struts-default.xml),只要按照顺序来都是一样的
2018.11.29 Struts2中拦截器的学习&项目的实际运用

2018.11.29 Struts2中拦截器的学习&项目的实际运用

2018.11.29 Struts2中拦截器的学习&项目的实际运用


随便定义一个Action
2018.11.29 Struts2中拦截器的学习&项目的实际运用

特殊情况下的处理
2018.11.29 Struts2中拦截器的学习&项目的实际运用

测试

2018.11.29 Struts2中拦截器的学习&项目的实际运用

2018.11.29 Struts2中拦截器的学习&项目的实际运用

拦截器拦截方法的指定(定制方法)

查看struts2中是如何实现的
2018.11.29 Struts2中拦截器的学习&项目的实际运用

excludeMethod是不包含的方法的意思,在指定那些方法是拦截的那些是不拦截的。

找到validate的拦截器具体实现类
2018.11.29 Struts2中拦截器的学习&项目的实际运用

2018.11.29 Struts2中拦截器的学习&项目的实际运用

指定不包含拦截器的类就是在这里
2018.11.29 Struts2中拦截器的学习&项目的实际运用

继续往下看父类
2018.11.29 Struts2中拦截器的学习&项目的实际运用

之所以能直接指定参数是因为调用了get/set方法 (快速打开当前类中有哪些方法ctrl+o 黑苹果下是 win+o)
2018.11.29 Struts2中拦截器的学习&项目的实际运用


struts.xml主配置文件中配置
不拦截的方法
2018.11.29 Struts2中拦截器的学习&项目的实际运用

拦截的方法
2018.11.29 Struts2中拦截器的学习&项目的实际运用


给Action添加几个方法测试
2018.11.29 Struts2中拦截器的学习&项目的实际运用

2018.11.29 Struts2中拦截器的学习&项目的实际运用

地址栏输入 http://localhost:8080/Struts2Day04/demo1Action_find
2018.11.29 Struts2中拦截器的学习&项目的实际运用

测试拦截的方法 http://localhost:8080/Struts2Day04/demo1Action_update
2018.11.29 Struts2中拦截器的学习&项目的实际运用

2018.11.29 Struts2中拦截器的学习&项目的实际运用

第二种:修改
2018.11.29 Struts2中拦截器的学习&项目的实际运用

两种方式只能存在一种

http://localhost:8080/Struts2Day04/demo1Action_add
2018.11.29 Struts2中拦截器的学习&项目的实际运用

http://localhost:8080/Struts2Day04/demo1Action_delete
2018.11.29 Struts2中拦截器的学习&项目的实际运用


项目应用

登陆拦截器的实现步骤

1.编写一个登陆拦截器类

2018.11.29 Struts2中拦截器的学习&项目的实际运用

2.在配置文件中配置 拦截器

2018.11.29 Struts2中拦截器的学习&项目的实际运用

3.配置结果集变量不需要每一个Action都写一遍result节点

2018.11.29 Struts2中拦截器的学习&项目的实际运用

4.当点击页面的时候出现页面嵌套的情况,

2018.11.29 Struts2中拦截器的学习&项目的实际运用

5.解决办法

2018.11.29 Struts2中拦截器的学习&项目的实际运用

测试:成功解决

2018.11.29 Struts2中拦截器的学习&项目的实际运用

测试登陆

密码错误的情况
2018.11.29 Struts2中拦截器的学习&项目的实际运用

用户名不存在的情况
2018.11.29 Struts2中拦截器的学习&项目的实际运用

登陆成功,获取客户列表
2018.11.29 Struts2中拦截器的学习&项目的实际运用

上一篇:用PostGreSQL实现三层(复习)


下一篇:JavaBean+jsp开发模式 --结合form表单 实例