一個JSP初學者的學習過程詳解
最後更新:2017-02-28
來源:互聯網
上載者:User
js|初學|過程|詳解
前言 從現在開始我要把我學習Jsp的過程寫出來。這些東西都是我從書本、網路上搜集整理的,我把它們據為己有後寫這樣一篇總結供如我一樣的初學者參考。
請容許我在這裡說一些和讀者無關的話,對此不感興趣的請直接跳到第一章或第二章。
我在2003年七月大學畢業,這之前學了四年電腦專業,由於基本是屬於文科學校的電腦專業,學校女生少男生多學習的風氣極受影響,所以可以想象我畢業時候的水平。在學校時學習的大多是枯燥的電腦理論知識,我雖知其有用,但實在不感興趣,我感興趣的是編碼,於是學了一個學期的pascal,又編了一個學期的C(學C的時候是熱情高漲的,甚至教課的老師允許或者說支援我逃課回去編碼),遇指標、鏈表,不成,棄之,轉而學C++,不半月,遇“對象”、“類”、“繼承”,不成,複棄之,終不成,無奈之下,日夜遊戲,不思進取,不數載,畢業。
這以後直至現在一直在一省直機關的資訊中心工作,由於是“事業單位”,所以工作很閑,頭半年學了兩個月的html,後又學一個月的Asp,由於缺少壓力,最終都放棄了。直到我們單位開始了一個項目——電子政務,我的境況有了轉變。
我們找來了兩家公司給我們開發軟體,領導說讓我跟一跟,學寫東西,由於當年C給我的打擊實在太大了,我已認定自己不是那塊料,是不具有學程式的天賦的,所以有些不情願,但是終於由於太閑而且又不甘心自己“一點技術含量都沒有”,最終選擇了學習Jsp。我找給我們開發軟體的一個程式員朋友,向他要來了Tomcat、jsdk和盜版的Oracle,編寫平台就先暫時用我比較熟悉的Dreamweaver,英文也差,就沒用Jbuilder、Jcreator什麼的,至於資料,沒有,只有網路,我就這樣開始了我的Jsp之旅。
我沒想到的是當年學的那一點點C、html、Asp讓我不怎麼費力的就走進(近)了Jsp的大門,這速度至少出乎了我的意料。
值得說明的一點是:我學Jsp完全是從執行個體入手,這之前我的相關理論知識基本為零,所以我在對代碼的理解上(很大程度表現在注釋上)是使用自己的“土語”的,而不是“術語”。我的原則是這篇文字能夠讓和我一樣的初學者能夠看懂。
對於一個毫無基礎的人來說,你對他說“類”、“對象”、“介面”、“繼承”這些名詞,他是無法理解的,因為它們太抽象,所以我必須通過執行個體和不怎麼規範的語言使它們具體化一些。
由於我的水平實在有限,可能會出現很多錯誤,尤其在對某些“代碼”的理解上,但是我勇於拿出板磚,希望有熱心的高手使勁扔玉^_^這是我的郵箱:windowsmx@sohu.com。
最後,感謝互連網及在其上分享自己經驗的程式員、我的單位的領導、同事、程式員朋友孫罡、大學的朋友彭濤等。
第一章 設定管理員環境
Jsp全稱是Java Server Pages(而不是JavaScript的縮寫,JavaScript是使用Java語言的一種指令碼語言),用我的話說,它就是一堆使用於網頁瀏覽器上的代碼(或者說代碼規範),從這個角度講和Asp類似。它並不是一種程式設計語言,但是它需要一種程式設計語言來編寫其中的程式,正如Asp使用VB作為程式設計語言一樣,Jsp使用的是Java語言。
安裝軟體:
既然Jsp使用Java,那麼我們的伺服器作業系統裡當然要有相應的Java環境,否則我們怎麼使用Java提供的“庫函數”呢?JDK就是這個東西,我們可以從SUN公司的網站上下載它,先把它安裝到作業系統(我的作業系統是Windows XP Professional SP2)中,我的安裝目錄是:D:\j2sdk1.4.2_07,裝完之後我們還需要進行配置,這一步在下面再說。
我們還需要安裝Web伺服器,我們初學者一般可以選用Tomcat作為Jsp的Web伺服器。Web伺服器是什麼東西?假如你對Asp有一點瞭解的話,你就會知道IIS這東西——IIS就是Asp的Web伺服器,那麼Tomcat對於Jsp來說,它就相當於Asp的IIS。我使用的是Tomcat5.0,你也可以使用更高的版本,注意在安裝它之前你得先安裝JDK,我的Tomcat的安裝目錄是:D:\Tomcat 5.0。
配置:
右鍵“我的電腦”-“屬性”-“進階”-“環境變數”,這裡面有使用者變數和系統變數之分,說實話,使用者變數主要起什麼作用我不是很清楚,但是系統變數一定是很重要的,通過“建立”或“編輯之後”,我的相關的使用者變數是這樣的:
classpath——.;d:\j2sdk1.4.2_07\lib\tools.jar;d:\j2sdk1.4.2_07\lib\dt.jar;
java_home——d:\j2sdk1.4.2_07
path——d:\j2sdk1.4.2_07\bin;d:\j2sdk1.4.2_07
我的相關的系統變數是:
CATALINA_HOME——d:\Tomcat 5.0
classpath——.;d:\j2sdk1.4.2_07\lib\tools.jar;d:\j2sdk1.4.2_07\lib\dt.jar;
JAVA_HOME——d:\j2sdk1.4.2_07
Path——d:\j2sdk1.4.2_07\bin;d:\j2sdk1.4.2_07;(把這句添加進去,而不是最終的值)
TOMCAT_HOME——d:\Tomcat 5.0
Tomcat在安裝完之後在Windows系統的“服務”中會多一項“Apache Tomcat”的服務,它是自動的,你可以給它改成手動,這樣在不使用的時候可以節省一些系統資源了。既然改成手動了,那麼怎麼啟動它呢?找這兩個檔案:D:\Tomcat 5.0\bin\startup.bat和D:\Tomcat 5.0\bin\shutdown.bat,前一個就是啟動Tomcat的批次檔了,而後一個就是關閉的。
你在安裝Tomcat的時候可能會發現安裝過程中有一個地方可以改連接埠號碼,預設是“8080”,而當你在偵錯工具時你就要注意這個連接埠號碼了。在上面的配置都完成以後,你可以看看是否成功了:先開啟Tomcat伺服器,然後在網頁地址欄裡輸入:http://localhost:8080/(用戶端和伺服器是同一台機器),安裝成功的話你會看見Tomcat的歡迎介面。你也可以使用你的IP或是機器名,比如我的IP是172.16.20.30,機器名是ringz,那麼輸入以下兩種形式都是可行的:http://172.16.20.30:8080/,http://ringz:8080/。
第二章 輕度接觸server.xml
<%@ page contentType="text/html; charset=gb2312" language="java"errorPage="" %>
<%
out.print("日本人應該被徹底消滅");
%>
這個檔案是在頁面輸出一句話,你甚至可以用記事本來編寫,但主要的問題是,這個檔案(比如叫test.jsp)它放在哪裡。Tomcat的預設目錄好象是D:\Tomcat 5.0\webapps\jsp-examples,早期4.1版本目錄是examples,把這個檔案放到jsp-examples下,開啟Tomcat伺服器,在地址欄輸入:http://ringz:8080/jsp-examples/test.jsp。
現在要說的問題是:我不想用8080這個連接埠,直接用http://ringz/jsp-examples/test.jsp多好啊。這首先要取決你的80連接埠是否被佔用,一般來說你的機器裡沒有安裝IIS或者停掉IIS服務,80連接埠就可以使用。具體的修改方法如下:開啟這個檔案——D:\Tomcat 5.0\conf\server.xml,你會找到這樣一段代碼:
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
把port="8080"改成port="80",儲存檔案,重啟Tomcat伺服器,如果能夠啟動,說明可以使用80連接埠了;而要是Tomcat啟動視窗一閃即關掉,就說明80連接埠已經被佔用了(這個判斷的前提是該server.xml檔案沒有錯誤,如果有其他錯誤的話,比如少一個“/>”,也會這樣)。按照此方法你可以改成其他閑置的連接埠,比如說,給我們做軟體的公司在測試的時候使用的是7988連接埠。除了80連接埠,其他連接埠都要在地址欄註明,80之所以不用是因為它是http協議的預設連接埠。
接下來的問題是:我不想把寫好的.jsp檔案放在D:\Tomcat 5.0\webapps\jsp-examples下怎麼辦?這同樣需要修改server.xml檔案:假如你的.jsp檔案都放在e:\MyJsp下,則在該檔案的<Host></Host>之間加入這樣一段代碼:<Context path="/MyJsp" docBase="e:\MyJsp" debug="0" reloadable="true" crossContext="true"/>(注意要和檔案名稱的大小寫要一致)。這樣你可以在地址欄輸入http://ringz/MyJsp/test.jsp(同樣要注意大小寫要一致)來運行這個檔案。如果改成:<Context path="" docBase="e:\MyJsp" debug="0" reloadable="true" crossContext="true"/>,這樣在地址欄裡輸入http://ringz/test.jsp就行了。
你感興趣的話可以看看只輸入http://ringz後頁面是什麼樣的。
現在你可能會有這個想法:我的一個系統(或者叫一個網站)有一個固定的入口檔案,比如叫login.htm,我希望只在地址欄輸入http://ringz就可以開啟這個檔案,這怎麼辦?這個我們可以通過修改和server.xml處於同目錄下的web.xml檔案來實現:一般在這個檔案的最下有這樣一段代碼:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
你只需要將其中一個改成<welcome-file>login.htm</welcome-file>就行了。