文档库 最新最全的文档下载
当前位置:文档库 › Struts2知识点总结

Struts2知识点总结

Struts2知识点总结
Struts2知识点总结

Struts2基础知识

Struts2概述

1.Struts2框架应用javaee三层结构中的web层框架。

2.Struts2框架在struts1和webwork基础之上发展的全新框架。

3.Struts2所解决的问题:

在以往实现一个功能时,都需要写很多的servlet,从而造成后期维护上的不方便。

图解:

4.现在比较稳定的Struts2版本

struts-2.3.24-all.zip

5.web层常见框架

1.struts

2.springMVC

Struts2框架入门

1.导入jar包

1.在lib里面有jar包,但不能全部导入,因为里面含有一些spring

包,是不能使用的,导入会导致程序不能运行。

2.到app目录里面复制案例的jar包是最好的方法。

2.创建action

3.配置action类的访问路径

1.创建struts2核心配置文件,该核心配置文件位置和名称是固定的,

位置必须在src下面,名称为struts.xml 。

2.引入dtd约束,可以在案例文件中找到,复制在struts.xml文件中即

可。

3.action的配置

*注意访问路径:

http://域名/端口号/项目名/action名.action

注意:.action可以省略,但建议不要省略,为了兼容一些老版本的浏览器。

4.配置Struts2的过滤器,可以在案例中的web.xml文件中找到,复制粘贴

即可。

Struts2执行过程

图解:

Struts2配置

1.是一种常量标签

2.修改Struts2的默认常量值

1.常用方式

在struts.xml中进行配置。

2.其它两种方式

1.在src下面创建struts.properties文件并修改。

2.在web.xml文件中进行修改。

3.Struts2最常用的常量

struts.il8n.encoding=UTF-8,解决表单在通过post方式提交中文时,中文乱码的问题。

Struts2笔记(一)

可使用全局页面。

1、配置方法:

在package标签下配置

2、注意:该标签只能在一个package标签中使用,如果有多个标签,

需要重新定义。

3、局部结果页面:指的就是在action标签里配置

1、配置方法:

在action标签下配置

2、注意:如果既配置了全局,又配置了局部,会以局部为准,全局不起

作用。

4、type属性

1、使用ActionContext类。

1、主要使用的方法:

因为该方法是对象方法,所以需要一个ActionContext对象来调用,而创建ActionContext对象可以使用该类的一个静态方法来创建

2、使用ServletActionContext类。

1、主要使用的方法:

3、使用接口注入方法(一般不用)。

Struts2笔记(二)

可使用全局页面。

1、配置方法:

在package标签下配置

2、注意:该标签只能在一个package标签中使用,如果有多个标签,

需要重新定义。

3、局部结果页面:指的就是在action标签里配置

1、配置方法:

在action标签下配置

2、注意:如果既配置了全局,又配置了局部,会以局部为准,全局不起

作用。

4、type属性

1、使用ActionContext类。

1、主要使用的方法:

因为该方法是对象方法,所以需要一个ActionContext对象来调用,而创建ActionContext对象可以使用该类的一个静态方法来创建

1、主要使用的方法:

3、使用接口注入方法(一般不用)。

Struts2笔记(三)

1、在lib文件夹中加入Ognl的jar包。

2、在jsp页面中引入Struts2标签库。

3、使用标签,并给属性value设置值,比如求一个字符串

的长度案例。

3、获取值栈步骤:

1、获取ActionContext对象

2、调用ActionContext的静态方法getValueStack()

4、值栈的内部结构

1、第一部分 root,结构是list集合,底层继承自ArrayList集合。

2、第二部分 context,结构是Map集合,底层实现了Map接口。

Struts2笔记(四)

1、#号:使用#号获取context里面的数据。使用时格式是#context的key名称.域对象名称,如#request.req。

2、%号:可以在Struts2标签中使用OGNL表达式。

1、概述:拦截器就是Struts2框架中封装的功能的容器。在Struts2框架中有很多的功能,所有就有很多的拦截器,并不是每次都执行所有的拦截器,它只会执行一些默认的拦截器。

2、默认拦截器的位置

3、拦截器的执行时间

在action对象创建之后,action的方法执行之前。

4、拦截器的原理(两个原理)

1、AOP思想:即面向切面编程,当在基本的功能上扩展其它功能时,不

通过改源代码来实现扩展功能的方式。

2、责任链模式

1、概述:属于java设计模式中的一种,和过滤链原理相似。

2、过滤链:一个请求可以有多个过滤器进行过滤,只有每个过滤器

执行放行操作,该请求才能到下一个过滤器。

3、AOP原理和责任链模式如何应用到拦截器中

1、在action中并没有执行拦截器的方法,而是用配置文件实现的,

这种方法就是使用的AOP思想。

2、在执行拦截器的过程中,只有每个拦截器执行放行操作后,才能

进入到下一个拦截器,这种方法就是责任链模式。

1、拦截器的结构

继承类

在接口内的三个抽象方法

2、自定义拦截器方法

2、通过配置文件的方式让拦截器和action产生关系

1、在要拦截的action标签所在的package标签里声明拦截器

2、在具体的action标签里面使用声明的拦截器

3、Struts2里面执行很多默认的拦截器,但是如果在action里面配

置了自定义拦截器,默认的拦截器就不会执行了,所以要解决。即把默认的拦截器再配置一次

注意:这样配置拦截器,对action里面的所有方法都会进行拦截。

3、配置拦截器对某些方法不进行拦截

相关文档