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

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

了解Struts1.1介紹

2019-11-17 06:23:05
字體:
來源:轉載
供稿:網友

  MVC是Model,View,Controller的縮寫,MVC是application開發的設計模式,也就是大家所知道的Model2.在MVC的設計模式中,要求在Application開發中你把商業邏輯,界面顯示,數據分離。也就是分別在Model,View,Controller實現:數據,控制(商業邏輯),顯示(頁面顯示).
  
  在以前或者說傳統的Web Application開發方式當中,如asp,php,jsp(Model 1)開發當中,我們在Asp(Php,Jsp)中實現一切,如:從數據庫中取到我們需要的數據,并根據數據之間的關聯和實際的需要按照某種方式把他顯示在頁面中以及從頁面提交的表單中提取數據,根據商業邏輯從數據庫查詢相關數據,或者把數據寫入數據庫。也就是說我們在Asp(Php,Jsp)實現一切包括:界面顯示,商業邏輯,數據存取。這樣帶來的后果就是你所寫的Asp(Php,Jsp)沒有層次,并且Html和Script(javascript、JScript,Asp、Php、Jsp源代碼)相互嵌套.可維護性差,最要命的是在Web Application通常顯示一塊是由美工完成的,很多時候也是你先寫好Asp、Php、Jsp然后美工進行美化,很有可能你發現經過美工處理完以后你的代碼已經面目全非了。你不得不把你的代碼重新組織。
  在MVC模式中這個問題的解決辦法是:View中負責顯示,View一般從Controller得到已經處理/過的數據,然后顯示在頁面當中,應該說這樣在Html中嵌套很少的Script.基本上美工的修改不大會廢掉你的勞動成果。
  在使用Java開發Web Application有幾種符合MVC設計模式的開發方式讓你選擇。
  1:Jsp+Servlet+JavaBean(EJB)
  2:Jsp+JavaBean(Controller)+JavaBean(EJB)(Model)
  3:TDK(Turbine,Velocity...)
  4:Xsp
  5:Jsp+Struts+JavaBean(EJB)
  我個人認為后面兩種比較好,其他幾種都有可取的地方非凡是使用TDK因為有一個比較好的工具可以自動生成很多代碼,至于它的缺點在后面幾種開發方式的比較當中我會介紹。
  
  Struts1.1的新功能
  Struts1.1與1.0相比加了一些很不錯的功能。最主要是表單驗證上功能增強。在Struts1.1數據的驗證不象以前在Action中在validator具體實現,而是在validation.xml通過配置實現這樣做的好處就是重用性加強了很多。
  
  Struts1.1實現的主要組成
  主要包括:Action,ActionForm,ActionMapping,ActionForward,開發當中最主要寫的是Action,ActionForm根據需要可以寫或不寫。下面我就一一具體介紹。
  Action
  An Action is an adapter between the contents of an incoming HTTP request and the corresponding business logic that should be executed to PRocess this request.
  上面是Struts開發小組對Action的描述,說Action實際上Request和Business Logic中間的適配器.通俗的說就是從表單中取到數據并穿給商業邏輯操作進行一系列的操作,然后返回相應的操作信息。
  
  ActionForm
  An ActionForm is a JavaBean optionally associated with one or more ActionMappings. SUCh a bean will have had its properties initialized from the corresponding request parameters before the corresonding action's execute() method is called.
  ActionForm實際上就是把從Request取到的數據封裝并進行校驗,然后把合法的數據給Action進行處理。實際上ActionForm除了進行數據校驗之外另外更重要的是在表單回寫的時候作用很大。反而在1.1以后數據校驗的大部分工作在validation.xml去實現。
  
  ActionMapping,ActionForward
  ActionMapping主要是用與配置和描述相關屬性使用的。先看下在struts-config.xml
  中的配置文件一段配置描述:
  <action-mappings>
  <!-- Registration Action -->
  <action  path="/usereg"
  type="com.bingo.finance.action.UseregAction"
  name="useregForm"
  scope="request"
  validate="true"
  input="/usereg.jsp">
  <forward name="success"       path="/msg.jsp"/>
  </action>
  </action-mappings>
  ActionMapping就是用來描述一個Action的URL、具體實現的文件、相對應的ActionForm 數據屬性(request or session)、是否需要進行數據校驗和回寫、以及處理完成后可能跳轉的URL.
  而ActionForward你就可以理解為Action 操作完成后的跳轉URL,Action在處理完相關操作后,返回的是一個ActionForward也就是告訴Struts我做完這個操作下一步到哪兒去。
  
  構建Struts1.1運行環境
  我的配置是居于Tomcat4.0以上版本討論,其他的AppServer大致相同。
  
  1:得到Struts1.1
  http://jakarta.apache.org/builds/jakarta-struts/release/v1.1-b1/jakarta-struts-1.1-b1.zip
  
  2:設置
  把Struts.jar Copy到$Tomcat_home/common/lib 或你使用Struts的Appaction下的WEB-INF/lib下
  在你使用Struts的Appaction下web.xml中增加下列配置
  
  <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
  <param-name>config</param-name>
  <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
  <param-name>debug</param-name>
  <param-value>3</param-value>
  </init-param>
  <init-param>
  <param-name>detail</param-name>
  <param-value>3</param-value>
  </init-param>
  <load-on-startup>2</load-on-startup>
  </servlet>
  
  <taglib>
  <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  
  <taglib>
  <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  
  <!-- Nested Tag Library Descriptor -->
  <taglib>
  <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>
  
  <!-- Template Tag Library Descriptor -->
  <taglib>
  <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri>
  <taglib-location>/WEB-INF/struts-template.tld</taglib-location>
  </taglib>
  Struts1.1中提供了很具體的例子,你可以仔細看看.
  接下來你該根據需要配置struts-config.xml,以下是一個簡單的例子
  <?xml version="1.0" encoding="ISO-8859-1" ?>
  
  <!DOCTYPE struts-config PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
  "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
  
  <struts-config>
  
  <!-- ========== Form Bean Definitions =================================== -->
  <form-beans>
  
  <!-- Registration form bean -->
  <form-bean   name="useregForm"
  type="com.bingo.finance.action.UserForm"/>
  
  </form-beans>
  
  <!-- ========== Global Forward Definitions ============================== -->
  <global-forwards>
  <forward  name="error"       path="/error.jsp"/>
  </global-forwards>
  
  <!-- ========== Action Mapping Definitions ============================== -->
  <action-mappings>
  
  <!-- Registration Action -->
  <action  path="/usereg"
  type="com.bingo.finance.action.UseregAction"
  name="useregForm"
  scope="request"
  validate="true"
  input="/usereg.jsp">
  <forward name="success"       path="/msg.jsp"/>
  </action>
  </action-mappings>
  
  <!-- ========== Message Resources Definitions =========================== -->
  
  <message-resources
  parameter="com.bingo.finance.common.DisplayMsg"/>
  
  <!-- ========== Plug Ins Configuration ================================== -->
  
  <!-- Add multiple validator resource files by setting the pathname property -->
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
  <set-property property="pathname" value="/WEB-INF/validator-rules.xml"/>
  <set-property property="pathname" value="/WEB-INF/validation.xml"/>
  </plug-in>
  
  </struts-config>
  上面的英文我相信你能夠看懂。我就不做解釋了。你需要繼續配置validation.xml了,看如下
  簡單的例子.
  <form-validation>
  <formset>
  <form  name="useregForm">
  <field  property="username"
  depends="required,mask,minlength,maxlength">
  <arg0 key="common_username"/><

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品午夜| 日本精品在线视频| 欧美精品少妇videofree| 欧美激情一二区| 国产精品r级在线| 一区二区三区回区在观看免费视频| 国产精品欧美久久久| 欧美激情一二区| 国产精品久久久久aaaa九色| 亚洲天堂男人天堂女人天堂| 久久久日本电影| 国产欧美日韩精品丝袜高跟鞋| 国产精品久久一区| 亚洲最大激情中文字幕| 国产成人鲁鲁免费视频a| 亚洲日本aⅴ片在线观看香蕉| 欧美激情中文网| 亚洲欧美另类人妖| 国产精品自拍偷拍视频| 欧美日韩中国免费专区在线看| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产小视频国产精品| 色狠狠av一区二区三区香蕉蜜桃| 91在线视频成人| 亚洲国产天堂久久综合| 日本精品视频在线观看| 黄色精品一区二区| 懂色aⅴ精品一区二区三区蜜月| 免费91麻豆精品国产自产在线观看| 成人福利视频在线观看| 亚洲女人天堂成人av在线| 日韩欧美在线免费| 国产在线不卡精品| 日韩免费av一区二区| 中文字幕亚洲一区| 色偷偷888欧美精品久久久| 亚洲国内精品在线| 欧美日韩不卡合集视频| 欧美视频在线观看 亚洲欧| 欧美猛少妇色xxxxx| 日韩av网址在线观看| 国产91色在线免费| 丝袜一区二区三区| 最近2019年中文视频免费在线观看| 欧美日韩一区二区免费视频| 亚洲国产精品99| 亚洲精品视频网上网址在线观看| 欧美极品欧美精品欧美视频| 欧美视频中文字幕在线| 51色欧美片视频在线观看| 欧美在线视频网站| 日韩精品中文字幕在线播放| 久久精品视频在线播放| 成人免费视频网址| 69影院欧美专区视频| 欧美精品一区在线播放| 91超碰中文字幕久久精品| 国产精品成人观看视频国产奇米| 日韩电影中文字幕| 亚洲精美色品网站| 精品久久中文字幕久久av| 久久久久久久香蕉网| 成人激情在线观看| 国产一区视频在线| 日韩精品一区二区视频| 欧美高清视频免费观看| 全色精品综合影院| 国产欧美婷婷中文| 亚洲精品电影网| 国产香蕉精品视频一区二区三区| 国产精品极品美女在线观看免费| 国产精品69久久久久| 成人黄色大片在线免费观看| 97精品免费视频| 日韩av网址在线| 精品亚洲国产视频| 国产精品99久久久久久人| 日本久久久久久久| 国产欧美一区二区三区在线看| 日韩动漫免费观看电视剧高清| 国产成人综合一区二区三区| 国产精品欧美亚洲777777| 亚洲精品成人免费| 日韩av网址在线| 狠狠色狠狠色综合日日小说| www.亚洲男人天堂| 亚洲人成电影在线播放| 91亚洲人电影| 亚洲午夜未删减在线观看| 免费99精品国产自在在线| 九九热精品视频在线播放| 亚洲图片欧美日产| 91免费人成网站在线观看18| 日韩在线精品视频| 久久久女女女女999久久| 欧美极品少妇全裸体| 国产精品88a∨| 一本色道久久综合亚洲精品小说| 国产中文欧美精品| 精品久久久久久亚洲国产300| 日韩av片永久免费网站| 黄色91在线观看| 久久久之久亚州精品露出| 亚洲欧美激情四射在线日| 97精品一区二区视频在线观看| 亚洲欧美国产一区二区三区| 欧美视频在线看| 久久久成人精品视频| 成人激情春色网| 自拍偷拍亚洲区| 国内精品久久久| 国产成人精品久久久| 国产玖玖精品视频| 97香蕉久久夜色精品国产| 久久久亚洲影院你懂的| 日韩中文字幕欧美| 国产精品久久久久久久久久久久| 91高清视频免费| 日本亚洲欧美三级| 精品久久久精品| 国产一区二区欧美日韩| 成人在线国产精品| 国产精品91免费在线| 91免费看片网站| 成人网址在线观看| 久久亚洲精品中文字幕冲田杏梨| 亚洲白虎美女被爆操| 欧美影院在线播放| 中文字幕一精品亚洲无线一区| 欧美劲爆第一页| 中文国产亚洲喷潮| 欧美黄网免费在线观看| 欧洲精品毛片网站| 精品国产91乱高清在线观看| 亚洲一二三在线| 日韩三级成人av网| 91精品久久久久久久久青青| 亚洲视频专区在线| 国产精品678| 亚洲wwwav| 亚洲人成亚洲人成在线观看| 国产精品久久久久9999| 这里只有精品在线播放| www.亚洲免费视频| 欧美电影电视剧在线观看| 一区二区三区视频免费在线观看| 久久国产精品免费视频| 成人国内精品久久久久一区| 在线亚洲午夜片av大片| 欧美性xxxx极品hd满灌| 91影院在线免费观看视频| 亚洲欧美资源在线| 国产欧美精品一区二区三区介绍| 92版电视剧仙鹤神针在线观看| 中文精品99久久国产香蕉| 成人网页在线免费观看| 在线观看91久久久久久| 中日韩美女免费视频网址在线观看| 精品高清美女精品国产区| 久久中文久久字幕| 欧美日韩国产一区在线| 91精品国产免费久久久久久| 国产欧美中文字幕| 欧美激情视频网站|