Java知识点总结框架篇26-28

二十六、拦截器的理解

什么是拦截器:

拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用

正如上面 Struts2的Reference中讲述的,Struts2的Interceptor,其拦截的对象是Action代码,可以定义在Action代码之前或者之后执行拦截器的代码。

在项目中,我们经常用来拦截通过非正常程序而进行的访问

Struts2的拦截器和Servlet过滤器类似。在执行Action的execute方法之前,Struts2会首先执行在struts.xml中引用的拦截器,在执行完所有引用的拦截器的intercept方法后,会执行Action的execute方法。

其中intercept方法是拦截器的核心方法,所有安装的拦截器都会调用之个方法。在Struts2中已经在struts-default.xml中预定义了一些自带的拦截器,如timer、params等。如果在

标签中继承struts-default,则当前package就会自动拥有struts-default.xml中的所有配置。代码如下:

...

拦截器是Struts2框架的核心,它主要完成解析请求参数、将请求参数赋值给Action属性、执行数据校验、文件上传等工作

在struts-default.xml中有一个默认的引用,在默认情况下(也就是中未引用拦截器时)会自动引用一些拦截器。struts2中默认的拦截器是defaultStack.

自定义拦截器需要特别注意的是不要忘记引入struts2默认的拦截器。为了实现某些操作,我们可以自定义拦截器,

自定义拦截器有三种方式定义。分别为实现Interceptor接口,继承抽象类AbstractInterceptor,继承MethodFilterInteceptor类。

拦截器在项目中的运用:

同时可以减轻代码冗余,提高重用率。

如果要求用户密码、权限等的验证,就可以用自定义的拦截器进行密码验证和权限限制。对符合的登入者才跳转到正确页面。

二十七、Spring融入框架

我们通过在web.xml中配置ContextLoaderListener这个监听器也加载

spring的配置文件,从而融入到项目框架中。

二十八、项目的部署方式

1、如果项目单独部署到tomcat中的时候,应该看tomcat中的server.xml;

2、如果和eclipse结合使用进行项目部署的时候,应该看eclipse里面的server.xml.

你可能感兴趣的:(Java知识点总结框架篇26-28)