Struts2常見面試點

01.  三層和MVC的區別html

http://blog.csdn.net/csh624366188/article/details/7183872java

http://www.cnblogs.com/zdxster/p/5305155.htmlmysql

http://www.cnblogs.com/rainbow70626/p/4967478.html程序員

三層是三層,MVC是MVC,它們毫無關係的。web

三層是從整個應用程序架構的角度來分的三層(若是程序須要,還能夠分多層)。sql

  三層是爲了解決整個應用程序中各個業務操做過程當中不一樣階段的代碼封裝的問題,爲了使程序員更加專一的處理某階段的業務邏輯。數據庫

  好比將數據庫操做代碼封裝到一層中,提供一些方法根據參數直接返回用戶須要的相應數據,這樣在處理具體的業務邏輯的時候,就不用關心數據的存儲問題了。session

MVC是在應用程序(BS結構)的視圖層劃分出來的不一樣功能的幾個模塊。架構

  MVC主要是爲了解決應用程序用戶界面的樣式替換問題,把展現數據的 HTML 頁面儘量的和業務代碼分離。MVC把純淨的界面展現邏輯(用戶界面)獨立到一些文件中(Views),把一些和用戶交互的程序邏輯(Controller)單獨放在一些文件中,在 Views 和 Controller 中傳遞數據使用一些專門封裝數據的實體對象,這些對象,統稱爲Models。mvc

  只因此說MVC和三層毫無關係,是由於它們兩者使用範圍不一樣:三層能夠應用於任何語言、任何技術的應用程序;而MVC只是爲了解決BS應用程序視圖層各部分的耦合關係。它們互不衝突,能夠同時存在,也可根據狀況使用其中一種。

 

02.struts2的核心控制器!

http://blog.sina.com.cn/s/blog_6ac4c6cb010190ml.html

http://www.cnblogs.com/wangjianbg/p/3555857.html

http://blog.chinaunix.net/uid-7374279-id-4344061.html

struts2是集成了struts1和xwork技術!

struts2的三種實現方式:

  001.自定義一個類,書寫一個execute(),返回值是String類型,便可!

  002.實現Action接口

    有五個默認值,和一個execute()

    SUCCESS=「success」

    ERROR=「error」

    INPUT="input"

    NONE="none"

    LOGIN="login"

  003.繼承ActionSupport類

struts-default.xml文件!

  定義了咱們須要的

  result-type (返回類型)

  interceptor (攔截器)

  interceptor-stack (攔截器棧)

  default-class-ref (默認執行的action類)

 

default.properties

  設置了 struts2的一些基本配置!

struts.xml文件,咱們書寫的!

 

03.struts2執行流程

 http://www.cnblogs.com/xtdxs/p/6489275.html

1 服務開啓,配置文件初始化

2 用戶訪問login請求

3 進入web.xml文件中咱們配置的核心控制器(filter)

4 核心過濾器中有一個FilterDispatcher,FilterDispatcher調用AcionMapping,來決定是否調用某個Action!

5 ActionMapping根據實際狀況,交給ActionProxy!

6 ActionProxy經過Configuration Manager調用框架的配置文件!

7 ActionProxy會建立一個ActionInvocation的實例!

8 先去執行配置的各類123456攔截器

9 執行LoginAction

10 執行654321攔截器!

 

04.攔截器和過濾器的區別

  相同點:

  不一樣點:

http://www.cnblogs.com/joyang/p/4973435.html

http://blog.csdn.net/vincent_yuan1991/article/details/52830648

http://blog.csdn.net/xiaoliuliu2050/article/details/51222446

 

 

05.參數的傳遞 OGNL ****************

動態方法的調用
通配符的使用

 

06.struts2默認後綴
struts.action.extension=action,,


07.全局結果

<action name="*_* mehotd={2}">
<result name="error">/error.jsp</result>

<exception-mapping result="error" exception="java.sql.SQLException"/>
</action>


08.高內聚低耦合!


09. xml驗證
國際化
轉換器 2014-01-01 struts2
2014/01/01 Spring mvc

10. 攔截器 和過濾器的區別

攔截器不能單獨執行! 必須依賴於 攔截器棧!~

攔截器棧


三層和 mvc

11.輕量級框架和 重量級的區別
ejb jpa

12. OGNL el

page
request
session
application
attr

valueStack
01.是一個接口,封裝Ognl!
它的實現類是OgnlValueStack
02. 它貫穿Action的生命週期!每個action都有本身的valueStack對象!
03.struts2把valueStack對象放在了struts.valueStack的request做用域中!

 


list<Object>

list<Map<String,Object>>

13. | & 位 0101010

相關文章
相關標籤/搜索