歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

Struts配置文件詳細(xì)講解

  • 資源ID:28363757       資源大?。?span id="jpxkql3" class="font-tahoma">31.02KB        全文頁數(shù):3頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。

Struts配置文件詳細(xì)講解

Struts配置文件詳細(xì)講解Struts應(yīng)用采用兩個(gè)基于XML的配置文件來配置,分別是web.xml和struts-cofig.xml文件.web.xml文件是配置所有web應(yīng)用的而struts-config.xml文件是struts專用的配置文件,事實(shí)上也是可以根據(jù)需要給這個(gè)配置文件起其他名稱的. Web應(yīng)用的發(fā)布描述文件:web應(yīng)用發(fā)布描述文件可以在應(yīng)用開著者,發(fā)布者和組裝者之間傳遞配置信息,Web容器在啟動(dòng)的時(shí)候從該文件中讀取配置信息,根據(jù)它來裝載和配置web應(yīng)用.文檔類型定義DTD對(duì)XML文檔的格式做了定義,DTD吧XML文檔劃分為元素,屬性,實(shí)體每一種XML文檔都有獨(dú)自的DTD文件.可以從網(wǎng)上下載.<web-app>元素是web.xml的根元素,其他元素必須嵌入在<web-app>元素之內(nèi).要注意的是子元素也是有順序的比如必須是首先<servlet>,然后<servlet-mapping>最后<taglib>.為Struts應(yīng)用配置Web.xml文件:首先最重要的一步是配置ActionServlet,這個(gè)用<servlet>標(biāo)簽的servlet-name屬性起一個(gè)名字叫action,然后用servlet-class屬性指定ActionServlet的類.然后用<servlet-mapping>標(biāo)簽的servlet-name屬性指定action,在用url-pattern指定接收范圍是*.do的請(qǐng)求.不管應(yīng)用中包含了多少子應(yīng)用,都只需要配置一個(gè)ActionServlet,類來出來應(yīng)用中的不同的功能,其實(shí)者就是不必要的,因?yàn)镾ervlet本身就是多線程的,而且目前Struts只允許配置一個(gè)ActionServlet.聲明ActionServlet的初始化參數(shù):<servlet>的<init-param>子元素用來配置Servlet的初始化參數(shù).param-name設(shè)置config參數(shù)名.param-value設(shè)置struts-config.xml的路徑參數(shù)值.配置歡迎使用清單:如果客戶訪問Web的時(shí)候值是訪問了WEB應(yīng)用的根目錄URL.沒有具體的指定文件,Web會(huì)自動(dòng)調(diào)用Web的歡迎文件.<welcome-file-list>元素來配置的.通過其中的<welcome-file>歡迎頁面</welcome-file>來配置.配置錯(cuò)誤處理:盡管Struts框架功能強(qiáng)大的錯(cuò)誤處理機(jī)制,但是不能保證處理所有的錯(cuò)誤或者異常.當(dāng)錯(cuò)誤發(fā)生時(shí),如果框架不能處理這種錯(cuò)誤,把錯(cuò)誤拋棄給Web容器,在默認(rèn)的情況下web容器會(huì)想客戶端返回錯(cuò)誤信息.如果想避免讓客戶看到原始的錯(cuò)誤信息,可以在Web應(yīng)用發(fā)布描述文件中配置<error-page>元素.通過<error-code>404來定義錯(cuò)誤的類型.然后通過<location>要處理錯(cuò)誤的JSP頁面來對(duì)錯(cuò)誤進(jìn)行處理.還可以用<exception-type>來設(shè)置異常,然后通過<location>來處理異常的JSP頁面來處理異常.配置Struts標(biāo)簽庫:這個(gè)就和以前學(xué)到的JSP自定義標(biāo)簽類似,配置元素為<taglib>來配置.<taglib-uri>這個(gè)指定標(biāo)簽庫的uri,類似起一個(gè)名稱.<taglib-location>這個(gè)是標(biāo)簽庫的位置也就是實(shí)際所在的路徑.通過這樣的方法引入一個(gè)標(biāo)簽庫,然后在前臺(tái)JSP頁面就可以通過自己定義的URI來調(diào)用標(biāo)簽.Struts配置文件:struts-config.xml文件.首先研討一下org.apache.struts.config包,在struts應(yīng)用啟動(dòng)的時(shí)候會(huì)把Struts配置文件信息讀取到內(nèi)存中,并把它們存放在config包中相關(guān)的JavaBean類的實(shí)例中.包中的每一個(gè)類都和struts配置文件中特定的配置元素對(duì)應(yīng),ModuleConfig在Struts框架中扮演了十分重要的角色,它是整個(gè)config包的核心,在Struts運(yùn)行時(shí)來存放整個(gè)應(yīng)用的配置信息.如果有多個(gè)子應(yīng)用都會(huì)有一個(gè)ModuleConfig對(duì)象,它和Struts文件根元素的<struts-config>對(duì)應(yīng).根元素中包含<form-bean><action><forward>等元素.<struts-config>元素:時(shí)Struts配置文件的根元素,和它對(duì)應(yīng)的配置類ModuleConfig類,<struts-config>元素有8個(gè)子元素.他們的DTD定義是data-sources?form-bean? global-exception?global-forwards?action-mapping?controller?message-resources?plug-in*在Struts配置文件中,必須按照DTD指定的先手順序來配置<struts-config>元素的各個(gè)子元素,如果顛倒了這些子元素的順序,會(huì)產(chǎn)生錯(cuò)誤.<data-sources>元素:用來配置應(yīng)用所需要的數(shù)據(jù)源,數(shù)據(jù)源負(fù)責(zé)創(chuàng)建和特定的數(shù)據(jù)庫的連接.許多數(shù)據(jù)源采用連接池的機(jī)制實(shí)現(xiàn).以便提高數(shù)據(jù)庫訪問的性能.JAVA語言提供了javax.sql.DataSource接口,所有的數(shù)據(jù)源都必須實(shí)現(xiàn)這個(gè)接口.許多應(yīng)用服務(wù)器和Web服務(wù)器都提供了數(shù)據(jù)源組件.很多數(shù)據(jù)庫廠商也提供了數(shù)據(jù)源的實(shí)現(xiàn).<data-sources>元素包含多個(gè)<data-source>子元素永遠(yuǎn)配置特定的數(shù)據(jù)源.他們可以包含多個(gè)<set-property>子元素用于設(shè)置數(shù)據(jù)源的各種屬性.配置了數(shù)據(jù)源以后,就可以在Action類中訪問數(shù)據(jù)源,在Action中定義了getDataSource(HttpRequest)方法,用于獲取數(shù)據(jù)源對(duì)象的引用.然后可以利用DataSource對(duì)象調(diào)用getConnection獲取一個(gè)連接對(duì)象對(duì)數(shù)據(jù)庫進(jìn)行操作.在配置文件中聲明多個(gè)數(shù)據(jù)源的時(shí)候需要為每一個(gè)數(shù)據(jù)源分配唯一的Key值,通過這個(gè)來表示特定的數(shù)據(jù)源.獲取特定的數(shù)據(jù)源的時(shí)候可以用dataSource = getDataSource(reqeust,”A”);<form-beans>元素:用來配置多個(gè)ActionForm,包含一個(gè)或者N個(gè)<form-bean>子元素.每個(gè)<form-bean>元素都包含多個(gè)屬性.className指定和<form-bean>匹配的類.name指定該ActionForm的唯一標(biāo)識(shí)符,這個(gè)屬性是必須的以后作為引用使用.type指定ActionForm類的完整類名,這個(gè)屬性也是必須的.注意包名也要加上.<form-property>是指定動(dòng)態(tài)的Form的元素,以后會(huì)深入了解.<global-exception>元素:用于配置異常處理,元素可以包含一個(gè)或者多個(gè)<exception>元素,用來設(shè)置JAVA異常和異常處理類ExceptionHandler之間的映射.className指定和元素對(duì)應(yīng)的配置類,默認(rèn)的不用動(dòng).handler指定異常處理類默認(rèn)是ExceptionHandler.key指定在本地資源文件中異常的消息Key,path指定當(dāng)前異常發(fā)生的時(shí)候轉(zhuǎn)發(fā)的路徑.scope指定ActionMessages實(shí)例存放的范圍.type指定需要處理異常類的名字,必須的.bundle指定Resource Bundle.<global-forwards>元素:用來聲明全局轉(zhuǎn)發(fā),元素可以有一個(gè)或者N個(gè)<forward>元素組成,用于把一個(gè)邏輯名映射到特定的URL,通過這種方法Action類或者JSP頁面無需指定URL,只要指定邏輯名稱就可以實(shí)現(xiàn)請(qǐng)求轉(zhuǎn)發(fā)或者重定向.這樣可以減少控制組件和視圖的聚合.易于維護(hù).className對(duì)應(yīng)的配置類.contextRelative如果為true表示當(dāng)path屬性以/開頭的時(shí)候,給出的是對(duì)應(yīng)的上下文URL默認(rèn)是false.name轉(zhuǎn)發(fā)路徑的邏輯名,必須寫.path轉(zhuǎn)發(fā)或者重定向的URL,必須寫必須是以/開頭.redirect設(shè)置為true的時(shí)候表示執(zhí)行重定向操作,此項(xiàng)為false的時(shí)候,表示執(zhí)行請(qǐng)求轉(zhuǎn)發(fā)操作.重定向與請(qǐng)求轉(zhuǎn)發(fā)的區(qū)別以后就是重定向是把請(qǐng)求生成應(yīng)答給客戶端然后在重新發(fā)送給定向的URL,瀏覽器地址欄會(huì)有顯示.而轉(zhuǎn)發(fā)就是直接把請(qǐng)求轉(zhuǎn)發(fā)給本應(yīng)用的另一個(gè)文件,不生成應(yīng)答所以客戶端IE沒顯示.<action-mapping>元素:包含一個(gè)或者N個(gè)<action>元素,描述了從特定的請(qǐng)求路徑到響應(yīng)的Action的映射.在<action>元素中可以包含多個(gè)<exception>和<forward>子元素,他們分別配置局部異常處理和局部轉(zhuǎn)發(fā).attribute設(shè)置Action關(guān)聯(lián)的ActionForm在request或者session范圍內(nèi)的key.就是在request或者session共享內(nèi)的名稱.className對(duì)應(yīng)配置元素的類.默認(rèn)的是ActionMapping.forward指定轉(zhuǎn)發(fā)URL路徑include指定包含URL路徑.input指定包含表單的URL,當(dāng)表單驗(yàn)證失敗的時(shí)候發(fā)送的URL.name,指定和該Action關(guān)聯(lián)的Form名字.該名字必須是在form-bean中定義過的,可寫可不寫.path必須/開頭的方位Action的路徑.parameter指定Action配置參數(shù).在Action的execute()方法中可以調(diào)用ActionMapping的getParameter()方法來讀取匹配的參數(shù).roles指定允許調(diào)用該Action的安全角色,多個(gè)角色之間逗號(hào)格開.scope指定Form的存在范圍.默認(rèn)是session.tyep指定Action的完整類名.unknown如果是true表示可以處理用戶發(fā)出的所有的無效的ActionURL默認(rèn)是false.validate指定是否調(diào)用ActionForm的validate方法.<controller>元素:用于配置ActionServlet.buffreSize指定上載文件的輸入緩沖大小.該屬性為可選默認(rèn)4096.className指定元素對(duì)應(yīng)的配置類,ControllerConfig.然后是contentType指定響應(yīng)結(jié)果內(nèi)容類型和字符編碼,該屬性為可選,默認(rèn)是text/html如果在Action或者JSP網(wǎng)頁也設(shè)置了類型內(nèi)容,會(huì)覆蓋這個(gè).locale指定是否把Locale對(duì)象保存到當(dāng)前用戶的session中默認(rèn)false.tempDir指定處理文件上載的臨時(shí)工作目錄.nochache如果是true在響應(yīng)結(jié)果中加入特定的頭參數(shù).<message-resources>元素:用來配置Resource Bundle.用于存放本地文本消息文件.className元素對(duì)應(yīng)的配置類.MessageResourcesConfig.factory指定消息的工廠類.key指定文件存放的Servlet對(duì)象中采用的屬性Key.null指定如何處理未知消息.parameter指定消息的文件名.<plug-in>元素:用于配置Struts插件.配置多應(yīng)用模塊:所有的子應(yīng)用都可以共享同一個(gè)ActionServlet實(shí)例,但是每個(gè)子應(yīng)用都有單獨(dú)的配置文件.把應(yīng)用劃分為多個(gè)子應(yīng)用模塊.首先為每個(gè)應(yīng)用創(chuàng)建單獨(dú)的Struts配置文件,在web.xml的ActionServlet配置代碼中添加幾個(gè)子應(yīng)用信息.采用<forward>元素來實(shí)現(xiàn)應(yīng)用之間的切換.Digester組件:是一個(gè)Apache的另一個(gè)開源代碼項(xiàng)目.當(dāng)Struts被初始化的時(shí)候,首先會(huì)讀取并解析配置文件,框架采用Digester組件來且西配置文件.然后創(chuàng)建config包中的對(duì)象.者對(duì)象用于存放配置信息.其實(shí)配置文件不難,只要都理其中的原理就OK了.真正實(shí)際的項(xiàng)目開發(fā)中,采用的工具例如Eclipse系列,提供了相應(yīng)的插件,在創(chuàng)建一個(gè)Struts工程的時(shí)候配置文件的標(biāo)簽都是自動(dòng)生成的,而我們只需要往里面填寫屬性就OK了.

注意事項(xiàng)

本文(Struts配置文件詳細(xì)講解)為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!