TOMCAT基礎

tomcat是一個基于Java開發的,開放源代碼的web應用服務器。它可以解析html頁面中的java代碼,執行動態請求,實現動態頁面。核心功能是將收到的http請求處理并轉發給適當的servlet來處理,然后將響應返回給客戶端。

? ? ? ? 優點

? ? ? ? ? ? ? ? 1,免費

? ? ? ? ? ? ? ? 2,開源,可以二次封裝

? ? ? ? ? ? ? ? 3,可配置性強,可以根據需要進行自定義配置,包括端口號,虛擬主機等。

? ? ? ? ? ? ? ? 4,安全性:tomcat自帶安全機制,可以配置用戶認證,授權,加密傳輸。

? ? ? ? ? ? ? ? 5,部署應用非常快捷:tomcat會自動部署,自動運行。

????????三個核心組件:

? ? ? ? ? ? ? ? 1,Web容器,完成web服務器的功能,web應用。在web容器中,封裝了一組文件。在這一組文件之中,進行集中化管理。

? ? ? ? ? ? ? ? 2,ervlet容器:名字catalina,處理servlet代碼。處理web請求(http),以及生成動態內容的java類。

? ? ? ? ? ? ? ? 3,jsp:將動態頁面翻譯成servlet代碼,用標準格式展示jsp的靜態頁面。

????????Servlet組件

? ? ? ? ? ? ? ? 1,處理http請求。

? ? ? ? ? ? ? ? 2,生產動態內容,為了和數據庫交互。

? ? ? ? ? ? ? ? 3,會話管理,跟蹤用戶在不同請求之間的狀態,通過管理,可以在用戶訪問不同頁面時保持用戶的狀態信息。

? ? ? ? ? ? ? ? 4,與數據庫交互,servlet可以連接到數據庫執行查詢和更新操作,這就是servlet能夠生成動態內容的原因。Jap是動態頁面的開發技術,使用index.jsp標簽。在html頁面中插入java代碼。

功能組件:connector:負責對外接受和響應請求,是tomcat與外界的交通樞紐。監聽端口,也接受對外界的請求,交給container處理。

? ? ? ? 各個模塊作用:

????????????????Container:負責對內處理業務邏輯。

????????Engine:引擎,管理虛擬機(service),可以管理多個,但是每個service只能有一個engine;

????????Host:代表一個虛擬機,也可以叫站點。

????????Context:web應用,包含多個servlet

????????Wrapper:封裝器,最底層,每一個wrapper都封裝著一個servlet,負責對象實例的創建,執行以及銷毀。

????????

? ? ? ? 安裝后的文件以及作用:
? ? ? ? ? ? ? ? conf:主要配置文件:主配置文件server.xml。

? ? ? ? ? ? ? ? ????????contex.html:host的默認信息。

? ? ? ? ? ? ? ? ????????tomcat-user.xml:認證用戶密碼的配置文件

????????????????????????web.xml:配置servlet。

????????????????bin:存放啟動和關閉tomcat腳本文件。

? ? ? ? ? ? ? ? logs:日志文件。

? ? ? ? ? ? ? ? webapps:web應用部署的默認目錄。

? ? ? ? ? ? ? ? work:tomcat的工作目錄。存放jsp編碼之后的class文件。清除tomcat緩存就是刪work目錄。

??

tomcat安裝:

? ? ? ? jdk安裝:??

rpm -ivh jdk-8u201-linux-x64.rpm 
查看jdk版本 
java -version
設置jdk環境變量
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATHsource /etc/profile.d/java.sh

????????????????export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64:
????????????????這個命令設置了一個名為JAVA_HOME的環境變量,它指向Java JDK的安裝路徑。
????????????????這對于告訴系統和其他應用程序Java的安裝位置非常重要。你需要將路徑替換為你實際安裝Java的路徑。

????????????????export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:
????????????????這個命令設置了一個名為CLASSPATH的環境變量,它用于指定Java類的搜索路徑。
????????????????在這個命令中,.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar 表示當前目錄(.)
????????????????以及Java工具庫(tools.jar)和Java遠程調試庫(dt.jar)的路徑。這些庫通常包含一些Java開發所需的類。

????????????????export PATH=$JAVA_HOME/bin:$PATH:
????????????????這個命令將Java可執行文件的路徑添加到系統的PATH環境變量中。
????????????????這使得你可以在終端中直接運行Java工具,而不需要輸入完整的路徑。
????????????????這將Java的bin目錄添加到了PATH中,使得java、javac等命令可以直接運行。

? ? ? ? tomcat安裝:

tar -xf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

? ? ? ? tomcat的開啟與關閉:需要進入conf中

開啟:./startup.sh
關閉:./shutdown.sh

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/39572.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/39572.shtml
英文地址,請注明出處:http://en.pswp.cn/news/39572.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django實現音樂網站 ⑼

使用Python Django框架制作一個音樂網站, 本篇主要是后臺對專輯、首頁輪播圖原有功能的基礎上進行部分功能實現和顯示優化。 目錄 專輯功能優化 新增編輯 專輯語種改為下拉選項 添加單曲優化顯示 新增單曲多選 更新歌手專輯數、專輯單曲數 獲取歌手專輯數 保…

【并發編程】自研數據同步工具的優化:創建線程池多線程異步去分頁調用其他服務接口獲取海量數據

文章目錄 場景:解決方案 場景: 前段時間在做一個數據同步工具,其中一個服務的任務是調用A服務的接口,將數據庫中指定數據請求過來,交給kafka去判斷哪些數據是需要新增,哪些數據是需要修改的。 剛開始的設…

Character Animation With Direct3D 讀書筆記

角色動畫簡介 2D動畫:循環播放多張圖片 3D動畫: 骨骼動畫、變形動畫 DirectX入門 Win32 應用程序 Application類:處理主程序循環,圖形設備的初始化 Init:加載資源并創建圖形設備Update:更新游戲世界&am…

Vue中子組件修改父組件傳來的Prop值

vue中子組件不能直接修改父組件傳來的prop值,Prop 是一種傳遞數據的機制,父組件通過 Prop 向子組件傳遞數據,子組件通過 Props 接收父組件傳遞過來的數據,這些數據被封裝成一個個解構體形式的對象,不能直接進行修改。這…

React 18 更新 state 中的對象

參考文章 更新 state 中的對象 state 中可以保存任意類型的 JavaScript 值,包括對象。但是,不應該直接修改存放在 React state 中的對象。相反,當想要更新一個對象時,需要創建一個新的對象(或者將其拷貝一份&#xf…

圖像去雨、去雪、去霧論文學習記錄

All_in_One_Bad_Weather_Removal_Using_Architectural_Search 這篇論文發表于CVPR2020,提出一種可以應對多種惡劣天氣的去噪模型,可以同時進行去雨、去雪、去霧操作。但該部分代碼似乎沒有開源。 提出的問題: 當下的模型只能針對一種惡劣天氣…

【ARM 嵌入式 編譯系列 4.1 -- GCC 編譯屬性 likely與unlikely 學習】

文章目錄 GCC likely與unlikely 介紹linux 內核中的 likely/unlikely上篇文章:ARM 嵌入式 編譯系列 4 – GCC 編譯屬性 __read_mostly 介紹 下篇文章: ARM 嵌入式 編譯系列 4.2 – GCC 鏈接規范 extern “C“ 介紹 GCC likely與unlikely 介紹 likely 和 unlikely 是GCC編譯器…

JDBC連接數據庫(mysql)

準備jar包 官網下載即可,這里提供兩個我下載過的jar包,供使用 鏈接:https://pan.baidu.com/s/1snikBD1kEBaaJnVktLvMdQ?pwdrwwq 提取碼:rwwq eclipse導 jar包: 導入成功會有如下所示: ---------------------------…

個人開發中常見單詞拼錯錯誤糾正

個人開發中常見單詞拼錯錯誤糾正 前置說明參考地址后端開發相關前端開發相關客戶端開發相關大數據/云計算相關工具或軟件相關 前置說明 單詞太多啦, 我這里只列表我個人見得比較多的, 我沒見過就不列舉了. 有錯誤或想補充的可以提交在原倉庫提交Pull Request. 😁 …

JavaScript面試題(二)

31、http 的理解 ? HTTP 協議是超文本傳輸協議,是客戶端瀏覽器或其他程序“請求”與 Web 服務器響應之間的應用層通信協議。HTTPS主要是由HTTPSSL構建的可進行加密傳輸、身份認證的一種安全通信通道。 32、http 和 https 的區別 ? 1、https協議需要到ca申請證書…

基于DEM tif影像的插值平滑和tif紋理貼圖構建方法

文章目錄 基于CDT的無縫融合基于拓撲糾正的地上-地表的Bool運算融合 基于CDT的無縫融合 準備數據是一個10米分辨率的Tif影像,直接用于生成DEM會十分的不平滑。如下圖所示,平滑前后的對比效果圖差異: 基于ArcGIS的DEM平滑插值 等值線生成&…

Oracle增加列

在Oracle數據庫中,使用ALTER TABLE語句可以很方便地為表增加新列。在進行操作時,需要謹慎考慮新列的數據類型、名稱、默認值、約束等因素,以確保操作的安全性和可靠性。同時,也需要注意備份數據、避免在高峰期進行操作等注意事項 …

GPT內功心法:搜索思維到GPT思維的轉換

大家好,我是herosunly。985院校碩士畢業,現擔任算法研究員一職,熱衷于機器學習算法研究與應用。曾獲得阿里云天池比賽第一名,CCF比賽第二名,科大訊飛比賽第三名。擁有多項發明專利。對機器學習和深度學習擁有自己獨到的見解。曾經輔導過若干個非計算機專業的學生進入到算法…

Linux6.38 Kubernetes 集群存儲

文章目錄 計算機系統5G云計算第三章 LINUX Kubernetes 集群存儲一、emptyDir存儲卷2.hostPath存儲卷3.nfs共享存儲卷4.PVC 和 PV 計算機系統 5G云計算 第三章 LINUX Kubernetes 集群存儲 容器磁盤上的文件的生命周期是短暫的,這就使得在容器中運行重要應用時會出…

編寫 loading、加密解密 發布NPM依賴包,并實施落地使用

你的 Loading 開箱即可用的 loading, 說明:vue3-loading 是一個方便在 Vue 3 項目中使用的加載指示器組件的 npm 插件。它允許您輕松地在項目中添加加載動畫,提升用戶體驗。 目錄 你的 Loading🌍 安裝🛹 演示地址&…

C# WPF 無焦點自動獲取USB 二維碼掃碼槍內容,包含中文

C# WPF 無焦點自動獲取USB 二維碼掃碼槍內容,包含中文 前言項目背景 需要預知的知識實現方案第一步 安裝鍵盤鉤子第二步 獲取輸入的值第3 步 解決中文亂碼問題分析解決思路工具函數 結束 前言 USB接口的掃碼槍基本就相當于一個電腦外設,等同于一個快速輸…

Oracle Data Redaction與Data Pump

如果表定義了Redaction Policy,導出時數據會脫敏嗎?本文解答這個問題。 按照Oracle文檔Advanced Security Guide第13章,13.6.5的Tutorial,假設表HR.jobs定義了Redaction Policy。 假設HR用戶被授予了訪問目錄對象的權限&#xf…

Unity引擎使用InteriorCubeMap采樣制作假室內效果

Unity引擎制作假室內效果 大家好,我是阿趙。 ??這次來介紹一種使用CubeMap做假室內效果的方式。這種技術名叫InteriorCubeMap,是UE引擎自帶的節點效果。我這里是在Unity引擎里面的實現。 一、效果展示 這個假室內效果,要動態看才能看出效…

柏睿向量數據庫Rapids VectorDB賦能企業級大模型構建及智能應用

ChatGPT的問世,在為沉寂已久的人工智能重新注入活力的同時,也把長期默默無聞的向量數據庫推上舞臺。今年4月以來,全球已有4家知名向量數據庫公司先后獲得融資,更加印證了向量數據庫在AI大模型時代的價值。 什么是向量數據庫? 在認識向量數據庫前,先來了解一下最常見的關…

【業務功能篇62】Spring boot maven多模塊打包時子模塊報錯問題

程序包 com.xxx.common.utils不存在或者xxx找不到符號 我們項目中一般都是會分成多個module模塊,做到解耦,方便后續做微服務拆分模塊,可以直接就每個模塊進行打包拎出來執行部署這樣就會有模塊之間的調用,比如API模塊會被Service…