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中用到的初始化参数
第三步:配置欢迎清单
当客户访问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>
说明:
由于
首先,在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异常配置
<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>
2、Structs配置文件
Structs框架在启动时会读入其配置文件,根据它来创建和配置各种Structs组件。
(1)
<!ELEMENT structs-config(data-sources?,formbean?,global-exeception?,global-forward?,action-mapp ing,controller?,message-resources*,plug-in*)>
在Struts配置中,必须按照以上的DTD指定的先后顺序来配置
配置了数据源后,就可以在Action类中访问数据源,在org.apache.structs.action.Action类中定义了getDataSource(HttpRequrst)方法,它用于获取数据源对象的引用。
DataSource dataSource; Connection connection; dataSource =getDataSource(request); conn ection=dataSource.getConnection();
也可以在配置文件中声明多个数据源,此时需要为每一个数据源分配唯一的key值,通过改值来标识特定的数据源。
(2)
<form-beans> <form-bean name="HelloForm" type="hello.HelloForm"/></form-beans>
注意:配置动态ActionForm Bean,还必