簡單介紹JSP環境配置
JSP(Java Server Pages)基于Java技術,并在傳統的網頁HTML文件中加入Java代碼片段(Scriptlet)和JSP標記(tag),從而構成了JSP網頁。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序片段,然后將執行結果以HTML格式返回給客戶。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果。
JSP技術是完全與平臺無關的設計,包括它的動態網頁與底層的Server元件設計。正因為如此,你可以在Windows環境下調試程序,成功后把程序上載到你的Linux服務器去運行,另外由于是先編譯后執行,所以執行速度遠遠快于以往的服務器端語言。
JSP環境配置可以有很多途徑,如果你已經有了一個可以使用的Web Server,比如Netscape的Enterprise Server和Fasttrack Server、微軟的Internet Information Server(IIS)和Personal Web Server(PWS)和Apache,比較典型的方法是使用Jrun(http://www.allaire.com/products/Jrun/),它可以作為一個附件的形式加入到你的Web服務器里面。如果你正在使用的是Apache,你也可以選擇Apache服務器的Java版,其中包含最新的Jswdk。
本文介紹一種通用的JSP環境配置方法,不管你是在Windows或Linux平臺,也不管你原來是不是安裝了Web Server,該方法都通用。
第一步:下載必需的軟件
1.Jsdk1.2.2
2.Jswdk1.0.1
在上面的頁面,需要回答一些簡單的問題,你可以得到Windows 和 Linux兩個版本的Jsdk和Jswdk,共四個文件。
第二步:安裝Jsdk
Jsdk在Windows和Linux下的安裝方法分別如下:
1.Windows下安裝,雙擊Jdk-1.2.2_005-win.exe 并選擇一個安裝目錄就可以了。
2.Linux下安裝,成為Root 用戶,自己選擇一個目錄,執行tar zxvf /路徑/Jdk1_2_2-linux-i386.tar.gz。
必須將上面的安裝目錄準確記錄下來,后面的配置中要用到。
第三步:安裝Jswdk
1.Windows下安裝,首先你必須有一個能解開Zip壓縮包的軟件,然后將Jswdk1_0_1-win.zip展開,并保存到一個你自己喜歡的目錄。
2.Linux下安裝,自己選擇一個目錄,執行tar zxvf /路徑/Jswdk1_0_1-solsparc.tar.Z。
第四步:JSP環境配置
1.Windows NT下,在“我的電腦”上單擊鼠標右鍵,選擇“屬性→環境”,然后執行以下三步:
(1)添加變量CLASSPATH,值為 安裝Jdk的路徑\lib\tools.Jar,例如c:\Jdk1.2.2\lib\tools.Jar。
(2)添加JAVA_HOME變量,值為 安裝JDK的路徑,例如c:\Jdk1.2.2。
(3)修改Path變量,后面加上安裝JDK的路徑\bin,例如c:\Jdk1.2.2\bin。
2.Windows 98下,運行sysedit, 添加和修改變量同上。
3.Linux下,如果使用Bash,可以直接在命令行下輸入:
◆JAVA_HOME="/home/look/Jdk1.2.2"
◆CLASSPATH="/home/look/Jdk1.2.2/lib/tools.Jar"
◆export CLASSPATH
◆PATH="$PATH:/home/look/Jdk1.2.2/bin"
為了避免每次Reboot都重新輸入,可以將它放到/etc/profile里面。
第五步:配置JSWDK
安裝JSWDK的目錄,找到webserver.xml,用文本編輯器打開它,你可以修改常用的一些配置,當然,你也可以什么也不改,默認的配置就可以讓JSWDK運行得很好。
1.port NMTOKEN "8080"
這行表示JSWDK運行需要使用的端口號,如果你沒安裝其他的Web服務器,你可以將其改為80或其他任意不沖突的合法端口。
2.〈WebApplication id="examples" mapping="/examples" docBase="examples"/〉
這行表示你映射到JSWDK端口的目錄。定義后,你就可以使用“http://localhost:端口/目錄”來訪問指定的文件了。
第六步:啟動JSWDK
1.Windows下,進入你安裝Jswdk的目錄,然后運行startserver.bat。
2.Linux下,進入你安裝Jswdk的目錄,然后運行./startserver。
第七步:測試
讀者可以使用http://localhost:8080或者http://your.hostname:8080來測試自己的JSWDK是否已經正確運行。當你看到JSWDK的默認頁面后,再使用下面的腳本來測試JDK的運行情況。密碼會一直駐留在內存中。即使進行了垃圾收集,它仍會存在于空閑內存堆中,直到重用該內存空間為止。密碼 String 在內存中駐留得越久,遭到竊聽的危險性就越大。更糟的是,如果實際內存減少,則操作系統會將這個密碼 String 換頁調度到磁盤的交換空間,因此容易遭受磁盤塊竊聽攻擊。為了將這種泄密的可能性降至最低(但不是消除),您應該將密碼存儲在 char 數組中,并在使用后對其置零(String 是不可變的,無法對其置零)。以上是JSP環境配置
線程安全初探
“JAVA能做的,JSP就能做”。與ASP和PHP等腳本語言不一樣,JSP默認是以多線程方式執行的。以多線程方式執行可大大降低對系統的資源需求,提高系統的并發量及響應時間。線程在程序中是獨立的、并發的執行路徑,每個線程有它自己的堆棧、自己的程序計數器和自己的局部變量。雖然多線程應用程序中的大多數操作都可以并行進行,但也有某些操作(如更新全局標志或處理共享文件)不能并行進行。如果沒做好線程的同步,在大并發量訪問時,不需要惡意用戶的“熱心參與”,問題也會出現。最簡單的解決方案就是在相關的JSP文件中加上: <%@ page isThreadSafe="false" %>指令,使它以單線程方式執行,這時,所有客戶端的請求以串行方式執行。這樣會嚴重降低系統的性能。我們可以仍讓JSP文件以多線程方式執行,通過對函數上鎖來對線程進行同步。一個函數加上synchronized 關鍵字就獲得了一個鎖。看下面的示例:
【編輯推薦】