日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

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

系統 1999 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條評論
主站蜘蛛池模板: 辰溪县| 霍州市| 贞丰县| 博兴县| 梅河口市| 长沙县| 阜新| 博湖县| 微山县| 巍山| 格尔木市| 武穴市| 沛县| 泾阳县| 申扎县| 德兴市| 邛崃市| 横峰县| 吉首市| 西林县| 聂拉木县| 雅江县| 平山县| 商河县| 三穗县| 鄂托克前旗| 德钦县| 锦州市| 南宫市| 汾阳市| 伽师县| 和林格尔县| 华阴市| 六枝特区| 邻水| 商丘市| 黄骅市| 聂荣县| 乌拉特后旗| 宜兰市| 盐亭县|