亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

初學者入門:Structs中基本配置入門

2019-11-18 12:55:12
字體:
來源:轉載
供稿:網友

  1.為StrUCts應用配置Web.xml文件
  
  第一步:配置ActionServlet
  
  <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.appache.structs.ActionServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>action</servlet-name>
  <uri-pattern>*.do</url-pattern>
  </servlet-mapping>
  
  注重:不管應用中包含多少個子應用,都只需配置一個ActionServlet,因為ActionServlet支持多線程,目前的Structs框架只答應在應用中配置一個ActionServlet。
  
  第二步:初始化參數對Servlet的運行環境進行初始化配置。
  
  <servlet>
  <servlet-name> action</servlet-name>
  <servlet-class> org.appache.structs.ActionServlet </servlet-class>
  <init-param>
  <param-name>config</param-name>
  <param-value>/WEB-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</welcome-file>
  </welcome-fiel-list>
  
  說明:<welcome-file-list>可以包含多個<welcome-file>子元素,首先查找第一個<welcome-file>文件。
  
  由于<welcome-file-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>
  </error-page>
  <error-page>
  <error-code>505</error-code>
  <location>/commom/505.jsp</location>
  </error-page>
  
  也可以為Web容器捕捉的Java異常配置<error-page>,需要設置<exception-type>子元素,它用于指定java異常類。Web容器可能捕捉如下異常:
  
  RuntimeException或Error  ServletException或它的子類 IOException或它的子類
  
  <error-page>
  <exception-type>java.io.IOException</exception-type>
  <location>/common/system_ioerror.jsp</location>
  </error-page>
  
  第五步:配置Structs標簽庫
  
  使用客戶化的標簽庫,要配置它們
  
  <taglib>
  <tag-uri>/WEB-INF/structs-Html.tld<tag-uri>
  <taglib-location>/WEB-INF/structs-html.tld</taglib-location>
  </taglib>
  
  <tag-uri>用于指定標簽庫的相對或者絕對URI地址,Web應用根據這一URI來訪問標簽庫。
  
  <taglib-location>指定標簽描述文件在文件資源系統中的物理位置。
  
  2.Structs配置文件
  
  Structs框架在啟動時會讀入其配置文件,根據它來創建和配置各種Structs組件。
  
  1<Structs-config>元素
  
  <structs-config>元素是Structs配置文件的根元素,<structs-cofig>元素有8個子元素。它的DTD定義如下:
  
  <!ELEMENT structs-config(data-sources?,formbean?,global-exeception?,global-forward?,action-mapping,controller?,message-resources*,plug-in*)>
  
  在Struts配置中,必須按照以上的DTD指定的先后順序來配置<Structs-config>元素的各個子元素,假如顛倒了這些元素的配置文件中的位置,在Structs應用啟動時會生成錯誤。
  
  <data-sources>元素
  
  <data-sources>元素包含零個、一個或者多個<data-sources>子元素,<data-sources>用于配置特定的數據源,它可以包含多個<set-property>子元素,用于設置數據源的各種屬性。
  。。。
  
  配置了數據源后,就可以在Action類中訪問數據源,在org.apache.structs.action.Action類中定義了getDataSource(HttPRequrst)方法,它用于獲取數據源對象的引用。
  
  DataSource dataSource;
  Connection connection;
  dataSource =getDataSource(request);
  connection=dataSource.getConnection();
  
  也可以在配置文件中聲明多個數據源,此時需要為每一個數據源分配唯一的key值,通過改值來標識特定的數據源。
  
  2<form-beans>元素
  
  <form-beans>元素用來配置多個ActionForm Bean,<form-beans>包含多個<forom-bean>子元素,,每個<from-bean>包含多個屬性,ClassName , name,type
  
  <form-beans>
  <form-bean name="HelloForm" type="hello.HelloForm"/>
  </form-beans>
  
  注重:配置動態ActionForm Bean,還必須配置<form-bean>元素的<form-property>元素。
  
  <form-beans>
  <form-bean name="HelloForm" type="hello.HelloForm"/>
  <form-bean name="userForm" type="org.apache.structs.action.DynaAction">
  <from-property name="firstname" type="java.lang.String"/>
  <form-property name="secondname" type="java.lang.String">
  <form-property name="age" type="java.Integer" initial="18">
  </form-beans>
  
  3<global-exception>元素
  
  <global-exception>用于配置異常處理,<global-exception>元素可以包含零個或者多個<exception>元素。
  
  <exception>元素用來設置java異常和異常處理類org.apache.structs.action,Exception Hander之間的映射。
  
  4<gloable-forwards>元素
  
  <global-forwards>元素用來聲明全局的轉發關系,<global-forwards>有零個或多個<forward>元素組成。<forward>元素用于把一個邏輯映射到特定的URL
  
  屬性      描 述
  
  className  和<forward>元素對應的配置類,默認為org.apache.structs.action.ActionForWard
  
  name     轉發路徑的邏輯名,此項時必須的
  
  path     指定或者重定向的URI。此項時必須的,必須以”/”開頭
  
  redirect   此項是true,表示是執行重定向的操作,此項是false時,表示請求轉發。
  
  <global-forwards>
  <forward name="forward1" path="/Action1.do"/>
  <forward name="forward1" path="/Action2.do"/>
  </global-forwards>
  
  假如jsp1.jsp把請求轉發給Action1,可以使用以下代碼:
  
  <html:link forward=”forward1”>
  
  或者<logic:forward name=”forward1”>
  
  假如Action1的execute()方法把請求轉發給JSP2.jsp,可以使用一下代碼:
  
  return(mapping.findForward(“forward2”))
  
  5<action-mapping>元素
  
  <action-mapping>元素包含零個或者多個<action>元素。<action>元素描述了從特定的請求路徑到相應的Action類的映射。
  
  6<controller>元素
  
  <controller>元素用于配置ActionServlet。
  
  7< message-resources>元素
  
  <message-resources>元素用于配置Resource Bundle,Resource Budle用于存放本地化消息文件。
  
  Structs標簽
  
  HTML標簽
  
  標簽名        描述
  base         包裝HTML的base元素
  button        包裝HTML的 button類型的input元素
  cancel        包裝HTML cancel 按鈕
  checkbox       包裝HTML checkbox 類型的輸入域
  errors        有條件地顯示一些error消息,顯示ActionErrors信息
  file         包裝HTML文件上傳輸入域
  form         定義HTML form 元素
  frame        包裝HTML frame 元素
  hidden        包裝HTML hidden 輸入域
  html         包裝 HTML中的 html 元素
  image        包裝 "image"類型的輸入域
  img         包裝HTML的 img 元素
  javascript      包裝根據ValidatorPlugIn提供的校驗規則所提供的Javascript校驗腳本
  link         包裝超鏈接
  messages       有條件地顯示一些提示信息,顯示ActionMessages信息
  multibox       包裝多選輸入框
  option        包裝一個選擇輸入框
  options       包裝一批選擇輸入框
  optionsCollection  包裝一批選擇輸入框集
  passWord       包裝密文輸入框
  radio        包裝單選輸入框
  reset        包裝“重置”功能的按鈕
  rewrite       包裝一個URL
  select        包裝一個選擇輸入框
  submit        包裝一個提交按鈕
  text         包裝一個文本輸入框
  textarea       包裝一個備注輸入框
  
  ActionForm
  ActionForm 的要求
  
  創建一個ActionForm 并不困難,但是你的類必須符合一些要求:
  
  ActionForm 必須擴展自org.apache.struts.ActionForm?;怉ctionForm 是不能實例化的。
  
  ActionForm 必須為每個應該從請求中收集的HTML控件定義一個公共屬性。
  
  (Struts 1.0 要求每個屬性都要mutator 和accessor 。Struts 1.1 則沒有如此嚴格)
  
  ActionForm還可能要符合一些可選的要求:
  
  假如你要求ActionForm 在傳遞屬性到Action之前校驗它們,你就必須實現validate
  
  方法;
  
  假如想在組裝前初始化屬性,必須實現reset , 它在ActionForm 組裝前被調用;
  
  動態ActionForm
  
  ActionForm 作為類型轉換器
  
  ActionForm的一個強制點是應該使用String 和boolean屬性。實際上,這意味著屬性
  
  必須得從一種轉換到另一種類型。大部分應用也需要一些屬性,比如電話號碼或者數量,以
  
  一種格式化的方式出現。核心Java 包提供一些工具來做這種事情,但是要清楚地將他們集
  
  成到應用中仍然是一個挑戰。
  
  Struts 開發人員經常在ActionForm中包含helper方法,來進行類型轉換。helper 方法
  
  可以有很多種實現方式,這我們在5.6種敘述。
  
  5.2.6 ActionForm 作為防火墻
  
  當請求提交時,ActionServlet 使用一個自動組裝機制來從請求參數中設置請求的
  
  ActionForm屬性。這讓你可以通過控制哪個ActionForm 屬性被暴露來控制哪個請求參數
  
  是可接受的。這也意味著假如你的ActionForm 的粗心設計你可能失去控制哪個參數可以接
  
  受的能力。ActionForm 一定不能包含看起來像是一個JavaBean 屬性,但不能從HTTP 請
  
  求設置的屬性方法。
  
  5.3.4 ActionForm 可以嵌套其它bean
  
  因為Struts 標簽擴展和自動組裝機制都支持點號語法來從ActionForm訪問其它
  
  bean。這是一個方便的方式,可以通過ActionForm來組裝存在的bean。在JSP 頁面, 你可
  
  以象這樣引用一個嵌套的bean:
  
  <html:text
  propety="values.telephoneText"
  size="14"
  maxlength="14"/>
  
  5.7.2 分發(Dispatch )
  
  Struts 開發人員通常使用同一個Action處理相關的操作。一個通常做法來選擇操作是在HTML表單中使用隱藏屬性。BaseForm 的dispatch 屬性也可用作這個目的:
  public void setDispatch(String dispatch);
  public String getDispatch();
  
  Struts 配置提供連個級別嵌套的ActionForward:
  
  Global (全局) ActionForward對整個應用中的所有Action 對象均有效;
  
  Local (局部) ActionForward 則在ActionMapping 元素中定義。僅對那些在這個
  
  ActionMapping中調用的Action對象有效。
  
  從Action 對象內部來看,forward 通常像這樣來選擇:
  ActionForward forward = mapping.findForward("continue");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美人与性动交| 亚洲精品91美女久久久久久久| 久久97久久97精品免视看| 欧美伦理91i| 欧美体内谢she精2性欧美| 欧美做爰性生交视频| 欧美激情综合色综合啪啪五月| 国产成人一区二区在线| 亚洲一区二区三区四区在线播放| 亚洲精品美女网站| 亚洲欧美国产视频| 久久久久久久av| 亚洲电影成人av99爱色| 精品国产区一区二区三区在线观看| 97在线视频免费播放| 欧美丰满少妇xxxxx做受| 国产精品夜色7777狼人| 日韩av影片在线观看| 欧美理论在线观看| 亚洲午夜av电影| 国产精品久久久久久婷婷天堂| 亚洲国产精品成人av| 中文.日本.精品| 久久高清视频免费| 91av福利视频| 久久精品视频导航| 色综合久久天天综线观看| 中文字幕欧美日韩va免费视频| 国产精品国产自产拍高清av水多| 亚洲人成网站色ww在线| 久久综合免费视频| 欧美日韩在线另类| 日韩一区二区福利| 成人av在线天堂| 一区二区三区黄色| 亚洲最新中文字幕| 欧美性感美女h网站在线观看免费| 久久成年人视频| 国产精品色婷婷视频| 68精品国产免费久久久久久婷婷| 97色在线视频观看| 亚州精品天堂中文字幕| 成人黄色av网| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产精品中文| 精品中文字幕在线观看| 国产欧美精品va在线观看| 黄色91在线观看| 92看片淫黄大片欧美看国产片| 中文字幕日韩av综合精品| 久久久久久亚洲精品不卡| 亚洲天堂男人的天堂| 成人黄色免费在线观看| 国产精品r级在线| 亚洲欧洲xxxx| 亚洲毛片在线看| 91欧美视频网站| 91亚洲va在线va天堂va国| 中文字幕不卡在线视频极品| 亚洲成人a级网| 国产日韩欧美视频在线| 亚洲精品永久免费精品| 亚洲国产精品系列| 色综合天天狠天天透天天伊人| 亚洲精品视频在线观看视频| 亚洲在线一区二区| 久久手机免费视频| 一道本无吗dⅴd在线播放一区| 在线观看日韩av| 国产成人综合av| 欧美激情精品久久久久久| 欧美富婆性猛交| 精品一区二区三区四区在线| 欧美激情第三页| 久久人人爽人人爽人人片亚洲| 亚洲欧美日韩一区二区三区在线| 国产一区二区香蕉| 亚洲最大福利视频| 一本色道久久88综合亚洲精品ⅰ| 欧美一区二区大胆人体摄影专业网站| 日韩精品www| 最近2019年手机中文字幕| 欧美午夜激情在线| 狠狠躁夜夜躁久久躁别揉| 久久精品这里热有精品| 91成人性视频| 亚洲欧美激情在线视频| 久久久久国色av免费观看性色| 91久久中文字幕| 久久国产精品电影| 丝袜亚洲另类欧美重口| 久久久久久久久久久久久久久久久久av| 日韩成人激情视频| 亚洲va男人天堂| 欧美xxxx做受欧美| 日韩成人在线免费观看| 久久影视电视剧免费网站| 欧美午夜片欧美片在线观看| 最近2019中文字幕第三页视频| 亚洲人成人99网站| 欧美成人免费va影院高清| 国产精品一区二区在线| 最近2019年手机中文字幕| 91爱爱小视频k| 久久久精品国产网站| 日韩欧美在线网址| 日韩电影免费观看中文字幕| 欧美精品在线极品| 国产香蕉精品视频一区二区三区| 国产美女久久精品香蕉69| 国产区精品视频| 亚洲精品久久在线| 亚洲综合色av| 成人免费观看49www在线观看| 日韩欧美中文在线| 欧美成人久久久| 国产精品久久久久久影视| 欧美精品在线视频观看| 97久久精品视频| 在线观看成人黄色| 中文字幕欧美精品日韩中文字幕| 欧美伦理91i| 国产精品极品美女粉嫩高清在线| 成人午夜一级二级三级| 亚洲人成网站免费播放| 国产美女精品视频| 欧美日韩国产专区| 91久久精品一区| 欧美成aaa人片免费看| 久久精品2019中文字幕| 亚洲人成在线一二| 国产91对白在线播放| 亚洲美女精品久久| 国产精品视频成人| 日韩电影中文字幕一区| 欧美性xxxx极品hd欧美风情| 91精品久久久久久久久| 久久在线精品视频| 青青久久av北条麻妃黑人| 精品动漫一区二区三区| 欧美中文字幕精品| 精品亚洲男同gayvideo网站| 国产精品av免费在线观看| 国产精品香蕉在线观看| 97香蕉超级碰碰久久免费软件| 久久久亚洲国产| 日韩成人在线视频| 亚洲大胆人体在线| 亚洲色图国产精品| 国产亚洲精品美女久久久久| 国产精品观看在线亚洲人成网| 91精品在线观看视频| 日韩精品免费视频| 亚洲欧美国产精品久久久久久久| 26uuu国产精品视频| 国产精品久久久久久久久久三级| 国产在线视频2019最新视频| 欧美裸体视频网站| 91牛牛免费视频| 国产精品专区第二| 午夜精品蜜臀一区二区三区免费| 成人淫片在线看| 久久夜色精品国产欧美乱| 成人动漫网站在线观看|