action和servlet的關系


版本一

其實就是一個玩意兒!
只不過action是那些MVC框架的控制層的叫法.
當然,這個回答是籠統了點,但是其實就那回事.
那些MVC框架用Servlet(struts1)或者Filter(struts2)來封裝了HttpServletRequest和HttpServletResponse對象,在自己的Action類中實現控制層.從對象本身來說,確實不是一個東西,但是從設計分層(架構)上看,這對於使用框架的開發者來說,這難道不是一樣的道理?就是控制層!
action是業務層?那要看你這個工程項目的規模了.要是小網站,那可以把service都寫在action里面.但從這個角度來說,是把service層合並到控制層去了.

版本二

struts的action 有一個servlet 的成員,而且struts的action 的方法 
execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 
會傳入一個HttpServletRequest的參數 
詳情參見struts的官方文檔:http://struts.apache.org/1.x/apidocs/index.html 

無論是在struts1還是在struts2 
action 本身只是一個普通的Java bean 

在struts2中,action 與servlet 就沒有關系了,除非你實現servletaware接口,這樣的話,struts2會給你注入一個servlet


說的應該是struts2中的action ,關系肯定是有的,action 運行在web容器中,不管是struts1還是struts2,action 跟容器的交互,實質上都是通過request 和response ,只不過,struts1把他們暴露出來了,而struts2則由框架來維護了,這是struts2的分層思想的一個體現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM