jsp的全名: JavaServer Pages
jsp的意思: 動態網頁
注:動態網頁需要用到伺服器端指令碼語言(JSP)
全名: Client Server(用戶端服務)
圖示:
優點:
1.美觀
2.響應更加迅速
不足:
1.如果軟體升級,那麼全部軟體都需要升級
2.維護麻煩,需要維護每一臺用戶端軟體
3.每一臺用戶端都需要安裝用戶端軟體
全名: Browser Server(瀏覽器服務)
優點: 用戶端通過 瀏覽器直接存取伺服器端,彌補CS的缺點
注:BS和CS各有優勢
注:JSP是基於BS的網頁開發,且使用TOMCAT伺服器
bin: 可執行檔案(startup.bat shutdown.bat)
conf: 組態檔(server.xml)
lib: tomcat依賴的jar檔案
log: 日誌檔案(記錄出錯等資訊)
temp: 臨時檔案
webapps: 可執行的專案(將我們開發的專案放入該目錄)
work: 存在由jsp翻譯成的java,以及編輯成的class檔案
注:.jsp->.java->.class,class檔案纔是最終執行的檔案
1.設定jdk(必須設定JAVA_HOME)
2.設定catalina_home 內容是tomcat的根目錄
3.通過bin目錄中的startup.bat可以驗證是否設定成功
注:不要直接關閉tomcat,建議使用shutdown.bat關閉
可能與其他服務的埠號衝突
tomcat埠號預設8080(此埠較爲常見,容易衝突),建議修改埠
在conf目錄下的組態檔server.xml
修改埠之後可以通過在瀏覽器中輸入網址 localhost:8888來驗證是否修改成功
注:如果是IE瀏覽器需要加上www.的字首
如果直接輸入localhost:8888會按照中的檔案順序來依次尋找,直到找到存在的檔案,然後存取
404:資源不存在
200:一切正常
403:許可權不足(比如存取a目錄,但是a目錄設定爲不可見)
3xx:頁面重定向
500:伺服器內部錯誤(程式碼有誤)
將conf檔案下的logging.properties檔案中的java.util.logging.ConsoleHandler.encoding = UTF-8
改爲java.util.logging.ConsoleHandler.encoding = GBK
該程式碼位於47行
1.專案/WEB-INF/lib
2.專案/WEB-INF/classes
3.專案/WEB-INF/web.xml 注:主要需要的是裏面的設定資訊
注:專案中的lib和 tomcat中 lib的區別是,專案中的lib中的 Jar包僅僅適用於當前專案,tomcat中的lib使用與所有的 tomcat專案
jsp的意思: 在html檔案中巢狀java程式碼
例如:
存取路徑 localhost:8888/專案名/檔名
如果wel.xml檔案中目錄下存在檔名
例如:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index1.jsp</welcome-file>
</welcome-file-list>
就可以通過localhost:8888/專案名來直接存取檔案
如果index.jsp存在則存取它,否則存取index1.jsp
tomcat預設的專案路徑是webapps,如果專案不放在webappps在可以通過虛擬路徑來識別
注:在tomcat\server.xml檔案中設定
相對路徑: /專案名 (建議使用)
絕對路徑: D:\Apache\apache-tomcat-8.5.49\webapps\專案名
docBase:實際路徑
path:虛擬路徑 (絕對路徑,相對路徑(相對於webapps))
設定虛擬路徑之後,存取虛擬路徑 /專案 相當於存取實際路徑D:\study\專案
注:設定虛擬路徑後需要重新啓動 tomcat
還可以使用第二種方式來存取不在webapps中的專案
1.在D:\Apache\apache-tomcat-8.5.49\conf\Catalina\localhost中建立檔案 專案名.xml
2.在xml檔案中寫入虛擬路徑
注:該方式不需要重新啓動 tomcat
注:如果使用 ROOT.xml作爲檔名,那麼存取的時候可以直接通過localhost:8888/檔名來存取專案(一般不這麼用)
可以改變存取專案的名字
例如可以將localhost/8888/檔名 ----》 www.jd.com
1.在conf.xml檔案的目錄下建立一個虛擬主機
<Host name="www.jd.com" appBase="D:\study\JspProject">
<Context docBase="D:\study\JspProject" path="/" />
</host>
appBase: 專案的發佈路徑
name: 專案的存取名
2.修改conf.xml檔案中的預設主機
注:之前預設的是localhost
3.新增主機對映
檔案位置: C:\Windows\System32\drivers\etc\hosts.SYS
4.將埠改成預設埠80
5.通過www.jd.com來存取我們自己寫的jsp頁面
伺服器端將jsp翻譯成java,再將java編譯成class檔案
java和class的生成位置:
D:\Apache\apache-tomcat-8.5.49\work\Catalina\localhost\專案名\org\apache\jsp
注:這是第一次存取慢的原因
直接存取class檔案
注:如果伺服器端程式碼修改了,將會在存取時重新翻譯,編譯
翻譯命名規則: index.jsp->index_jsp.java
本質: Servlet檔案
注:jsp和Servlet可以互相轉換