Struts2学习
在项目中用过struts2,知道通过一个actionmapping去访问一个action,根据返回值去访问对应的jsp页面
仅仅会用这么一点点,所以现在想深入了解一下。
客户端浏览器的请求连接--------struts2提供的过滤器---------action-------result类型-----页面jsp
其中struts2提供的过滤器的功能有:
*处理cookies
*处理参数
*处理国际化
*表单重复提交
*文件上传下载
可是这样struts2的过滤器就会很大,很忙,不符合平时的编程思想,那怎么做?------分离关注
我们可以自定义多个过滤器,让自定义的过滤器只完成一个功能或一个需求,然后struts2提供的过滤器调用所有自定义的过滤器
这些自定义的过滤器叫 ----拦截器
过滤器与拦截器的区别:
相同点:
都是起拦截作用
不同点:
使用范围:
*过滤器:属于javaee范围,过滤器所有web工程都可以使用
*拦截器:属于struts2框架,使用拦截器必须在使用struts2框架的情况下才能使用
完成功能:
*过滤器:只完成拦截页面的请求资源
*拦截器:其他所有功能都交给拦截器来处理
执行顺序:
过滤器----》拦截器
我们为什么要在struts.xml里面有一个package包
<package name="context" namespace="/context" extends="struts-default">
name:包名,唯一的,必选项
namespace:命名空间,唯一的,相当于房间,可选项,省略情况下是”/”,页面请求链接的前半部分
extends:继承 不继承struts-default.xml文件就没办法使用struts的拦截器。
extends="struts-default"
struts2底层提供的核心包struts-core.jar中的struts-default.xml文件
为什么要继承这个文件
因为struts2底层提供的struts-default.xml声明了所有的拦截器和拦截器栈,不继承这个文件,我们使用struts2就没有意义了。

浙公网安备 33010602011771号