Struts作為Java Web應用的框架,Struts大大的提高了Web應用開發的速度,它是一群經驗豐富的開發專家集體的智慧結晶,在全世界范圍內得到了廣泛的應用.要學習Struts首先就要了解Java Web應用.Java Web應用的核心技術是JSP和Servlet,此外開發一個完整的JavaWeb應用還要涉及JavaBean組件,EJB組件,自定義JSP標簽,XML,Web服務器.
Servlet在Web應用中是一個很重要的技術,Servlet運行在Servlet容器中可以被Servlet動態的加載,當用戶訪問某個Servlet的時候,Servlet容器會創建一個ServletRequest對象和ServletResponse對象,請求對象封裝了用戶的請求信息,然后容器把ServletRequest和ServletResponse對象傳遞給用戶所請求的Servlet,Servlet把響應結果寫到ServletResponse中,然后容器把響應結果傳遞給用戶.Servlet重要的東東是:
HttpServletRequest:Servlet容器把HTTP請求信息包存在這個對象中,Servlet組件從request對象中讀取用戶的請求數據.
1)HttpServletReponse:用于生成HTTP應答.
2)HttpSession:Servlet容器為每個HTTP會話創建了一個HttpSession對象,HttpSession可以存放session范圍的共享數據.
3)ServletContext:Servlet為每個Web創建了一個ServletContext,共享applcation范圍.
設置和共享對象的方法是setAttribute(String key,Object value)讀取對象的方法是getAttribute(String key);
JSP就是在HTML網頁中加入了JSP標簽和JAVA代碼.JAVA程序可以操縱數據庫,重新定向網頁及其發送E-mail.所有的程序都是在服務器執行,網絡上傳送給客戶端結果,JSP技術大大的降低了對客戶瀏覽器的要求,即使對象的瀏覽器不支持JAVA也可以訪問JSP網頁.當JSP接受到用戶的請求的時候,JSP容器對JSP文件進行語法分析,并生成Servlet源文件,然后對其編譯.一般的情況下Servlet源文件的生成和編譯是在初次調用JSP的時候發生,如果原始的JSP文件被更改,JSP容器講漸次所有的更新,在執行它之前重新生成Servlet并且進行編譯.
共享數據在Web應用中的范圍主要是4種范圍:
1) page:共享數據的有效范圍是用戶請求訪問的當前網頁.
2) request:共享數據的范圍是用戶請求訪問當前的Web組件,就是共享一次請求,如果生成了應答對象,共享結束.
3) session:在整個HTTP會話的生存周期,同一個HTTP會話種的Web組件共享它.session實際上就是存放在HttpSession對象種的數據.
4) application:共享數據就是ServletContext.invalidate()方法可以關閉一個會話.
JavaBean就是一個符合相應犯規的JAVA類罷了,不是很難理解,在JSP中調用Bean主要是通過標簽,id設置bean的使用引用,scope是設置bean的搜索范圍,class是bean的具體路徑.可以通過name表示Bean引用property具體的屬性,value具體設置的值來設置Bean.還可以通過name表示Bean應用property要返回的具體屬性,
客戶JSP標簽是在JSP1.1版本技術中出現的,它支持用戶在JSP中自定義客戶化標簽,這些可重用的標簽能夠處理復雜的邏輯,讓頁面變得更加整潔.Strtus主要包括了5種功能強大的標簽庫,包括Bean,Html,Logic,Nested,Tiles標簽庫.
EJB組件是基于標準分布式對象計算技術,CORBA和RMI的服務器JAVA組件,EJB組件類似JavaBean都是用于實現企業的業務邏輯的區別就是EJB是分布式的要求運行在EJB服務器,通常說是應用服務器.而JavaBean組件可以和Servlet或者JSP運行在Servlet/JSP容器中.EJB組件主要是來完成MVC的模型層.
XML語言是可擴展標記語言,是一種用來創建自定義標記的標記語言.XML在Web應用及其服務開發中得到了廣泛的應用,可用來描述結構化的數據.可以理解成一種配置的標簽,貌似簡單其實嗷嗷復雜.
Web服務器和應用服務器,任何一個Web應用都離不開Web服務器以及應用服務器.Web服務器用于處理HTTP請求,應用服務器可以提供和Web相關的服務,如EJB容器是一種處理業務邏輯和事務的應用服務器.
Web應用程序如此強大的原因之一是它們能彼此連接和聚合信息資源,組要有三種關系.1)請求轉發.2)URL重定向.3)包含.
請求轉發允許把請求轉發給同一個應用程序中的其他Web組件,這種技術通常用于Web應用控制層Servlet控制器.它檢查HTTP請求數據,并將請求轉發到合適的目標組件,目標組件執行具體的請求處理操作.并且生成響應結果.Servlet中使用RequestDispatcher對象forward()方法來轉發它所受到HTTP請求.轉發目標組件將處理結果生成應答.在JSP中可以通過標簽來進行轉發.
請求重定向類似轉發,但是也有一些重要的區別,Web組件可以將請求重定向到任何的URL,而不僅僅是同一應用中的URL.重定向的源組件和目標組件之間不共同一個Request對象,因此不能共享Request的資源.重定向是返回一個應答給客戶端,然后在重新一個請求發送給目標URL.所以地址欄會有顯示,而轉發是直接把這個請求轉發給領一個URL所以地址欄沒有顯示.
包含關系允許一個Web組件聚集來自同一個應用中其他的Web組件輸出數據,并使用被聚集的數據來創建響應結果.在Servetl中可以表用RequestDispatcher.include()方法包含其他的Web組件.可以寫成RequestDispatcher rd=request.getRequestSispatcher(值)來獲取一個包含對象,然后調用rd.include(request,response)包含.在JSP中使用標簽<%@ include file=”文件”>這樣來包含一個文件.
MVC是Model-View-Controller的簡稱即模型-視圖-控制器.MVC是一種設計模式,它強制性的把應用程序和輸入處理和輸出分開.1)模型:程序的主題部分,模型表示業務數據和業務邏輯.一個模型可以為多個視圖提供數據.2)視圖:是客戶看到并與其交互的界面.3)控制器:接受用戶輸入并調用模型和視圖去完成用戶的請求.當Web用戶單擊Web頁面中的提交按鈕來發送HTML表單的時候,控制器接受并調用相應的模型組件去處理請求,然后調用響應的視圖來顯示模型返回數據.
當建構師開始一個建構項目的時候,首先設計建筑框架.Struts就是一種很不錯的框架,它基于MVC模式.Struts實際上是在JSP Model2的基礎上實現的一個框架.在Struts框架中模型由顯示業務邏輯的JavaBean或者Ejb構成.控制器由ActionServlet和Action來實現.視圖由一組JSP文件構成.
今天是我的Blog第一天開張,我用自己的理解闡述了Struts和Web應用, 希望能對那些喜歡Struts和學習Struts的朋友有些幫助.如果大家覺得我寫的還可以,歡迎以后繼續光臨我的Blog,如果覺得我寫的不好也別丟石頭哦.^_^(網友們的支持,是我繼續寫技術文章的動力!)
posted on 2005-10-21 09:51
我心依舊 閱讀(1811)
評論(6) 編輯 收藏