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,還必