Struts2的简单搭建
本节的目标
1.Struts.xml配置的package配置讲解
2.struts.xml的命名空间配置讲解
3.struts的包含设置include
4.struts的拦截器配置
Struts.xml配置的package配置讲解
Struts2框架的核心组件就是A,拦截器等,Struts2框架使用包来管理Action和拦截器等,每个包就是多个A,多个拦截器,多个拦截器引用的集合。
在struts.xml中,package元素用于定义包配置,每个package定义一个包配置,定义一个元素时可以指定如下一个属性:
name:必填,指定该包的名字,此名字是被其他包引用的key
extends:选填,指定该包继承其他包,可以继承其他包的Action定义,拦截器定义等
namespace:选填,属性定义该包的命名空间
abstract:选填,指定该包是一个抽象包,抽象包不能包含Action定义。
struts.xml的命名空间配置讲解
因为在一个Web应用中可能出现多个相同的Action,Struts2允许以命名空间的方式来命名Action,这样只要做到同一个命名空间不同的Action,不同的命名空间,同一个Action就可以了。
struts.xml配置文件:
那么我们在访问的时候就可以这样访问:
1.如果一个package没有指定namespace ,则会使用默认的“”代替,访问方式见下面,应用名+acion的名字
http://127.0.0.1:8080/applicationName/ActionName.action
2.如果指定了namespace ,访问方式见下面,应用名+命名空间名称+acion的名字
http://127.0.0.1:8080/applicationName/namespaceName/ActionName.action
struts的包含设置include
struts2允许将一个配置文件拆分成多个配置文件,从而提高配置文件的可读性,但是Struts2的配置文件只会加载/WEB-INF/classes下的配置文件,所以这时候,我们这时候我们需要在struts.xml中加载其他的struts配置项
struts的拦截器配置
面向切面编程思想(AOP),struts拦截器其实就是利用这个思想,拦截器允许在A处理之前或者在Acion处理结束之后,插入开发者自定义的配置信息。
我们使用拦截器可以通常操作:
1.进行权限控制(检查浏览者是否有足够的访问权限)
2.跟踪日志,记录请求的action
3.跟踪系统的新能瓶颈(记录action的开始与结束,看那个action时间耗时最长)
拦截器栈:
众多个拦截器的组合称为拦截器栈
书上详细讲解: