web相關概念回顧
一、軟件架構
1,C/S:客戶端/服務器端
二、B/S:瀏覽器/服務器端
二、資源分類
(瀏覽器當中含有靜態資源的解析引擎)
一、靜態資源:全部用戶訪問看到的效果同樣。靜態資源能夠直接被瀏覽器解析
如:html,css,JavaScript
二、動態資源:每個用戶訪問相同資源獲得的效果不太同樣。動態資源被訪問時,先轉換爲靜態資源,再返回給瀏覽器
如:servlet,jsp,php,asp....
三、網絡通訊三要素(TCP三次握手)
一、IP:電子設備(計算機)在網絡中的惟一標識
二、端口:應用程序在計算機中的惟一標識。0~65536
三、傳輸協議:規定了數據傳輸的規則
1.基礎協議
1.TCP:安全協議,三次握手。速度慢
2.UDP:不安全協議,廣播。速度快
tomcat(web服務器軟件)
是什麼?
服務器:安裝了服務器軟件的計算機(配置高)
服務器軟件:接受用戶的請求,處理請求,作出響應。
web服務器軟件:接受用戶的請求,處理請求,作出響應。
* 在web服務器軟件中,能夠部署web項目,讓用戶經過瀏覽器來訪問這些項目
* web容器
常見的java相關的web服務器軟件:
* Tomcat:Apache基金組織,中小型的JavaEE服務器,僅僅支持少許的JavaEE規範servlet/jsp。開元的,免費的。
Tomacat:web服務器軟件
1.下載
2.安裝:解壓便可(安裝目錄建議不要有中文和空格)
bin:可執行文件
conf:配置文件
lib:依賴jar包
logs:日誌文件
temp:臨時文件
*webapps:存放web項目
work:存放運行時的數據
3.卸載:刪除就可
4.啓動:bin/startup.bat,訪問http://localhost:8080或者http://別人的ip:8080
可能遇到的問題:
1.黑窗口一閃而過:
* 緣由:沒有正確配置JAVA_HOME環境變量
* 解決方案:正確配置JAVA_HOME環境變量
2.啓動報錯
* 解決方案:
1.暴力:找到佔用的端口號,而且找到對應的進程,殺死該進程
查看端口號:netstat -ano
定位具體端口號的進程:netstat -ano | findStr "8080"
終止進程:taskkill /F /PID (PID號)
2.溫柔:修改自身的端口號
conf目錄中server.xml修改端口號
5.關閉:
1.正常關閉:bin/shutdown.bat或者Ctrl+c
2.強制關閉:點擊啓動窗口的×
6.配置
怎麼用
* 如何將Tomcat集成到idea中,而且建立javaEE項目,部署項目。
run--edit Configrations--Defaults--tomcat(Local)--加載tomcat文件
新建項目--新建module--java Enterprise--Java EE 7--勾選Web Application
設置自動更新以及默認訪問路徑Run--edit Configrations--Tomcat Server--Server--Update resources
--Deployment--Application context--/項目名
servlet(server applet)--單例多線程 3.0規範
一、是什麼?
概念:運行在服務器端的小程序
* servlet就是一個接口,定義了Java類被瀏覽器訪問(tomcat識別)到的規則
* 未來咱們自定義一個類,實現Servlet接口,複寫方法
快速入門:
1.建立javaEE的項目
2.定義一個類,實現Servlet接口
3.實現接口中的抽象方法
4.配置servlet
在web.xml中進行配置
執行原理:
1.當服務器接收到客戶端瀏覽器的請求後,會解析請求的URL路徑,獲取訪問的Servlet的資源路徑
2. 查找web.xml文件,是否有對應的<url-pattern>標籤體內容。
3. 若是有,則在找到對應的<servlet-class>全類名
4. tomcat會將字節碼文件加載進內存,並建立其對象
5. 調用其方法
怎麼引入
寫法
生命週期(API)
1.init() //在Servlet被建立時執行,只會執行一次
能夠配置執行servlet的建立時機
在<servlet>標籤下配置
<load-on-startup></load-on-startup>:裏面寫0或正整數則項目啓動時執行init(),正數最小寫2
裏面寫負數則第一次訪問時執行
servlet的init方法,只執行一次,說明一個servlet在內存中只存在一個對象
* 多個用戶同時訪問時,可能存在線程安全問題
* 解決:儘可能不要在servlet中定義成員變量。即便定義了成員變量,也不要對其修改值
2.service() //每次訪問地址都會被觸發
3.destory() //在服務器正產關閉時執行,只會執行一次
* Servlet被銷燬時執行。服務器關閉時,Servlet被銷燬。
* 只有服務器正常關閉時,纔會執行destory方法。
* destory在servlet被銷燬以前執行,通常用於釋放資源。
xml
註解
idea工具如何整合咱們的項目和tomcatphp