導航:首頁 > 萬維百科 > struts2網站設計層次導航

struts2網站設計層次導航

發布時間:2020-09-03 11:21:36

1、struts2 實現哪個層

struts2本身就是基於MVC模式開發的,所以它不單只實現C層。LZ說的action類的控制只是C層的應用,轉到了VIEW就實現了V層。至於M層,它是藉助於javaBean和EJB來實現的。
至於spring和hibernate,spring是對業務層的封裝處理,hibernate可以說是對數據的封裝處理,與資料庫打交道。
那麼SSH框架聯合使用:分別代表的層次:
模型層,用Hibernate框架讓來JavaBean在資料庫生成表及關聯,通過對JavaBean的操作來對資料庫進行操作;控制層,用Struts框架來連接數據層和視圖層的,接收、處理、發送數據並控制流程;視圖層,用JSP模板把頁面展現給用戶以及提供與用戶的交互。而Spring框架粘合了Hibernate和Struts,透明的管理了整個架構,提供IOC容器使代碼松耦合以及AOP框架的切面功能等等。

2、如何查看網站是否採用了struts2框架

看url裡面的連接,如果是XXX.action結尾或直接XXX?參數1=XXX,應該就是stuts2。當然後綴是可以自定義的,但是幾乎沒有人無聊的改後綴吧。

3、Struts2的Action在j2ee層次中屬於哪一層

不要被Action這個名字迷惑了。 如果你同時了解一下 struts2 和 spring mvc 的話。你就知道,實際上空能相似的模塊,一個叫 action(struts) ,一個叫 controller(spring mvc)。只是給它起名字不一樣而已。

4、Struts2 導航的下拉菜單數據在資料庫里 怎麼實現

LZ,您確定要在struts2中的action中連接資料庫。本人推薦用HIbernate連接資料庫。用jabc去連接資料庫Mysql的話可以用下面的代碼(){try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}Connectionconn=null;try{conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/user?useEncode=true&characterEncoding=utf-8","root","root");}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}returnconn;}僅供參考啊。

5、Struts2的Action在j2ee層次中屬於哪一層,該怎麼處理

不要被Action這個名字迷惑了。 如果你同時了解一下 struts2 和 spring mvc 的話。
你就知道,實際上空能相似的模塊,一個叫 action(struts) ,一個叫 controller(spring mvc)。
只是給它起名字不一樣而已。

6、在Struts2中,DAO屬於那一層?

我簡單回答一下。

明確DAO的概念,DAO是Data Access Object數據訪問介面,數據訪問:故名思義就是與資料庫打交道。夾在業務邏輯與資料庫資源中間。Struts是java在web開發中常用的框架之一。是利用了MVC設計模式。MVC即Model-View-Controller的縮寫,是一種常用的設計模式。MVC 減弱了業務邏輯介面和數據介面之間的耦合,以及讓視圖層更富於變化。那麼常用的框架還有比如:hibernat和spring。那麼在,SSH設計過程中,Struts只作為V部分來使用,只控制視圖部分。hibernate作為連接資料庫的框架,而在spring編寫M和C的部分,也就是模型和數據邏輯部分。
如果你做一個自己的項目練習不使用hibernate來連接資料庫而採用jdbc和DAO模式代替的話,那我認為你算它是M也可以,因為在jdbc中定義了資料庫屬性(就好像hibernate的對象關系映射一樣),你算它是C也行,因為DAO中寫了修改資料庫的方法,比如增刪改查方法。所以不必計較它是什麼部分,只要記住它能做什麼!
至於你說的公函的類,我不清楚是什麼東西。但是你記住V(視圖),是用戶用眼睛能看見的部分,M(模型)是事物本身的一些屬性抽象化定義出來,而C(控制)往往是方法,裡面的數值是需要變化的。比如用戶輸入個1,通過C返回一個「你好」,用戶輸入個2,通過C判斷返回一個「再見」。

希望對你有幫助

7、struts2哪些地方用到了設計模式

1. 整個結構就如同一個堆棧,除了Action以外,堆棧中的其他元素是Interceptor
2. Action位於堆棧的底部。由於堆棧"先進後出"的特性,如果我們試圖把Action拿出來執行,我們必須首先把位於Action上端的Interceptor拿出來執行。
3. 每個位於堆棧中的Interceptor,除了需要完成它自身的邏輯,還需要完成一個特殊的執行職責。這個執行職責有3種選擇:
1) 中止整個執行,直接返回一個字元串作為resultCode
2) 通過遞歸調用負責調用堆棧中下一個Interceptor的執行
3) 如果在堆棧內已經不存在任何的Interceptor,調用Action !

8、如何將多個頁面共用一個菜單欄,我用struts2做了一個公司網站。現在主頁面上有一個菜單欄

jsp的話用include
iframe不是很好用
當然你也可以用ajax來完成

9、Struts2是如何實現MVC設計模式的?

MVC = 模型、視圖、控制器
模型:這個一般不由Struts來做
視圖:視圖也不算struts的強項,但是struts提供優秀的標簽來支持視圖的展示,利用標簽,struts可以將數據合理的展示給用戶
控制器:struts的重要功能,提供struts的過濾器,攔截用戶的請求,查找struts配置文件,為其匹配一個對應的Action,這個Action負責調用模型,獲得數據,然後對數據做部分處理,接著Action再將處理後的數據,為其選擇一個視圖進行輸出

10、struts2 frame 框架中用action實現頁面跳轉和數據傳遞

將導航欄中的鏈接改成:
<a href="#" onclick="document.getElementById('form_id').action='ActionName';document.getElementById('form_id').submit();return false;">鏈接</a>
的形式,把form表單的target設置成為content:
<form id="form_id" action="#" target="content(內容顯示界面)">
...
這樣,當你點擊超級鏈接的時候,所有內容就都能提交過去了。

這是以FORM表單的形式。只是,現在你要傳的值,非要是用隱藏域么?不能用url?para=val的方式傳么?

不知道上面的說得夠不夠清楚,
:)
天天開心,有事回復,

與struts2網站設計層次導航相關的知識