1. 什么是Web服務器?
Web服務器一般指的是網站的服務,主要提供互聯網信息的瀏覽
2. 市面主流的web服務器
| 前端 | 后端 | 數據庫 | 服務器 | 項目規模 |
|---|---|---|---|---|
| PHP | PHP | MYSQL | Apache(Window、Liunx) | 中小型項目 |
| ASP | C# | SQL Server | IIS(Windows) | 中大型項目 |
| JSP | Java | Oracle | Tomcat(Windows、Liunx結合版) | 中大型項目 |
3. Tomcat目錄
| 目錄 | 描述 |
|---|---|
| bin | 可執行文件目錄 |
| conf | 配置文件目錄 |
| lib | Tomcat運行時需要的jar包,Web開發時需要的jar包 |
| log | 存放日志文件夾 |
| temp | Tomcat運行時產生的臨時文件存放目錄 |
| webapps | web項目存放目錄 |
| work | 項目的緩存目錄 |
4. URL組成部分
http://www.baidu.com/ http://192.168.1.119:8080/189/
- http:網絡協議
- IP地址:計算機在網絡中的唯一標識,一個IP標識着一台計算機
- 端口:在一台計算機中標識一款軟件
- 項目目錄:在Web服務器下存放的目錄
http 默認端口:80
https 默認端口:8443
5. 修改Tomcat端口與字符編碼
在Tomcat目錄conf/server.xml文件中修改以下代碼:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
- URIEncoding:Tomcat字符編碼
- connectionTimeout:連接超時的時間,單位毫秒
- port:Tomcat啟動端口
- protocol:定義通訊協議,http
- redirectPort:重定向端口
6. 服務器接收用戶請求的方式
在Java中處理用戶請求方式的兩種技術
- JSP
- Servlet
7. Web項目的結構
| 目錄 | 描述 |
|---|---|
| src目錄 | 存放Java源碼 |
| build | 存放編譯后的class文件 |
| WebContent目錄 | 存放頁面的目錄 |
| WebContent/WEB-INF目錄 | 存放Web項目的配置文件,比如:web.xml |
| WebContent/WEB-INF/web.xml文件 | web項目第一個被讀取的文件 |
8. 什么是Servlet?
Servlet是服務器端接收並處理用戶請求的,運行在服務器端
9. 創建Servlet的步驟(☆)
- 創建一個類繼承HttpServlet類
- 重寫doGet和doPost方法
- 在web.xml編寫Servlet的配置信息,代碼如下:
<servlet>
<!-- servlet的名稱,自定義 -->
<servlet-name>helloWorld</servlet-name>
<!-- servlet類的完整路徑 -->
<servlet-class>com.zt.servlet.HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- servlet的名稱,自定義 -->
<servlet-name>helloWorld</servlet-name>
<!-- servlet的訪問路徑,瀏覽器的地址 -->
<url-pattern>/helloWorld</url-pattern>
</servlet-mapping>
Servlet訪問地址:http://localhost:8080/項目名/servlet訪問路徑
10. Servlet生命周期(☆)
- 執行構造方法實例化對象(Servlet對象被創建-Tomcat)
- 調用init方法初始化
- 調用service方法處理用戶請求
- 當Tomcat關閉時,調用destroy方法,進行銷毀
11. Servlet的執行過程(☆)
- 當網頁發送一個請求,首先會到達Tomcat服務器
- Tomcat會根據請求的URL去匹配Web.xml中的
<url-pattern>標簽 - 匹配上路徑會關聯
<servlet-mapping>標簽下的<servlet-name>標簽 - 通過
<servlet-mapping>標簽下的<servlet-name>標簽關聯到<servlet>標簽下的<servlet-name>標簽 <servlet>標簽下的<servlet-name>標簽找到<servlet-class>標簽,<servlet-class>標簽保存了servlet類完整路徑- Tomcat根據這個類的完整路徑,把Servlet對象給創建
- 執行構造方法進行實例化,調用init方法進行初始化
- 構造方法與init方法自始至終只會執行一次,Servlet對象是單實例的
- 調用service方法處理用戶請求,完成此次請求
- 當Tomcat停止時,調用destroy方法進行銷毀,destroy方法自始至終執行一次
12. Servlet實例化方式(☆)
- 第一次請求的時候實例化 - 時間換空間 - 正常處理用戶請求時 - 95%
- Tomcat啟動時實例化 - 空間換時間 - 初始化數據 - 5%
在servlet標簽中加入如下代碼
<load-on-startup>1<load-on-startup>
中間的數字為大於等於零的正整數,數字越小優先級越高
13. 程序的分類:
| 程序 | 架構 | 栗子 |
|---|---|---|
| 桌面類應用程序 | CS架構(Client Servers) | WPS - QQ - LOL |
| Web應用程序 | BS架構(Browser Servers) | 淘寶 - 京東 |
-
開發Web應用程序:
HTML + CSS +JS + 編程語言 + 服務器 + 數據庫
例如:Servlet、JSP、.NET、PHP -
小型服務器
Tomcat - 免費、開源 - Apache基金會
最大並發數為150 -
大型服務器
- Weblogic - BEA ORACLE
- WebSphere - IBM
14. Tomcat服務器各目錄作用
| 目錄 | 描述 |
|---|---|
| bin目錄 | 服務器可執行文件(啟動服務器:startup;關閉服務器:shutdown) |
| conf目錄 | 服務器配置文件(server.xml:服務器端口號的修改;context.xml:配置數據庫連接池信息) |
| lib目錄 | 服務器的jar包(支撐服務器運行) |
| logs目錄 | 記錄服務器日志 |
| temp目錄 | 存放服務器運行時的臨時文件 |
| webapps和wtpwebapps目錄 | 存放項目編譯之后的文件 |
| work目錄 | 項目編譯之后的一些緩存文件(JSP文件) |
