Strutsconfig配置文件详解Word格式.docx
- 文档编号:18856185
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:24
- 大小:51.43KB
Strutsconfig配置文件详解Word格式.docx
《Strutsconfig配置文件详解Word格式.docx》由会员分享,可在线阅读,更多相关《Strutsconfig配置文件详解Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
配置文件的前提
为保证数据源配置方式能顺利运行,需将以下几个包复制到lib下:
commons-dbcp-1.3.jar
commons-dbcp-1.3-sources.jar
commons-dbcp-1.3-javadoc.jar
commons-pool-1.3.jar
struts-legacy.jar
commons-collections-3.2.jar
另:
jakarta-oro.jar使用Validator框架时用到
·
1。
org.apache.struts.config包
在Struts1.1中加入了org.apache.struts.config包。
在Struts应用启动时,会把Struts配置文件中的配置信息读入到内存中,并把他们存放在cofnig包中相关JavaBean类的实例中。
org.apache.struts.config包中的每一个类都和Struts配置文件中特定的配置元素对应。
在Struts框架完成了对配置文件的验证和解析后,就把配置文件中的信息存放在这些类的实例中。
这些类的实例可以充当配置信息的运行时容器,Struts组件可以方便地通过他们来获取配置信息。
org.apache.struts.config.ModuleConfig在Struts框架中扮演了十分重要的角色。
它是整个org.apache.struts.config包的核心,在Struts应用运行时用来存放整个Struts应用的配置信息。
如果有多个子应用,每个子应用都会有一个ModuleConfig对象。
ModuleConfig和Struts配置文件的根元素<
struts-config>
对应。
<
根元素中包含<
form-bean>
、<
action>
和<
forward>
等一系列子元素,因此ModuleConfig中包含了和每个子元素对应的配置类实例。
org.apache.struts.config.ConfigRuleSet类的功能不同于其他类,它包含了解析Struts配置文件所需要的一组规则。
在应用启动时,该类负责构造org.apache.struts.config包中其他用于保存配置信息的JavaBean类的实例。
下面分别介绍Struts配置文件中每个元素的用法。
2。
元素
struts-cofnig>
元素是Struts配置文件的根元素,和它对应的配置类为org.apache.struts.config.ModuleConfig类。
元素有8个子元素。
在Struts配置文件中,必须按照它的DTD指定的先后顺序来配置<
元素的各个子元素,如果颠倒了这些子元素在配置文件中的顺序,在Struts应用启动时就会生成XML解析错误。
3。
data-sources>
元素用来配置应用所需要的数据源。
数据源负责建立和特定数据库的连接,许多数据源采用连接池机制实现,以便提高数据库访问性能。
Java语言提供了javax.sql.DataSource接口,所有的数据源必须实现该接口。
许多应用服务器和Web容器提供了内在的数据源组件,很多数据库厂商也提供了数据源的实现。
元素包含零个,一个或多个<
data-source>
子元素。
元素用于配置特定的数据源,它可以包含多个<
set-property>
元素用于设置数据源的各种属性。
元素的type属性用来指定数据源的实现类。
开发者应该根据实际应用的需要来选用合适的数据源实现。
配置了数据源后,就可以在Action类中访问数据源。
在org.apache.struts.action.Action类中定义了getDataSource(HttpRequest)方法,它用于获取数据源对象的引用。
也可以在配置文件中声明多个数据源,此时需要为每一个数据源分配唯一的key值,通过该值来标识特定的数据源。
4。
form-beans>
元素用来配置多个ActionFormBean。
元素包含零个或多个<
每个<
元素又包含多个属性。
元素的属性
属性
描述
className
指定和<
元素对应的配置类,默认值为org.apache.struts.config.FormBeanConfig。
如果在这里设置自定义的类,该类必须扩展FormBeanConfig类
name
指定该ActionFormBean的唯一标识符,整个Struts框架用该标识符来引用这个bean。
该属性是必需的。
type
指定ActionForm类的完整类名(类的报名也包含在内),该属性是必需的
如果配置动态ActionFormBean,还必须配置<
元素的<
form-property>
元素用来指定表单字段,它有四个属性。
元素对应的配置类,默认值为org.apache.struts.config.FormPropertyConfig
initial
以字符串的形式设置表单字段的初始值。
如果没有设置该属性,则基本类型的表单字段的默认值为0,对象类型的表单字段的默认值为null
指定表单字段的名字。
该属性是必需的
指定表单字段的类型。
如果表单资源为Java类,必须给出完整的类名。
5。
global-exceptions>
元素用于配置异常处理。
元素可以包含零个或者多个<
exception>
元素。
元素用来设置Java异常和异常处理类org.apache.struts.action.ExceptionHandler之间的映射。
元素对应的配置类。
默认值为org.apache.struts.config.ExceptionConfig
handler
指定异常处理类。
默认值为org.apache.struts.action.ExceptionHandler
key
指定在ResourceBundle中描述该异常的消息key
path
指定当异常发生时的转发路径
scope
指定ActionMessages实例的存放范围,可选值包括request和session,此项的默认值为request
指定所需处理的异常类的名字。
此项是必需的
bundle
指定ResourceBundle
6。
global-forwards>
元素用来声明全局的转发关系。
元素由零个或者多个<
元素组成。
元素用于把一个逻辑名映射到特定的URL。
通过这种方式,Action类或者JSP文件无需要指定实际的URL,只要指定逻辑名就能实现请求转发或者重定向,这可是减弱控制组件和视图组件之间的耦合,并且有助于维护JSP文件。
元素对应的配置类,默认值为org.apache.struts.action.ActionForard
contextRelative
如果此项为true,表示当path属性以“/”开头时,给出的是相对于当前上下文的URL。
此项的默认值为false
转发路径的逻辑名。
指定转发或重定向的URL。
此项是必需的,必需以“/”开头。
当contextRelative属性为false时,表示URL路径相对于当前应用(application-relative);
当contextRelative属性为true时,表示URL路径相对于当前上下文(context-relative)
redirect
当此项为true时,表示执行重定向操作;
当此项为false时,表示执行请求转发操作。
此项默认值为false
7。
action-mappings>
元素包含零个或者多个<
元素描述了从特定的请求路径到相应的Action类的映射。
在<
元素中可以包含多个<
子元素,他们分别配置局部的异常处理及请求转发仅被当前的Action所访问。
元素中定义的<
子元素代表全局的异常配置。
子元素代表全局的请求转发。
在不同位置配置<
元素的语法和属性是一样的。
attribute
设置和Action关联的ActionFormBean在request或session范围内的属性key。
例如,假定FormBean存在于request范围内,并且此项为“myBean”,那么request.getAttribute(“MyBean”)就可以返回该Bean的实例。
此项为可选项。
元素对应的配置元素。
默认值为org.apache.struts.action.ActionMapping
forward
指定转发的URL路径
include
指定包含的URL路径
input
指定包含输入表单的URL路径。
当表单验证失败时,将把请求转发到该URL
指定和该Action关联的ActionFormBean的名字。
该名字必需在<
元素中定义过。
此项是可选项
指定访问Action的路径,它以“/”开头,没有扩展名
parameter
指定Action的配置参数。
在Action类的execute()方法中,可以调用ActionMapping对象的getParameter()方法来读取该配置参数
roles
指定允许调用该Action的安全角色。
多个角色之间以逗号隔开。
在处理请求时,RequestProcessor会根据该配置项来决定用户是否有调用Action的权限
指定ActionFormBean的存在范围,可选值为request和session。
默认值为session
指定Action类的完整类名
unknown
如果此项为true,表示可以处理用户发出的所有无效的ActionURL。
默认值为false
validate
指定是否要先调用ActionFormBean的validate()方法。
默认值为true
提示:
元素的forward、include和type属性相互排斥,也就是说只能设置其中的一项。
forward属性的作用和org.apache.struts.actions.ForwardAction类相同。
Include属性的作用和org.apache.struts.actions.IncludeAction类相同。
如果在<
元素中定义了局部的<
元素,它的优先级别高于全局的<
Action>
的forward属性和<
子元素是两个不同的概念。
Forward属性指定和path属性匹配的请求转发路径。
8。
controller>
元素用于配置ActionServlet。
bufferSize
指定上载文件的输入缓冲的大小。
该属性为可选项,默认值为4096。
默认值为org.apache.struts.config.ControllerConfig。
contentType
指定响应结果的内容类型和字符编码。
该属性为可选项,默认值为text/html。
如果在Action和JSP网页中也设置了内容类型和字符编码,将会覆盖该设置
locale
指定是否把Locale对象保存到当前用户的Session中。
processorClass
指定负责处理请求的Java类的完整类名。
默认值为org.apache.struts.action.RequestProcessor。
如果把此项设置为自定义的类,那么应该保持该类扩展了org.apache.struts.action.RequestProcessor类
tempDir
指定处理文件上传的临时目录。
如果此项没有设置,将采用Servlet容器为Web应用分配的临时工作目录
nochache
如果为true,在响应结果中将加入特定的头参数:
Pragma,Cache-Control和Expires,防止页面被存储在客户浏览器的缓存中。
如果应用包含多个子应用,可以在每个子应用的Struts配置文件中配置<
这样,尽管这些子应用共享同一个ActionServlet对象,但是它们可以使用不同的RequestProcessor类。
9。
message-resources>
元素用来配置ResourceBundle,ResourceBundle用于存放本地化消息文本。
默认值为org.apache.struts.config.MessageResourcesConfig
factory
指定消息资源的工厂类。
默认值为org.apache.struts.util.PropertyMessageResourcesFactory类
指定ResourceBundle存放在ServletContext对象中时采用的属性key。
默认值为由Globals.MESSAGES_KEY定义的字符串常量。
只允许有一个ResourceBundle采用默认的属性key
null
指定MessageResources类如何处理未知的消息key。
如果此项为true,将返回空字符串。
如果此项为false,将返回类似“?
?
global.label.missing?
”的字符串。
该属性为可选项,默认值为true
指定ResourceBundle的消息资源文件名。
许多Struts客户化标签都通过bundle属性来指定ResourceBundle,标签的bundle属性和<
元素的key属性匹配。
10。
plug-in>
元素用于配置Struts插件。
指定Struts插件类。
插件类必需实现org.apache.struts.action.PlugIn接口
11。
配置多应用模块
Struts1.1支持多应用模块,即同一个应用包含多个子应用,每个子应用可以处理相关的一组功能。
所有的子应用都共享同一个ActionServlet实例,但每个子应用都有单独的配置文件。
把应用划分成多个子应用模块包含一下步骤:
(1)
为每个子应用传见单独的Struts配置文件。
(2)
在web.xml的ActionServlet的配置代码中添加每个子应用信息。
(3)
采用<
元素或SwitchAction类来实现子应用之间的切换。
------------
Structs的基本配置
第一章Structs的基本配置
1.为Structs应用配置Web.xml文件
第一步:
配置ActionServlet
servlet>
servlet-name>
action<
/servlet-name>
servlet-class>
org.appache.structs.ActionServlet<
/servlet-class>
/servlet>
servlet-mapping>
uri-pattern>
*.do<
/url-pattern>
/servlet-mapping>
注意:
不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Structs框架只允许在应用中配置一个ActionServlet。
第二步:
初始化参数对Servlet的运行环境进行初始化配置。
org.appache.structs.ActionServlet
init-param>
param-name>
config<
/param-name>
param-value>
/WEB-INF/structs-config.xml<
/param-value>
/init-param>
表2-1.
Struts1.1中用到的初始化参数
参数名
含义/默认值
config
以相对路径的方式指明Struts应用程序的配置文件位置。
如不设置,则默认值为/WEB-INF/struts-config.xml。
config/sub1
以相对路径的方式指明子应用程序的配置文件位置,一般来说,很少用到子应用程序,在此不多描述。
debug
设置Servlet的debug级别,控制日志记录的详细程度。
默认为0,记录相对最少的日志信息。
detail
设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过该设置,可以查看不同详细等级的解析日志。
第三步:
配置欢迎清单
当客户访问Web应用时,如果仅仅给出Web应用的Root
URL,没用指定具体的文件名,Web容器会自动调用Web应用的欢迎文件。
welcome-file-list>
welcome-file>
welcome.jsp<
/welcome-file>
index.jsp<
/welcome-fiel-list>
说明:
可以包含多个<
子元素,首先查找第一个<
文件。
由于<
元素中不能配置Servlet映射,因此不能直接把Structs的Action作为欢迎文件,可以采用一种变通的方法来实现在欢迎文件中调用Structs
Action。
首先,在Structs配置文件中为被调用的Action创建一个全局的转发项,例如:
forward
name=”welcome”
path=”HelloWord.do”/>
/global-forwords>
创建一个welcome.jsp的文件
最后在web.xml文件中把welcome.jsp文件配置为欢迎文件,代码如下:
/welcome-file-list>
第四步:
配置错误处理
error-page>
error-code>
404<
/error-code>
location>
/commom/404.jsp<
/location>
/error-page>
error-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Strutsconfig 配置文件 详解
![提示](https://static.bdocx.com/images/bang_tan.gif)