目錄
JAVAWEB的基本入門(JSP、Tomcat)
使用idea創建web項目的兩種方式
1、直接創建一個web項目(這樣創建好的項目可以直接運行)
2、創建一個普通的java項目並配置web模塊
新建一個普通的java項目
添加web模塊
添加一個打包構建(因為必須要打包才能部署到tomcat中)
配置tomcat並且部署項目到tomcat中
第一步:
第二步:
第三步:配置好該配置的名字(自定義),指定tomcat
第四步:將項目部署到tomcat服務器中
JAVAWeb項目與JAVA項目的區別?
- JAVAWEB項目相比於JAVA項目需要用到JAVAEE的jar包
- JAVAWEB相比於JAVA項目,實現了B/S架構
- JAVAWEB項目可以存放動態網頁與靜態網頁
工作目錄與部署目錄的區別
- 工作目錄是你寫的代碼所在的目錄
- 部署目錄是發布到服務器上后映射的目錄(訪問項目時,以該目錄為根目錄)
驗證:tomcat啟動后,訪問資源(正常訪問),然后刪除該目錄下的文件就訪問不到了
稍微說一嘴,idea在運行tomcat的機制
idea會按照你配置的tomcat為模板,創建一個copy后的tomcat來運行你的項目,每一個項目都會創建一個新的tomcat,以你配置的tomcat為模板
這個路徑就是生成的tomcat
瀏覽器與服務器的小問題
獲取瀏覽器時間和服務器時間
<%@ page import="java.time.LocalDateTime" %>
<%@ page import="java.time.format.DateTimeFormatter" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<%
LocalDateTime date = LocalDateTime.now();
String localDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
out.print("服務器時間為:"+ localDate);
Thread.sleep(3000);
%>
<script type="text/javascript">
var date = new Date().toLocaleTimeString();
document.write("瀏覽器時間為:" + date);
</script>
</head>
<body>
<h1>獲得服務器時間和瀏覽器時間小案例</h1>
</body>
</html>
瀏覽器向服務器發送請求的3種方式
- 在地址欄中直接輸入URL訪問(get)
- 超鏈接的方式(get)
- 表單提交的方式(get/post),推薦使用post
Get請求與Post請求的區別
Get請求的特點
- 傳輸方式:數據通過URL傳遞
- 傳輸格式:只能傳輸文本格式
- 大小: 傳輸的數據大小受到限制(URL有最長限制)
- 傳輸速度快
Post請求的特點
- 請求方式:數據通過數據包的方式隱式傳遞
- 傳輸格式:支持任意類型的傳輸格式
- 大小: 理論上無大小限制(除非服務器端限制上傳大小)
- 傳輸速度相比get慢
Tomcat各目錄的作用,以及在IDEA中時候tomcat的一點細節
Tomcat各目錄的作用
IDEA中時候tomcat的一點細節
- 運行tomcat項目時,解決修改了靜態文件需要重啟tomcat服務器的問題
- 在瀏覽器中訪問時,虛擬路徑太長的問題
理解HTTP協議
什么是HTTP協議
HTTP協議是超文本傳輸協議,用於規定發送各種請求,返回何種響應
HTTP工作原理
- HTTP協議遵循 請求(request)/響應(response)模型
- 在客戶端沒有發送請求給服務端時,服務端無法推送信息給客戶端
- 請求時需要建立連接,在服務器完成響應后斷開,連接不會一直存在(意味着每一次請求對於服務器來說都是一個新的用戶訪問了一個請求)
- 一個請求的頁面中一旦引入了n個資源文件,則會多出n個請求
- HTTP1.0時,每次請求都會建立新的TCP連接,HTTP1.1 建立的TCP連接可以復用
HTTP協議的特點
- 支持B/S模式
- 簡單快速>能夠快速有效的處理大量請求
- 靈活> HTTP允許任意傳輸文件類型,使用content-type設置
- 無狀態> 瀏覽器與服務器之間的連接是不持久的,無法保持事物處理的狀態。例如記憶用戶名等(需使用cookie或者session解決)
HTTP請求規則
HTTP協議默認端口為:80
HTTPS協議默認端口為:443
requet請求的格式為:
- 請求行:統一資源定位符(URL)、協議版本號
- 消息報頭:包含請求的各種信息
- 可能的內容:POST請求發送的數據
response響應的格式為:
- 狀態行:包含協議的版本號、響應碼
- 消息報頭:服務器信息、字符編碼格式、MIME類型(文件類型)
- 響應的正文
常見的響應碼
1XX:信息相響:表示接受到請求並且繼續處理
2XX:處理成功響應:表示動作被成功的接收、理解和接受
3XX:重定向響應:為了完成指定的動作,必須完成進一步處理和操作
4XX:客戶端錯誤:客戶請求包含語法錯誤或者是不能正確執行
5XX:服務器端錯誤:服務器端不能正確執行一個正確的請求
200 OK //客戶端請求成功
302 REDIRECT //重定向
403 Forbidden //服務器收到請求,但是拒絕提供服務(沒有權限)
404 Not Found //請求資源不存在,如輸入了錯誤的URL
500 Internal Server Error //服務器發生不可預期的錯誤