為什麼jsp增大了伺服器的壓力
1. JSP網站打開速度為什麼慢是伺服器問題,還是程序問題
事實上,jsp打開往往會比asp等慢,主要是因為jsp是編譯執行,可asp是解釋執行 但通常情況下,這個差是相當小的,我們根本感覺不出,如果發現jsp慢的話,就是伺服器或是你所用的網的關系了
2. 我用JSP語言編寫了一個小心的BBS論壇,就這方面而言,它的特點是什麼
跨平台,安全,免費,速度快
3. 執行JSP頁面的原理是什麼
執行JSP頁面的原理:
在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉換成為一個Servlet。而這個引擎本身也是一個Servlet。JSP的運行過程如下所示:
JSP引擎先把該JSP文件轉換成一個java源文件(Servlet),在轉換時如果發現JSP文件有任何語法錯誤,轉換過程將中斷,並向服務端和客戶端輸出出錯信息。
如果轉換成功,JSP引擎用javac把該Java源文件編譯成相應的class文件。
創建一個該Servlet(JSP頁面的轉換結果)的實例,該Servlet的jspInit()方法被執行,jspInit()方法在Servlet的生命周期中只被執行一次。
jspService()方法被調用來處理客戶端的請求。對每一個請求,JSP引擎創建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創建多個線程。每個客戶端請求對應一個線程。以多線程方式執行可以大大降低對系統的資源需求,提高系統的並發量及響應時間。但不過也應該注意多線程的編程限制,由於該Servlet始終駐於內存,所以響應是非常快的。
如果.jsp文件被修改了,伺服器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的Servlet,並繼續上述處理過程。
雖然JSP效率很高,但在第一次調用時由於需要轉換和編譯而有一些輕微的延 遲。此外,在任何時候如果由於系統資源不足的原因,JSP引擎將以某種不確定的方式將Servlet從內存中移去。當這種情況發生時jspDestroy()方法首先被調用。
然後Servlet實例便被標記加入「垃圾收集」處理。可在jspInit()中進行一些初始化工作,如建立與資料庫的連接,或建立網路連接,從配置文件中取一些參數等,在jspDestory()中釋放相應的資源。
4. 解釋JSP的作用,並列舉JSP的特點
JSP是一種建立在Servlet規范功能之上的動態網頁技術,是在通常的網頁文件中嵌入腳本代碼,用於產生動態內容,在JSP文件中嵌入的是java代碼和JSP標記。
特點:
1、將內容的生成和顯示進行分離使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。
2、強調可重用的組件絕大多數JSP頁面依賴於可重用的,跨平台的組件來執行應用程序所要求的更為復雜的處理。
3、採用標識簡化頁面開發Web頁面開發人員不會都是熟悉腳本語言的編程人員。
JSP的優缺點
一、缺點
1、JSP技術極大的增加了產品的復雜性。
2、java的高效率運行需要佔用大量的內存和硬碟空間。一方面,java的高速運行是通過.class文件常駐內存來實現的,另一方面,還需要硬碟空間來存儲一系列的.java文件和.class文件以及對應的版本文件。
3、JSP程序調試困難。
二、優點
1、JSP代碼跨平台,即一次編寫,處處運行。
2、JSP組件跨平台可重用,企業JavaBeans組件可以訪問傳統的資料庫,並能以分布式系統模式工作於Solaris,Linux,UNIX和Windows平台。
3、支持多種網頁格式。
4、JSP標簽可擴充性。JSP技術允許開發者擴展JSP標簽,定製JSP標簽庫,所以網頁製作者充分利用與XML兼容的標簽技術強大的功能,大大減少對腳本語言的依賴。
5. jsp的性能
Cache,這個是提高性能的王道
在編程上,跟其它的技術都差不多。比如合理設計,優化演算法,數據緩存,其它的技術一樣適用。
最大的一點不同,就是jsp在第一次被調用,或者在修改以後被調用,都會被編譯一次,這樣會影響這一次的速度,但是以後再調用就會直接使用編譯後的 Java代碼,跟Servlet一樣快了。因此,應該在設計時要考慮周到,避免頻繁修改。另外,可以選用性能優秀的Java虛擬機,它對執行Java位元組碼的性能至關重要,好的伺服器式Java虛擬機可以在將Java位元組碼編譯成本地機器碼後,一直保持它,這樣它的執行速度是跟C/C++/Delphi等語言編寫的程序在速度上是差不多的。
其他參考:
1 實現高效Java編程規范的十一條基礎規則
http://www.ninedns.com/JSP/200742218371612355.html
2 利用緩沖技術提高JSP程序的性能和穩定性
http://tech.sina.com.cn/s/2008-08-04/1604756407.shtml
3 巧用文件保存對象來提高JSP的性能
http://dev.csdn.net/article/24/24216.shtm
4 網上還有好多
6. 把所有邏輯寫入JSP中有利於緩解伺服器壓力嗎
從某種角度上來說是這樣的,如果你寫入JSP,程序運行的時候使用的是本地資源,如果你把邏輯寫到後台,這樣使用的是伺服器資源,一般來說,根據需要安排資源使用,並不是所有邏輯都寫在JSP就是最好的
7. 為什麼說jsp和Cookies可以減少伺服器和瀏覽器之間的負擔 為什麼說應用javascript和Cookies可以減少服務
上面哥們的回答已經很簡單很明了了,我就不重復了。但是我要補充一下Cookies的問題,Cookies是被保存在客戶端的,當用戶用相同的用戶名登陸的時候,會在客戶端做出判斷是用戶已經登陸過,從而記住用戶。把伺服器端的Cookies驗證放到客戶端來執行,當然可以減輕伺服器與客戶端之間進行交互而進行的數據交換的壓力了。
8. jsp程序,伺服器會出現內存溢出/泄露,什麼原因引起此現象
不懂,沒人回答就把分給我吧,謝謝了
9. JSP運行原理什麼
1、當用戶訪問一個JSP頁面時,會向一個Servlet容器(Tomcat等)發出請求;
2、如果頁面有所改動,則servlet容器首先要把JSP頁面(假設為test.jsp)轉化為Servlet代碼(test.java),再將其轉化為class文件(test.class文件);這種過程(編譯)會耗費時間
3、JSP容器負責調用從JSP轉換來的servlet,這些servlet負責提供服務相應用戶請求;如果用戶有多個請求,則容器會建立多個線程處理多個請求;
4、容器執行位元組碼文件(包括調用的servlet:formprocessor.java位元組碼),並將其結果返回到客戶端(返回的最終方式是有servlet輸出html格式的文件流)。
(9)為什麼jsp增大了伺服器的壓力擴展閱讀:
語言優點:
1、一次編寫,到處運行。除了系統之外,代碼不用做任何更改。
2、系統的多平台支持。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP的局限性JSP的優勢是顯而易見的。
3、強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多台伺服器進行集群和負載均衡,到多台Application進行事務處理,消息處理,一台伺服器到無數台伺服器,Java顯示了一個巨大的生命力。
4、多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平台之下。
5、支持伺服器端組件。web應用需要強大的伺服器端組件來支持,開發人員需要利用其他工具設計實現復雜功能的組件供web頁面調用,以增強系統性能。JSP可以使用成熟的JAVA BEANS 組件來實現復雜商務功能。
10. 為何jsp的服務容易當機
你說的dos窗口,應該是tomcat,
經常有錯誤信息提示,可能是程序處理遇到的異常沒有處理.一些比如內存溢出之類的或者資料庫連接沒有關閉,造成的連接資源背占滿而無法訪問資料庫等等,這些都會使你的網站當掉.
這個不是伺服器的問題,你可以找網站開發商讓他們對網站程序升級,這應該屬於他們的服務范圍之內的工作.
單純的優化伺服器或者優化資料庫可能解決不了問題.