亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Struts由入門到精通(第三章)- struts簡單例子

系統 2062 0

3.8 簡單例子的分析(含代碼注釋和配置文件說明)

安裝 Struts
  安裝 Struts 很容易,而且它不需要復雜的配置。首先,從 http://jakarta.apache.org/site/binindex.html 下載 Struts 安裝文件。在編寫本文期間, 1.0 版是穩定版本,而 1.1 版是 bata 版。(在這一系列的項目中我用到 1.1-b2 版)

Struts 程序是用 Java 寫的,因此它要求使用 JDK1.2 或更高級的版本。它同時要求一個與解析 XML Java API JAXP )規范相兼容中的 XML 解析器。你需要將 XML 解析庫( jaxp.jar/parser.jar/ 其他文件)加入到你的 CLASSPATH 環境變量中去。而且,如果你在使用數據庫,你則需要從 http://java.sun.com/products/jdbc 中下載并安裝 JDBC 2.0 Optional Package Binary 。(如果你用的是 JDK1.4 ,那么 XML 解析器和 JDBC 2.0 Optional Package Binary 會自動包含在里面。)

  還有, Struts 要求使用一個支持 Servlet API 2.2 或更高版本的 servlet 容器。要找到已被確認的可以使用 Struts servlet 容器列表,請查閱 INSTALL 文件。

  最后,要使 Struts 運轉起來,你需要加入一個環境變量 JAVA_HOME ,使其指向 JDK 安裝根目錄,并將 .jar 文件復制到每個程序的 WEB-INF/lib 目錄下。

注冊程序
  這是一個簡單的注冊程序的例子,僅用到了 MVC 模式中的視圖和控制器。它要求用戶在查看公司機密賬號之前輸入用戶名和密碼。展示的第一個頁面是 Longin 頁面(見圖 1 )。如果注冊成功,用戶可以看到 Main Menu 頁面(見圖 2 ),其中包含兩個鏈接:一個是退出,另一個是查看公司機密賬號。如果注冊失敗,則用戶會被重新引導到注冊頁面。

Struts由入門到精通(第三章)- struts簡單例子的分析(含代碼注釋和配置文件說明)


1. 注冊


  如果用戶輸入正確的用戶名和密碼,程序會建立一個 session 對象,并會有一個叫做 loggedIn 的屬性被添加到這個 session 對象中去。只有當程序能夠在用戶的 session 對象中查找到這個 loggedIn 屬性時用戶才可以瀏覽 Main Menu 頁面和 Secret 頁面。所有缺少該屬性或無效的 session 對象都會迫使用戶登陸。(正確的用戶名是 “john” ,密碼是 “123” 。這些值是程序中固定寫死的以避免需要連接到數據庫里或使用其他存儲來完成用戶驗證。)

  當用戶退出時,他或她的 session 對象將會失效,同時 Longin 頁面會重新顯示。當用戶點擊鏈接要查看公司機密時,會彈出 Secret 頁面(見圖 3 )。
  有三種 JSP 頁面是以 MVC 模式中視圖的形式出現的: login.jsp ( 見圖 1), mainMenu.jsp ( 見圖 2), and viewSecret.jsp ( 見圖 3)

Struts由入門到精通(第三章)- struts簡單例子的分析(含代碼注釋和配置文件說明)


2. 主要事件


  由于所有 Struts 應用程序同時也是 Model 2 應用程序,所以它們必須具備一些用來充當 MVC 模式中控制器的東西(在該例子中是一個控制器 servlet )。在使用 Struts 時,你無需編寫自己的控制器 servlet 。程序已經幫你建好了,這也是用 Struts 來提高開發效率的方法之一。

  在 Struts 應用程序中控制器 servlet org.apache.struts.action.ActionServlet 類的一個實例。該類是包含在 struts.jar 文件中的諸多類的一個成員,所以你得在每個開發的程序中分發此文件。

Struts由入門到精通(第三章)- struts簡單例子的分析(含代碼注釋和配置文件說明)

?


3. 你發現了一個秘密


  這個控制器 servlet 將根據請求中的 URL 把請求發送給適合的視圖。依照慣例,這個 URI 是以 .do 結尾的。例如,指向 Secret 頁面請求的 URI 是: http://domain/appName/viewSecret.do ,而指向 Longin 頁面中的 URL http://domain/appName/login.do 。(當然,在 URI 后面也可以帶有其他信息)

  如果你編寫過 servlet 或者 JSP 應用程序,你可能猜想在部署描述符當中使用了 servlet 映射,以便將請求發送到 ActionServlet 實例中去。沒錯, Struts 是另一種版本的 servlet/JSP 程序。程序中的描述符顯示在列表 1 中。這些代碼說明了以下三點:

action servlet 配置部分, org.apache.struts.action.ActionServlet 類的實例被稱為 action

所有以 .do 結尾的 URL 均被映射到 action servlet 中。

Login.jsp 是一個 welcome file ,它是在 URL 不包含資源名稱時 ( 換言之,當 URL 屬于 http://domain/myApp form ) 被調用的默認文件。

  此外,列表 1 中的部署描述符沒有什么特殊的用法,它只是簡單地說明 Struts 應用程序和一般的 servlet 應用程序很相似。

  應用程序中對資源的請求被發送到 ActionServlet 中去,然后由它將控制權轉給其他對象,這些對象稱為 action objects 。我會在這個系列的第二部分中講解 action 對象和其他一些應用程序。

  現在你知道了如何安裝和配置 Struts ,而且你也弄懂了注冊程序項目規范和部署描述符,那么你可以點擊此處下載全部程序。

?

?

?

?

?

Struts由入門到精通(第三章)- struts簡單例子的分析(含代碼注釋和配置文件說明)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲综合国产一区二区三区 | 在线成人爽a毛片免费软件 在线成人天天鲁夜啪视频 在线成人亚洲 | 成人影院www在线观看 | 欧美乱子伦一区二区三区 | 亚洲好色网 | 99热久久这里只精品国产9 | 四虎黄色网 | 麻豆精品视频 在线视频 | 日韩激情中文字幕一区二区 | 久久 在线 | 国产大战女模特在线视频 | 大学生一级毛片 | 精品一区二区三区在线观看l | 色综合中文字幕 | 一本大道久久a久久综合 | 国产一级久久免费特黄 | 99精品国产在这里白浆 | 亚洲精品色综合久久 | 日韩美一区二区 | 尹人在线视频 | 精品国产夜色在线 | 免费一级淫片 | 欧美做爰xxxⅹ性欧 欧美做爰xxxⅹ在线视频hd | 亚洲精品一区二区三区美女 | 久久亚洲精品中文字幕第一区 | 国产亚洲精品线观看77 | 国产成人精品一区二区仙踪林 | 老司机午夜网站 | 日本精品久久久久中文字幕 | 久久国产精品99久久久久久老狼 | 亚洲欧洲一区二区三区久久 | 久久精品中文字幕一区 | 亚洲欧洲国产精品你懂的 | 日本 国产 欧美 | 9久热这里只有精品视频在线观看 | 亚州毛色毛片免费观看 | 久久 精品 | 777777农村一级毛片 | 精品日韩视频 | 欧美高清在线视频一区二区 | 亚洲欧美一区二区三区久久 |