struts2續

同樣,請參照《Struts 2完全學習手冊》


struts2中action喫掉了數據javaBean的定義,調用業務javaBean,應該是作爲新的Model存在;而action聯合註解或action.xml的result作爲Controller,控制頁面跳轉.


struts2中action被稱作業務控制器。


分清楚一個概念:服務器響應是顯示在html中的。瀏覽器顯示的也是html(可以用firefox打開*.jsp試試就明白了)。客戶端通過html的填寫url、form提交、點擊href等操作向servlet(如JSP的<%%>、servlet、action)發送請求,然後在本頁面接收響應(ajax,forward,都是在本頁面url中顯示),或響應結果是跳轉到新的頁面(如重定向,url改變)。


利用struts2框架,動手寫個小東西


--------------

使用時,複製到Web應用的WEB-INF/lib目錄下(會自動顯示在reference libraries)。

       

        還記得struts1嗎,它是配置在<servlet>中的,因爲struts的核心控制器是ActionServlet,參數是struts-config.xml,映射是任何.do爲後綴的文件。客戶端的action請求都會先發到ActionServlet這裏。當然,jsp請求還是發給對應的jsp_servlet(這個是tomcat的conf/web.xml配置的)。可以這麼說,客戶端的action請求和jsp請求,都是發給servlet(請求資源文件,如js,css呢?)。

        其實,tomcat在收到客戶端的請求時,是先經過一系列filter後,才發給servlet的;響應也是經過filter,才發給客戶端的。struts2就很聰明的將核心控制器作爲filter處理了,(filter是加強版servlet)。


Action的name屬性是不是這個Action的實例名呢?

ANS:不是!這樣想,每一個請求都會得到一個action實例,這個實例是action的代理,action的name與其代理無關,name只是用來定位aciton+method的。




總結

struts的核心功能不多,框架而已。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章