Web開發中的主要概念
1、靜態資源:一成不變的。html、js、css
2、動態資源:JavaWeb。輸出或產生靜態資源。(使用者用瀏覽器看到的頁面永遠都是靜態資源)
3、JavaEE:十三中技術的集合。JSP/Servlet屬於其中的一種。
容器:(伺服器)。支援什麼技術的伺服器,簡稱XX容器。
重量級和輕量級伺服器:支援的服務多少來定。
Tip:
如何區分JavaSE和JavaEE的技術呢?java.***JavaSE javax.** JavaEE
伺服器
1、http://www.apache.org
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、進入Tomcat\bin目錄中,執行startup.bat啟動Tomcat
3、用瀏覽器訪問http://localhost:8080/,如果看到介面,說明安裝成功!
問題:
1、一閃而過
2、JAVA_HOME環境變數
解決辦法:配置系統內容變數 JAVA_HOME="C:\jdk1.6.0_20"
Tip:Catalina_home環境變數不建議配置
3、連接埠被佔用:Tomcat預設使用的連接埠是8080。
更改Tomcat的預設連接埠號碼:找到Tomcat\conf\server.xml,搜尋8080,改為自己的連接埠(沒有被別人佔用)
Tip:
HTTP協議預設使用的連接埠號碼80。http://www.jb51.net--->http://www.jb51.net:80
Tomcat的目錄結構(伺服器廠商自己規定的)
Tomcat:
bin:Tomcat的啟動和停止指令碼
conf:存放Tomcat的設定檔。*.properties或*.xml
lib:存放Tomcat依賴的jar包。
logs:存放Tomcat的作業記錄。
temp:存放臨時檔案
webapps:存放Tomcat所管理的Web應用的。該目錄中有幾個檔案夾,就代表當前Tomcat管理著幾個應用。
work:這是Tomcat的工作目錄。
JavaWeb的標準目錄結構(SUN公司規定的,規範標準)
MyApp:(應用程式名稱)
1.html、1.js等等資源
a
1.html
WEB-INF:必須有,且名稱必須一致。(存放在此目錄中的檔案資源,使用者無法直接存取)
lib:存放服務於本應用的jar包
web.mxl:必須有。針對當前應用的設定檔。
classes:必須有。存放服務於當前應用的class類。com.itheima.SomeClass. classes\com\itheima\SomeClass.class
Tip:
Tomcat中的lib和JavaWeb應用的lib中的jar有什麼區別?
Tomcat中的lib為Tomcat服務,被所有的受管理的JavaWeb應用所共用。
JavaWeb應用的lib,只為自己服務。
重名類的載入順序:類載入器的載入順序
自己應用中的classes--->自己應用中的lib中的jar---->Tomcat\lib中的class檔案---->Tomcat\lib中的jar----》沒有找到,ClassNotFoundException
如何部署JavaWeb應用到Tomcat中
1、開放式目錄部署:直接拷貝應用到Tomcat中去。
2、把應用打成war包。進入應用的目錄,執行 jar -cvf MyApp.war .
把war包拷貝至Tomcat\webapps中即可,容器會自動解壓該應用。
Tomcat的核心組成部分
a、虛擬目錄映射:把本地磁碟上的真實目錄映射為一個對外訪問的一個虛擬目錄
C:\ITHEIMA\heima15\day03\資料\MyApp ----->/MyApp
server.xml:Context元素。配置一個應用
方式一:(不建議使用,需要重新啟動Tomcat)
在<Host>元素中增加以下內容:<Context path="/MyApp" docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
path:虛擬目錄。以"/"開頭
docBase:真實目錄。(中文目錄不行)
方式二:
在Tomcat\[enginename]\[hostname]\目錄中建立一個副檔名為xml的設定檔。
該檔案名稱就是虛擬目錄的名稱,在其中增加以下配置:
<?xml version="1.0"?>
<Context docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
小實驗:配置預設連接埠、預設應用、預設頁面
http://localhost時------>C:\ITHEIMA\heima15\day03\MyApp\1.html
預設連接埠:修改server.xml把8080改為80
預設應用:(都需要重啟)在Tomcat\[enginename]\[hostname]\目錄中建立一個名稱為ROOT.xml的設定檔。
<?xml version="1.0"?>
<Context docBase="C:\ITHEIMA\heima15\day03\MyApp"/>
預設首頁:修改應用中的web.xml,增加以下內容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>1.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
b、虛擬機器主機
配置server.xml中的Host元素
<Host name="www.itcast.cn" appBase="c:\itcastapps"/>
name:網站名稱
appBase:存放本網站所有應用的目錄。
網域名稱解析:可以修改widows系統中C:\WINDOWS\system32\drivers\etc\hosts檔案進行網域名稱和IP的映射(玩後改回原樣)
c、連接器:SSL
HTTPS=HTTP+SSL。預設使用的連接埠是443.Tomcat:8443
SSL:資料加密(非對稱式加密)+身份認證(數位憑證)
Certificate Authority,CA;VeriSign;Thawte;權威的數位憑證頒發機構。
建立自我簽名的數位憑證:
JDK中的keytool可以建立該認證。
keytool.exe -genkey -alias ppp -keyalg RSA
產生的認證預設存放在當前登入使用者的檔案夾中。