本系列文章在 https://github.com/freestylefly/javaStudy 持(huan)续(ying)更(jia)新(入)中,欢迎有兴趣的童鞋们关注。
一、写在前面的话
现在是19年的二月17号,一个很好的日子,可是心情却不是很好。我已经失恋4天,可是我并没有忘记这些回忆。
在一起的日子总是短暂的,没有人能命令别人做任何事,只有程序会按照你的想法走,这或许就是生活吧,希望各位均安好!
二、Struts2中的拦截器
1、什么是拦截器
2、Struts2的执行流程
客户端向服务器发送一个Action的请求,执行核心过滤器(doFilter)方法。在这个方法中,调用executeAction()方法,在这个方法内部调用dispatcher.serviceAction();在这个方法内部创建一个Action代理,最终执行的是Action代理中的execute(),在代理中执行的execute方法中调用ActionInvocation的invoke方法。在这个方法内部递归执行一组拦截器(完成部分功能),如果没有下一个拦截器,就会执行目标Action,根据Action的返回的结果进行页面跳转。
3、自定义拦截器
1 | /** |
4、拦截器的配置
1 | <package name="demo1" extends="struts-default" namespace="/"> |
5、权限拦截器
1 |
|
权限拦截器的配置
1 | <package name="crm" extends="struts-default" namespace="/"> |
三、Struts2的标签库
1、通用标签库
1 | <s:set var="i" value="5" scope="request"/> |
1 | <s:iterator var="i" value="{'aa','bb','cc'}"> |
2、UI标签库(常用作数据回显)
1 | <h1>UI标签</h1> |