A. 請問,01為何訪問jsp需要web伺服器 (或者說tomcat之類的容器,Tomcat是一個容器
呃,這個問題是這樣的。你沒有指定「訪問」動作的主語。其實問題是01為何瀏覽器訪問jsp需要web伺服器?02瀏覽器訪問靜態HTML頁面不需要伺服器,位元組通過文件路徑即可?如果稍微有點http協議或者計算機網路相關方面的知識的話,就不會有這么讓人笑掉大牙的疑問了,不過no mb question(建議你看看headfirst servlet & jsp這本書)。
答案是這樣的:http協議規定,瀏覽器是需要聯網去訪問,然後以「數據流」地形式把資源(如靜態html頁面)「download」到本地,這一過程稱為請求—響應過程;然後瀏覽器再讀取本地的html文件代碼,以html格式標准去解析資源並通過gui顯示出來。所以不光是jsp任何資源包括html文件,img文件,js文件等等,都是這樣一個過程。至於你在電腦上點擊html文件,這算是瀏覽器自身的拓展過程,它把文件地打開過程模擬成http請求,其實瀏覽器可以打開任何文本文件,包括jsp--jsp源文件本身就是一個文本文件,只是瀏覽器會按照html格式標准去解析,所以02問題不應該用訪問,頂多算是打開。至於01,tomcat是一個servlet容器,按不嚴格地說法,可以認為是web伺服器軟體的一種,jsp經過Tomcat解析(注意不是客戶機上的瀏覽器去解析)編譯後,運行在tomcat上。
簡而言之是:瀏覽器訪問任何資源都需要伺服器程序,瀏覽器負責執行請求(request),伺服器程序負責執行響應(response);瀏覽器可以打開html文件、jsp文件,但這個過程不叫訪問。
B. web伺服器怎樣處理jsp
具體是這樣的:
JSP頁面會在第一次被請求的時候,被webcontainer翻譯成servlet,編譯成位元組碼,最後處理成html傳回客戶端(瀏覽器端),瀏覽器進而對此html進行render,這就是客戶就可看到東西。
JSP如果修改了,之後對此JSP的訪問還會被webcontainer進行翻譯及編譯的工作,但是如果JSP沒有修改,將不會被webcontainer重新翻譯及編譯,以此來提高jsp對客戶端的響應速度。
C. web容器 web伺服器 servlet/jsp容器 之間的區別和關系
Servlet是Java代碼為主,JSP是html為主。JSP是Servlet的化生。JSP最後會自動生成.java/.clsss文件。
Servlet擅長Java代碼,JSP擅長html。但是Servler也能輸出Html代碼,JSP也能書寫Java代碼。不過有點不方便。
D. [jsp問題]何謂web伺服器
顧名思義,WEB伺服器是伺服器的一種,它是用來專門構架網站,存放站點網頁的伺服器。
Web伺服器屬於功能型伺服器范疇,它與郵件伺服器、DNS伺服器、視頻伺服器等都是從以前的通用伺服器中分離出來的。
Web伺服器與其它伺服器存在的主要區別不是體現在上述硬體方面,更重要的是它的軟體系統,更需要一整套的Web伺服器軟體來組建Web站點、支持Web應用。一般的品牌Web伺服器都同時提供了自己的Web伺服器軟體系統,功能一般都非常強大,而不是像一般的伺服器那樣只提供帶有操作系統的主機。的主要用途就是為企業組建站點,它不僅需要一台物理硬體伺服器方面。
目前Web伺服器軟體系統有多種選擇, 下面對目前流行的Web伺服器系統進行簡要介紹:
◆Apache
Apache httpd伺服器系統源於NCSA httpd伺服器,經過多次修改,成為目前世界上最流行的Web伺服器軟體之一,據一些權威機構統計,全世界有近60%的站點是採用這一系統的。
◆IIS
大家都知道,IIS(Internet Information Server)是微軟公司的產品,它藉助於Windows NT/2000/Server 2003操作系統在PC界處絕對優勢,也是當今使用最廣泛的Web伺服器之一。由於它具有與操作系統的親和性,並繼承了Microsoft 產品一貫的用戶界面,IIS 利用與Microsoft Proxy Server、Certificate Server、Site Server、BackOffice 以及其他應用程序緊密結合之便,成為功能強大、使用方便的Web伺服器。
網頁是屬於某個特定的網站的,網站的數據又存放某個特定的WEB伺服器上,一個WEB伺服器上又可以存放多個網站(通過虛擬主機技術,每個網站訪問量小),也可以是一個WEB伺服器上只存放一個網站(網站訪問量大),甚至多台WEB伺服器同時作為一個網站的鏡像伺服器(訪問量巨大,如google、yahoo)。
你上網看到的網頁當然是先從WEB伺服器中申請,然後WEB伺服器將信息返回到客戶端,也就是你的電腦上顯示出來。它們大都存放在電信局的機房,有條件的公司可以自己申請專線,伺服器放在自己公司。有機會做主機託管的話,你就可以看到電信的機房裡有很多伺服器,大多都是WEB伺服器。
E. 目前JSP開發用的最普遍的web伺服器和資料庫是什麼啊
Tomcat和Oracle
應該是最主流,其他的伺服器WebLogic,Apache也用的比較多,資料庫就更多了,Postgre,MySQL等等,不過都大同小異,學通一個就可以了
F. jsp在Web伺服器上的運行過程是什麼
以jsp為例吧。
用戶向web伺服器以HTTP請求的形式請求資源。HTTP請求中有幾個重要的參數,一個是請求方法GET還是POST還是其它,請求的URL是Sample.jsp。
伺服器得到這些請求後對參數進行分析,如/Sample.jsp的URL請求,這個請求一般會映射一個jsp頁面或servlet,伺服器會把瀏覽器的HTTP請求打包提供給index.jsp來運行(注意,jsp最終會被編譯為可運行的類文件,它的任務是說明向瀏覽器發送什麼數據)
jsp或servlet運行的結果就是向瀏覽器回送一次HTTP回應,這個回應也包括一些參數和最後的正文,正文的內容就是html語言了。瀏覽器對html進行解釋,html正文里還有一些資源如如<img src="..." />,瀏覽器會再一次對伺服器進行請求,不過對於圖片這些靜態內容,伺服器是會直接返回的(不會經過jsp或servlet的)
一次完整的動態web交互就完成了 :HTTP請求-》伺服器處理-》HTTP回應
如果覺得這個是那麼回事就給點分撒,呵呵
G. JSP頁面是在web伺服器上運行嗎
是的,JSP頁面顯示轉譯成servlet,然後再編譯成位元組碼文件(*.class),最後在java虛擬機上運行,而轉譯靠的是web伺服器.
第一次訪問JSP是比較慢的,就是因為jsp頁面先要轉譯成servlet,再編譯成class文件,最後虛擬機運行,而 第二次訪問同一jsp頁面就比較快了,省略了轉譯和編譯的過程,上一次編譯好的class文件直接在虛擬機上運行就可以了.
H. 哪些web伺服器可以運行jsp文件
護衛神·apache大師。支持PHP+JSP
I. 關於JSP的WEB伺服器的困惑,希望高人指點迷津
給你個建議,如果你的網站沒有asp內容的話,就不必選擇;IIS和TOMCAT結合了。因為那樣的話不但會給你的項目帶來風險,IIS的安全問題一直是受到懷疑的,還有就是可移植性的問題,iis只能在win下運行,如果項目做大了肯定是要部署到linux或unix的,這將會對將來所擴展造成不必要的麻煩。
有一個好的建議是使用TOMCAT+APACHE,APACHE是專門用來處理靜態頁面的,而且是開源的,不會出現大的漏洞,即使出現了也能在第一時間解決。而且這兩個產品是同屬於apache旗下的,對產品的兼容性做的很好。因此建議你使用apache+tomcat而非iis+tomcat。
至於你後面那個問題,是這樣的,jsp和servlet肯定是交給tomcat的。因為apache和iis等伺服器是不能執行jsp的。使用他們結合的主要原因是讓tomcat專門做動態網頁的處理,而靜態的部分則交給更擅長處理靜態資源的web伺服器(像apache,iis等)。你可以使用正則表達來完成對這些資源的分配。這樣你的伺服器就可以各取所長了。
像很多大型網站都是使用apache做為前端靜態資源處理的,比方說新浪,搜狐,網路的部分前台伺服器。