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

首頁 > 編程 > JSP > 正文

Jsp之Struts入門簡介

2024-09-05 00:17:23
字體:
來源:轉載
供稿:網友

     Jsp之Struts從產生到現在還不到半年,但已逐步越來越多運用于商業軟件。雖然它現在還有不少缺點,但它是一種非常優秀的J2EE MVC實現方式,如果你的系統準備采用J2EE MVC架構,那么,不妨考慮一下Struts,下面本文對Jsp之Struts做一簡要介紹。

1.安裝Struts:
  首先到http://jakarta.apache.org/Struts下載Struts,建議使用release版,現在最高版本為1.2.6,有多種OS版本(windows,linus...),下載后解壓開來,可以看到這個目錄:lib和webapps,webapps下有一些WAR文件。假設你的Tomcat裝在c://Tomcat下,則將那些WAR文件拷貝到C://Tomcat//webapps,重新啟動Tomcat即可。打開瀏覽器,在地址欄中輸入:http://localhost:8080/Struts-examples/,若能見到“powered by Struts”的深藍色圖標,即說明成功了。這是Struts自帶的一個例子,附有詳細的說明文檔,可以做為初學者的入門教程。另外,Struts還提供了一系統實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息等
2.練習做一個實例: 
  一個用戶注冊系統,用戶通過網頁輸入相關信息:注冊ID號,密碼,EMAIL,若注冊成功,則返回成功提示信息,反之出現注冊失敗提示信息。 
  項目建立: 
   正式開發前,需要在Tocmat(我的tomcat裝在c://tomcat)中建立此項目。比較快的一種建立方式為:在C://tomcat//webapps下新建目錄test,再將C://tomcat//webapps//struts-example下的WEB-INF目錄拷貝到test目錄下,然后將test//WEB-INF下的src和classes目錄清空,以及struts-config.xml文件中內容清空即可。這樣,我們需要的Struts類包及相關的配置文件就都齊了。
  開發時,將JSP文件放在test目錄下,Java原文件放在test//WEB-INF//src下,編譯后的類文件放在test//WEB-INF//classes下。
   注冊頁面:reguser.jsp

  <%@ page contentType=/"text/html;charset=UTF-8/" language=/"java/" 
  %> 
  <%@ taglib uri=/"/WEB-INF/Struts-bean.tld/" prefix=/"bean/" 
  %> 
  <%@ taglib uri=/"/WEB-INF/Struts-html.tld/" prefix=/"html/" 
  %> 
  <html:html locale=/"true/"> 
  <head> 
  <title>RegUser</title> 
  <html:base/> 
  </head> 
  <body bgcolor=/"white/"> 
  <html:errors/> 
  <html:form action=/"/regUserAction/" focus=/"logname/"> 
  <table border=/"0/" width=/"100%/"> 
  <tr> 
  <th align=/"right/"> 
  Logname: 
  </th> 
  <td align=/"left/"> 
  <html:text property=/"logname/" size=/"20/" maxlength=/"20/"/> 
  </td> 
  </tr> 
  <tr> 
  <th align=/"right/"> 
  Password: 
  </th> 
  <td align=/"left/"> 
  <html:password property=/"password/" size=/"20/" maxlength=/"20/"/> 
  </td> 
  </tr> 
  <tr> [Page] 
      <th align=/"right/"> 
  E-mail: 
  </th> 
  <td align=/"left/"> 
  <html:password property=/"email/" size=/"30/" maxlength=/"50/"/> 
  </td> 
  </tr> 
  <tr> 
  <td align=/"right/"> 
  <html:submit property=/"submit/" value=/"Submit/"/> 
  </td> 
  <td align=/"left/"> 
  <html:reset/> 
  </td> 
  </tr> 
  </table> 
  </html:form> 
  </body> 
  </html:html> 
 

  此JSP頁面不同于普通的JSP頁,因為它大量運用了taglib,這些taglib對初學者而言,可能難于掌握,可這卻是Struts的精華之一。靈活運用,將大大提高開發效率。 
  Struts-config.xml:
  <Struts-config> 
  <form-beans> 
  <form-bean name=/"regUserForm/" 
  type=/"org.cjea.Struts.example. RegUserForm /"/> 
  </form-beans> 
  <action-mappings> 
  <action path=/"/regUserAction/" 
  type=/" org.cjea.Struts.example.RegUserAction /" 
  attribute=/" regUserForm /" 
  scope=/"request/" 
  validate=/"false/"> 
  <forward name=/"failure/" path=/"/ messageFailure.jsp/"/> 
  <forward name=/"success/" path=/"/ messageSuccess.jsp/"/> 
 


  Struts的核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,Struts-config.xml集中了所有頁面的導航定義。對于大型的WEB項目,通過此配置文件即可迅速把握其脈絡,這不管是對于前期的開發,還是后期的維護或升級都是大有裨益的。掌握Struts-config.xml是掌握Struts的關鍵所在。 
  FormBean:RegUserForm
  package org.cjea.Struts.example; 
  import javax.Servlet.http.HttpServletRequest; 
  import org.apache.Struts.action.ActionForm; 
  import org.apache.Struts.action.ActionMapping; 
      public final class RegUserForm extends ActionForm{ 
  private String logname; 
  private String password; 
      private String email; 
  public RegUserForm(){ 
  logname = null; 
  password = null; 
  email = null; 
  } 
  public String getLogName() { 
  return this.logname; 
  } 
  public void setLogName(String logname) { 
  this.logname = logname; 
  } 
  public void setPassWord(String password) {  
  this.password = password; 
  } 
  public String getPassWord() { 
  return this.password; 
  } 
  public void setEmail(String email) { 
  this.email = email; 
  } 
  public String getEmail() { 
  return this.email; 
  } 
   
  public void reset(ActionMapping mapping, HttpServletRequest request) 
  { 
  logname = null; 
  password = null; 
  email = null; 
  } 
  } 
 
  
  每一個FormBean 都必須繼承ActionForm類,FormBean是對頁面請求的封裝。即把HTTP request 封裝在一個對象中,需要說明的一點就是多個HTTP request可以共用一個FormBean,便于維護和重用。
  
  ActionBean:RegUserAction
  package org.cjea.Struts.example; 
  import javax.Servlet.http.*; 
  import org.apache.Struts.action.*; 
   
  public final class RegUserAction extends Action 
  { 
  public ActionForward perform(ActionMapping mapping, 
  ActionForm form, HttpServletRequest req, 
  HttpServletResponse res) 
  { 
  String title = req.getParameter(/"title/"); 
  String password = req.getParameter(/"password/"); 
  String email = req.getParameter(/"email/"); 
  /* 
  取得用戶請求,做相應數據庫操作,略 
  */ 
  } 
  } 
 
  
  FormBean的產生是為了提供數據給ActionBean,在ActionBean中可以取得FormBean中封裝的數據,經相應的邏輯處理后,調用業務方法完成相應業務要求。 
  Servlet的演變:在常規的 JSP,Servlet,JavaBean三層結構中,JSP實現View的功能,Servlet實現Controller的功能,JavaBean實現Model的實現。 
  在Struts中,將常規情況下的Servlet拆分與ActionServlet、FormBean、ActionBean三個部分。ActionServlet配合Struts-config.xml,專職完成頁面導航,而不再負責具體的數據獲取與相應邏輯,這兩部分功能由FormBean和ActionBean來完成。 
  3.Struts優缺點
  缺點: 
  Taglib是Struts的一大優勢,但對于初學者而言,卻需要一個持續學習的過程,甚至還會打亂你網頁編寫的習慣,但是,當你習慣了它時,你會覺得它真的很棒。 
  Struts將MVC的Controller一分為三,在獲得結構更加清晰的同時,也增加了系統的復雜度。
  優點: 
  Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優點。使開發者能更深入的了解其內部實現機制。 
  除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發效率。另外,就目前國內的JSP開發者而言,除了使用JSP自帶的常用標記外,很少開發自己的標記,或許Struts是一個很好的起點。 
  關于頁面導航,我認為那將是今后的一個發展方向,事實上,這樣做,使系統的脈絡更加清晰。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維護有著莫大的好處。尤其是當另一批開發者接手這個項目時,這種優勢體現得更加明顯。 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品www色诱视频| 国产成人jvid在线播放| 欧美国产亚洲精品久久久8v| 懂色av影视一区二区三区| 国产91精品视频在线观看| 成人精品视频久久久久| 欧美激情国产日韩精品一区18| 国产午夜一区二区| 国产精品尤物福利片在线观看| 日本视频久久久| 青草青草久热精品视频在线网站| www.欧美免费| 亚洲一级片在线看| 国产精品一区久久久| 国产成人综合av| 久久久久久久久久久久av| 国产精品精品久久久久久| 亚洲美女又黄又爽在线观看| 久久精品视频在线观看| 欧美成人精品在线播放| 91精品国产九九九久久久亚洲| 国产精品高潮呻吟久久av黑人| 欧美亚洲一区在线| 国产一区香蕉久久| 亚洲视频在线免费看| 亚洲在线免费视频| 韩国一区二区电影| 国产精品视频精品| 在线视频欧美日韩精品| 精品一区二区电影| 成人免费福利在线| 538国产精品一区二区在线| 亚洲性生活视频在线观看| 欧美一级黄色网| 亚洲国产精品久久精品怡红院| 大桥未久av一区二区三区| 国产日韩在线视频| 成人网在线观看| 国产精品视频色| 亚洲国产毛片完整版| 亚洲第一二三四五区| 一本色道久久88综合亚洲精品ⅰ| 国产亚洲视频中文字幕视频| 亚洲国产精品va在看黑人| 91精品久久久久久久久久入口| 久久国内精品一国内精品| 久久国产精品久久久久| 最近2019中文字幕大全第二页| 成年无码av片在线| 国产精品久久婷婷六月丁香| 国产精品久久精品| 国产成人在线一区二区| 欧美性猛交xxxx乱大交蜜桃| 自拍偷拍亚洲在线| 国产精品日日做人人爱| 97精品国产aⅴ7777| 精品国产31久久久久久| 欧美性猛交丰臀xxxxx网站| 日韩av色在线| 这里精品视频免费| 亚洲欧美国产精品va在线观看| 国产欧美日韩精品专区| 欧美日韩国产一区二区| 久久99久久99精品免观看粉嫩| 国产精品日本精品| 国产成人午夜视频网址| 久久国产精品影片| 欧美一区二区三区精品电影| 国产精品中文字幕在线观看| 欧美一区二区色| 欧美日韩午夜视频在线观看| 午夜精品一区二区三区视频免费看| 成人激情视频在线| 亚洲人成网站色ww在线| 欧美激情一区二区三区高清视频| 色综合伊人色综合网站| 久久精品这里热有精品| 亚洲小视频在线| 日韩精品久久久久| 国产一区二区三区视频在线观看| 欧美亚洲在线观看| 国产成人一区二区三区小说| 欧美最猛性xxxxx免费| 久久成年人免费电影| 国产视频久久久久| 91精品视频观看| 国外成人在线直播| 国产精品一区二区久久久久| 亚洲人高潮女人毛茸茸| 日韩成人中文字幕在线观看| 午夜精品三级视频福利| 成人女保姆的销魂服务| 久久婷婷国产麻豆91天堂| 国产欧美日韩丝袜精品一区| 亚洲国产三级网| 欧美日韩午夜激情| 国产欧美精品xxxx另类| 亚洲天堂日韩电影| 精品久久久久久久久久久久久久| 欧美极品在线视频| 国产精品av网站| 国产亚洲精品高潮| 国产精品亚洲аv天堂网| 人人爽久久涩噜噜噜网站| 欧美不卡视频一区发布| 性欧美长视频免费观看不卡| 国产亚洲成精品久久| 国产精品18久久久久久麻辣| 欧美午夜视频在线观看| 亚洲精品欧美日韩专区| 精品国产乱码久久久久久天美| 国产小视频国产精品| 欧美日韩国产中文字幕| 97在线视频免费| 亚洲精品国产精品国自产在线| 精品毛片网大全| 欧美亚洲成人网| 亚洲va欧美va国产综合剧情| 国产一区二区三区四区福利| 色偷偷av亚洲男人的天堂| 日韩欧美亚洲综合| 国产精品亚洲视频在线观看| 亚洲色图美腿丝袜| 免费av一区二区| 日韩中文字幕在线视频播放| 日本精品视频在线观看| 91精品久久久久久久久久久久久久| 亚洲男人天天操| 国模极品一区二区三区| 一本大道亚洲视频| 91精品国产91久久久久| 国产日本欧美在线观看| 欧美激情网友自拍| 欧美成人精品h版在线观看| 亚洲国产成人精品电影| 欧美视频专区一二在线观看| 日韩欧美aⅴ综合网站发布| 日韩欧美大尺度| 欧美大片大片在线播放| 91社影院在线观看| 日韩有码在线观看| 欧美高清无遮挡| 成人免费视频在线观看超级碰| 午夜精品美女自拍福到在线| 在线电影欧美日韩一区二区私密| 亚洲人成人99网站| 日本国产欧美一区二区三区| 国产精品久久久久久久久久免费| 国产精品吊钟奶在线| 久久色精品视频| 欧美午夜影院在线视频| 欧美精品在线视频观看| 亚洲女人天堂色在线7777| 国产精品自拍偷拍| 视频一区视频二区国产精品| 欧美亚洲午夜视频在线观看| 68精品国产免费久久久久久婷婷| 国产第一区电影| 成人网在线观看| 激情久久av一区av二区av三区| 亚洲第一色中文字幕| 国产91精品黑色丝袜高跟鞋| 亚洲一区二区三| 成人av在线网址|