Eclipse搭建Struts框架,及一個簡單的Struts例子

今天我用Ecipse搭建Struts框架,並且使用Struts框架編寫一個最簡單的例子,相信讀者能夠很容易的明白。

Struts是當今Java比較流行的三大框架之一,三大框架是Struts,spring,hibernate。Struts框架也包括Struts1和Struts2,由於兩個版本相差比較大,Struts1已經被淘汰,現在企業基本上全部都用Struts2,所以我當然也是用Struts2。

好,下面我詳細的說明搭建過程

首先啟動Eclipse J2EE版本(官方最近發布的版本),創建一個web項目Struts2

引入我們下載的Struts2的目錄下的Jar包,

具體目錄如下

將這些Jar包導入到項目的lib目錄下

然後打開上層目錄的web.xml配置文件

將filter和filter-mapping兩個標籤對的內容copy到Struts2項目的web.xml

然後,想下圖(據圖根路徑看你Struts的位置)指定路徑的struts.xml考到項目的src目錄下

如圖

打開strut.xml,將<struts>標籤對中的全部內容刪除或者注釋,建議注釋

然後從注釋的部分copy一下內容到struts中

內容

<constant name="struts.devMode" value="false" /> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <action name="index"> <result type="redirectAction"> <param name="actionName">HelloWorld</param> <param name="namespace">/example</param> </result> </action> </package>

然後將第一句<constant name="struts.devMode" value="false" /> 改為<constant name="struts.devMode" value="true" />

這句話主要是說,當我們項目的action的改變時,可以立刻響應改變,不需要重啟伺服器

結果為

到此Strut2的配置已經完成,可以寫例子了

我這裡就寫一個最簡單的例子在網頁上 列印hello Struts2!

首先在項目的webContent目錄下創建一個JSP文件index.jsp

並更改代碼如下

然後將項目中的struts.xml的代碼更改為

這段代碼我等下再給大家介紹

ok,啟動伺服器,打開瀏覽器,輸入網址http://localhost/Struts2/hello

結果為

實驗成功!!!

說明:

大家看到了,現在我們訪問的地址是http://localhost/Struts2/hello,並不是直接訪問http://localhost/Struts2/index.jsp

我把流程畫一下

當客戶端訪問時,伺服器通過過濾器filter,然後根據action得到客戶端訪問的jsp頁面,然後將jsp頁面反饋給客戶端。

無形當中把jsp和客戶端分開,這樣做有什麼好處呢?直接訪問jsp不更加簡單嗎,幹麼弄得這麼複雜?

這根設計模式是一樣的,複雜的東西背後帶來的好處就是可拓展

大家不妨想想,如果是直接訪問jsp,如果我們需要更改jsp中的內容(這是經常需要更改的部分),我個人認為除了暫時停止服務以外,然後更改代碼,否則沒有什麼辦法!但是這是很要命的!

但是我們如果引入的action這個中間層,因為客戶端並沒有和jsp有什麼直接聯繫,所以只要action改變,即可立刻更換jsp,或者action不變,直接更換jsp文件,即可,不需要付出任何代價。

這就是struts的核心思想,與MVC思想非常類似。

好,我的發表到此結束。相信讀者能夠很輕易的體會這個思想。


推薦閱讀:

JSP中標籤的部署與調用
Struts1.x系列教程(3):屬性(資源)文件亂碼問題的解決之道
Struts標籤庫
Struts2 初探
基於 Struts 2 構建 WebSphere Portal 上的 Portlet 應用

TAG:簡單 | 框架 | Struts | Eclipse |