Web開發中的主要概念
1、靜態資源:一成不變的。html、js、css
2、動態資源:JavaWeb。輸出或產生靜態資源。(使用者用瀏覽器看到的頁面永遠都是靜態資源)
3、JavaEE:十三中技術的集合。JSP/Servlet屬於其中的一種。
容器:(伺服器)。支援什麼技術的伺服器,簡稱XX容器。
重量級和輕量級伺服器:支援的服務多少來定。
Tip:
如何區分JavaSE和JavaEE的技術呢?java.***JavaSE javax.** JavaEE
伺服器
1、
2、Tomcat6.0 Servlet/JSP:2.5/2.1 JDK:1.5(從Tomcat6.0開始,只有JRE也是可以的)
Tomcat7.0 Servlet/JSP:3.0/2.2 JDK:1.6
Tomcat的安裝與問題的解決
1、解壓到某個目錄或磁碟上(請不要解壓到中文目錄或有空格的目錄中)
2、進入Tomcatbin目錄中,執行啟動Tomcat
3、用瀏覽器訪問http://localhost:8080/,如果看到介面,說明安裝成功!
問題:
1、一閃而過
2、JAVA_HOME環境變數
解決辦法:配置系統環境變數 JAVA_HOME="C:jdk1.6.0_20"
Tip:Catalina_home環境變數不建議配置
3、埠被佔用:Tomcat預設使用的埠是8080。
更改Tomcat的預設埠號:找到Tomcatconfserver.xml,搜尋8080,改為自己的埠(沒有被別人佔用)
Tip:
HTTP協議預設使用的埠號80。--->:80
Tomcat的目錄結構(伺服器廠商自己規定的)
Tomcat:
bin:Tomcat的啟動和停止指令碼
conf:存放Tomcat的配置檔案。*.properties或*.xml
lib:存放Tomcat依賴的jar包。
logs:存放Tomcat的執行日誌。
temp:存放臨時檔案
webapps:存放Tomcat所管理的Web應用的。該目錄中有幾個資料夾,就代表當前Tomcat管理著幾個應用。
work:這是Tomcat的工作目錄。
JavaWeb的標準目錄結構(SUN公司規定的,規範標準)
MyApp:(應用名稱)
、等等資源
a
WEB-INF:必須有,且名稱必須一致。(存放在此目錄中的檔案資源,使用者無法直接訪問)
lib:存放服務於本應用的jar包
:必須有。針對當前應用的配置檔案。
classes:必須有。存放服務於當前應用的class類。Class. s
Tip:
Tomcat中的lib和JavaWeb應用的lib中的jar有什麼區別?
Tomcat中的lib為Tomcat服務,被所有的受管理的'JavaWeb應用所共享。
JavaWeb應用的lib,只為自己服務。
重名類的載入順序:類載入器的載入順序
自己應用中的classes--->自己應用中的lib中的jar---->Tomcatlib中的class檔案---->Tomcatlib中的jar----》沒有找到,ClassNotFoundException
如何部署JavaWeb應用到Tomcat中
1、開放式目錄部署:直接拷貝應用到Tomcat中去。
2、把應用打成war包。進入應用的目錄,執行 jar -cvf .
把war包拷貝至Tomcatwebapps中即可,容器會自動解壓該應用。
Tomcat的核心組成部分
a、虛擬目錄對映:把本地磁碟上的真實目錄對映為一個對外訪問的一個虛擬目錄
C:ITHEIMAheima15day03資料MyApp ----->/MyApp
:Context元素。配置一個應用
方式一:(不建議使用,需要重新啟動Tomcat)
在元素中增加以下內容:
path:虛擬目錄。以"/"開頭
docBase:真實目錄。(中文目錄不行)
方式二:
在Tomcat[enginename][hostname]目錄中建立一個副檔名為xml的配置檔案。
該檔名就是虛擬目錄的名稱,在其中增加以下配置:
小實驗:配置預設埠、預設應用、預設頁面
http://localhost時------>C:
預設埠:修改把8080改為80
預設應用:(都需要重啟)在Tomcat[enginename][hostname]目錄中建立一個名稱為的配置檔案。
預設主頁:修改應用中的,增加以下內容:
<web-app xmlns=""
xmlns:xsi=""
xsi:schemaLocation=" _2_"
version="2.5">
b、虛擬主機
配置中的Host元素
name:網站名稱
appBase:存放本網站所有應用的目錄。
域名解析:可以修改widows系統中C:WINDOWSsystem32driversetchosts檔案進行域名和IP的對映(玩後改回原樣)
c、聯結器:SSL
HTTPS=HTTP+SSL。預設使用的埠是at:8443
SSL:資料加密(非對稱加密)+身份認證(數字證書)
Certificate Authority,CA;VeriSign;Thawte;權威的數字證書頒發機構。
建立自我簽名的數字證書:
JDK中的keytool可以建立該證書。
-genkey -alias ppp -keyalg RSA
生成的證書預設存放在當前登入使用者的資料夾中。