1、为Structs应用配置Web.xml文件
第一步:配置ActionServlet
<servlet> <servlet-name>action</servlet-name> <servlet-class>org.appache. structs.ActionSer vlet</servlet-class></servlet><servlet-mapping> <servlet-name>action</servlet-name> <uri-pa ttern>*.do</url-pattern></servlet-mapping>
注意:不管应用中包含多少个子应用,都只需配置一个ActionServlet,因为ActionServlet支持多线程,目前的Structs框架只允许在应用中配置一个ActionServlet。
第二步:初始化参数对Servlet的运行环境进行初始化配置。
<servlet> <servlet-name> action</servlet-name> <servlet-class> org.appache. structs.Actio nServlet </servlet-class> <init-param><param-name>config</param-name><param-value>/W EB-INF/structs-config.xml</param-value></init-param> </servlet>
表2-1. Struts1.1中用到的初始化参数
参数名 含义/默认值
config 以相对路径的方式指明 Struts应用程序 的配置文件位置。 如不设置,则默认值为/WEB-INF /struts-config.xml。
config/sub1 以相对路径的方式指明子应用程序 的配置文件位置,一般来说, 很少用到子应用程序, 在此不多描述。
debug 设置Servlet的debug级别, 控制日志记录的详细程度。 默认为0, 记录相对最少的日志信息。
detail 设置Digester的debug级别, Digester是Struts框架所使用的 用来解析xml配置文件的一个框架, 通过该设置,可以查看不同详细 等级的解析日志。默认为0, 记录相对最少的日志信息。
第三步:配置欢迎清单
当客户访问Web应用时,如果仅仅给出Web应用的Root URL,没用指定具体的文件名,Web容器会自动调用Web应用的欢迎文件。
<welcome-file-list><welcome-file>welcome.jsp</welcome-file><welcome-file>index.jsp</welcom e-file> </welcome-fiel-list>
说明:
可以包含多个子元素,首先查找第一个文件。
由于元素中不能配置Servlet映射,因此不能直接把Structs的Action作为欢迎文件,可以采用一种变通的方法来实现在欢迎文件中调用Structs Action。
首先,在Structs配置文件中为被调用的Action创建一个全局的转发项,例如:
<global-forwards> <forward name=”welcome” path=”HelloWord.do”/></global-forwords>
创建一个welcome.jsp的文件,最后在web.xml文件中把welcome.jsp文件配置为欢迎文件,代码如下:
<welcome-file-list><welcome-file>welcome.jsp</welcome-file> </welcome-file-list>
第四步:配置错误处理
<error-page> <error-code>404</error-code> <location>/commom/404.jsp</location></erro r-page><error-page> <error-code>505</error-code> <location>/commom/505.jsp</locati on></error-page>
也可以为Web容器捕获的Java异常配置,需要设置子元素,它用于指定Java异常类。Web容器可能捕获如下异常:RuntimeException或Error ServletException或它的子类,IOException或它的子类:
<error-page> <exception-type>java.io.IOException </exception-type> <location>/common/sy stem_ioerror.jsp </location></error-page>
第五步:配置Structs标签库
使用客户化的标签库,要配置它们:
<taglib> <tag-uri>/WEB-INF/structs-html.tld <tag-uri> <taglib-location> /WEB-INF/str ucts-html.tld </taglib-location> </taglib>
用于指定标签库的相对或者绝对URI地址,Web应用根据这一URI来访问标签库。
指定标签描述文件在文件资源系统中的物理位置。
2、Structs配置文件
Structs框架在启动时会读入其配置文件,根据它来创建和配置各种Structs组件。
(1)元素
元素是Structs配置文件的根元素,元素有8个子元素。它的DTD定义如下:
<!ELEMENT structs-config(data-sources?,formbean?,global-exeception?,global-forward?,action-mapp ing,controller?,message-resources*,plug-in*)>
在Struts配置中,必须按照以上的DTD指定的先后顺序来配置元素的各个子元素,如果颠倒了这些元素的配置文件中的位置,在Structs应用启动时会生成错误。
元素
元素包含零个、一个或者多个子元素,用于配置特定的数据源,它可以包含多个子元素,用于设置数据源的各种属性。
配置了数据源后,就可以在Action类中访问数据源,在org.apache.structs.action.Action类中定义了getDataSource(HttpRequrst)方法,它用于获取数据源对象的引用。
DataSource dataSource; Connection connection; dataSource =getDataSource(request); conn ection=dataSource.getConnection();
也可以在配置文件中声明多个数据源,此时需要为每一个数据源分配唯一的key值,通过改值来标识特定的数据源。
(2)
元素
元素用来配置多个ActionForm Bean,
包含多个子元素,,每个包含多个属性,ClassName , name,type:
<form-beans> <form-bean name="HelloForm" type="hello.HelloForm"/></form-beans>
注意:配置动态ActionForm Bean,还必须配置
元素的
元素。