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就没有意义了。

posted @ 2015-05-20 10:14  专业修潜艇  阅读(100)  评论(0)    收藏  举报