成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Tomcat 與 maven 的安裝與使用教程

瀏覽:315日期:2023-03-19 16:51:59
目錄
  • Tomcat
    • 1、下載
    • 2、重要目錄
    • 3、使用 Tomcat
      • 3.1、啟動 Tomcat
      • 3.2、使用瀏覽器訪問 Tomcat
      • 3.3、通過 webapps 目錄部署頁面
  • Maven
    • 1、什么是 Maven ?
      • 2、使用 Maven
        • 2.1、創建項目
        • 2.2、maven 管理依賴

    Tomcat

    談到 “湯姆貓”,大家可能更多想到的是大名鼎鼎的貓和老鼠

    事實上,Java 世界中的 “湯姆貓” 完全不是一回事,但是同樣大名鼎鼎

    Tomcat 是一個 HTTP 服務器

    • HTTP 協議就是 HTTP 客戶端和 HTTP 服務器之間的交互數據的格式
    • 同時也通過 ajax 和 Java Socket 分別構造了 HTTP 客戶端
    • HTTP 服務器我們也同樣可以通過 Java Socket 來實現,而 Tomcat 就是基于 Java 實現的一個開源免費,也是被廣泛使用的 HTTP 服務器

    HTTP 協議我們也可以認為是基于 TCP
    HTTP 服務器,就是在 TCP 服務器的基礎上,加上了一些額外的功能:
    能夠解析請求中的 HTTP 報文,把請求轉換成結構化數據(對象),也能很方便的構造 HTTP 響應
    HTTP 服務器提供了一組 API,方便程序猿直接調用,來操作 HTTP 協議,從而簡化程序猿的開發工程

    HTTP 服務器,是屬于很大的類別
    這個分類下面,其中包含著很多很多具體的實現,Tomcat 只是其中的一種 (Java 圈子里,最知名的一種) 還有 Nginx

    Tomcat HTTP 服務器,按照 HTTP 協議的格式來解析請求,,調用用戶指定的相關代碼,并且按照 HTTP 響應的格式來構造返回數據

    1、下載

    Tomcat 官網:Apache Tomcat

    Apache 是一個組織,就是開發維護 Tomcat 的那個組織,Apache 是開源社區中一個非常有影響力的組織

    org 也是一個常見的頂級域名,org 后綴的都表示是一個非營利組織的域名,咱們平時看到的都是 .com… .cn

    Tomcat 的版本,會和 JDK 以及 Servlet 的版本都是密切綁定在一起的,我們使用 Tomcat 8 的版本

    解壓縮:

    2、重要目錄

    bin:啟停腳本

    • .bat 后綴的文件,是 windows 的批處理文件。.sh 后綴的文件,是linux 的 shell 腳本的文件
    • 都是屬于一雙擊就能運行的程序
    • 要想啟動 tomcat 就可以直接雙擊這個 startup.bat
    • 既然這里包含了startup.sh,是否意味著當前咱們下載的這個壓縮包,在 linux 上也能直接運行呢??

    答案是肯定的!!
    Tomcat 其實是基于 Java 實現的,Java跨平臺

    conf:Tomcat 的配置文件

    • 是通過 xml 的格式來組織的

    比如想修改下 tomcat 的端口號,tomcat 默認綁定的是 8080 端口

    logs :日志

    • 這個目錄中記錄了很多的日志
    • 日志其實就是表示了 Tomcat 運行中的一些具體過程細節,日志其實就是通過類似于 printIn 這樣的代碼打印出來的結果

    webapps:

    • 這個目錄中放的是咱們部署的 servlet 程序
    • 每個 servlet 程序,都是一個 war后綴的文件 (也是一種壓縮包格式),tomcat 會自動把這個 war 解壓縮,得到一個目錄
    • 每個 war 其實就對應了一個 webapp (相當于是一個網站)
    • 一個Tomcat 上,允許你同時部署多個 webapp (多個網站)

    正因為,一個 Tomcat 上面可以同時部署多個 Servlet 程序,所以,也可以把 Tomcat 稱為 "Servlet 的容器”,或者簡稱為 “容器”
    網上稱:Tomcat是一個容器 container… (經常會見到的)

    容器1:Java 集合類 => C++就稱為容器 => 間接的導致了有些 Java 程序猿也管集合類叫做容器

    容器2:Tomcat 是 Servlet 的 容器,一個 Tomcat 上面可以承載多個webapp

    容器3:Spring 可以管理很多很多個 Bean 對象,Spring 也可以稱為Bean 的容器

    容器4:Docker 也是涉及到容器的概念,Docker 可以認為是輕量級的虛擬機 (軟件模擬出來的一個計算機),一個 docker 程序里,可以有多個 “輕量虛擬機”,每個輕量虛擬機里面又可以包含很多程序,就把這個輕量虛擬機稱為容器,進一步的也把 docker 也稱為容器了……

    …….

    所以未來看到容器這個詞的時候,一定要擦亮眼睛,仔細的結合上下文,來分析分析,當前這個"容器" 到底是啥,不要把不同的容器混為一談!

    3、使用 Tomcat

    3.1、啟動 Tomcat

    運行 startup.bat

    看到這句話,說明你的 tomcat 啟動成功

    中間的亂碼,是由于統一編碼方式
    Tomcat 內部使用的編碼方式,是 utf8 (utf8 就是咱們當下最主流的編碼方式)
    但是,咱們使用的 windows 是 "簡體中文版” 默認的字符集是 GBK,cmd 這個程序,也是跟隨了系統的字符集
    數據是按照 utf8 來構造的,但是 cmd 在顯示的時候按照了 GBK 的方式來解析,勢必就會出現亂碼!!!

    把 cmd 字符編碼改成 utf8 并不容易,cmd 自身沒有提供設置字符集的功能,需要修改電腦的注冊表

    Windows 系統的總的配置中心(總指揮部),謹慎修改?。?!

    Tomcat 還有其他的方式:

    • 結合 IDEA來使用
    • 在 Linux 上使用

    閃退原因:

    (1) 原因1 環境變量的問題

    Tomcat 要想能運行,得能夠找到 JDK !!!
    如何才能找到 JDK? 你的 JDK 到底安裝在系統的哪個位置上了

    靠咱們之前最開始的時候配置的 “環境變量”

    就是在描述當前咱們把JDK給裝到哪里去了~~,得讓Tomcat 找到JDK的位置,才能去調用嘛

    如何解決這個問題? 需要能看到報錯提示!! 閃退了如何看到報錯提示???
    方案就是把雙擊運行的腳本直接拖到 cmd 中來運行

    如果這里的這一組環境變量,某個有問題,就會告訴你,是誰有問題

    不一定是配一個就能好!!! 再重復上述步驟,看接下來報啥錯

    類似于上述環境變量,其實 tomca 自身就在嘗試配置,一般來說,tomcat 就自動配好了,但是不排除有些情況下 tomcat 自動配置不生效,這個時候就可以手動配置了

    (2) 原因2 端口號被占用了

    Tomcat 是一個 HTTP 服務器,啟動的時候要綁定端口,一般是綁定兩個端口號:8080,8005
    如果這個端口已經被其他程序占用了,此時你啟動肯定是失效的!!(閃退)
    最典型的情況:你已經啟動了一個 tomcat,你再嘗試啟動第二個,第二個 tomcat 妥妥的失敗

    第二個情況是很可能電腦上有別的程序占用了 8080 / 8005
    比如 web 開發,配置 windows 自帶的 IIS 服務器 (這個服務器默認端口也是 8080 ),如果 IIS 在運行中,tomcat 大概率啟動不了的,找到是哪個程序占用了 8080 / 8005,cmd 輸入 ,關閉對應的程序或者給 tomcat 換個端口

    3.2、使用瀏覽器訪問 Tomcat

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KfT9PUki-1655171538703)(C:\Users\Gwen\Desktop\4e54eaf098194c2dad75cc911f2aab4d.png)]

    一般你裝上了 tomcat 就會帶有這個歡迎頁面,127.0.0.1:8080 ,看到這個頁面就說明tomcat 已經成功啟動了
    光看看歡迎頁面,沒什么意思,需要自己在 \webapps\ROOT 部署一些頁面到 tomcat 上去

    通過 Tomcat 訪問:

    是可以讓別人訪問你的 html 的,就是做網站的初衷

    通過本地文件訪問:

    這個方式僅限于,使用自己的主機來訪問,別人的主機想通過這種方式訪問你的 html 是做不到

    那么此時能否讓別人訪問我的頁面?不能,這是因為 NAT => IPv4,內網ip 和 外網ip 結合

    此時我的 ip是 192.168.178.1,以

    • 10.*
    • 172.16.* - 172.31*
    • 192.168.*

    開頭的都是內網ip,內網IP 只能在局域網內部使用,不能被其他局域網直接訪問
    除非你連上我的路由器,在同一個局域網里你才能訪問我的主機

    因此,要想讓 tomcat 真正做到讓頁面被外面的人訪問,就需要能夠搞一個外網IP,買一個云服務器,就有了一個外網IP !!!

    當前 chrome 會把所有的不是 HTTPS 的都標記成 “不安全”,
    咱們的 tomcat 也是當然支持 HTTPS (需要額外配置,尤其是你得申請證書

    3.3、通過 webapps 目錄部署頁面

    雖然咱們部署了頁面到 tomcat 上,但是這里還有個問題,當前如果頁面簡單還好,直接放到 ROOT 就行了

    如果當前頁面比較復雜,(若干個 HTML,還依賴了一些 css,圖片,js…) 如果全都堆在這個 ROOT 目錄里,就非常不優雅了

    因此更好的做法,是在 webapps 里單獨創建一個目錄,把你的頁面部署到這個目錄中

    將博客系統的代碼全部復制進來

    出現 404,一般就是你訪問的資源不存在

    • 請求的路徑不對
    • 路徑雖然對,但是資源沒被服務器加載起來 [此處的原因,重啟下服務器才能加載資源]

    通過這個 http://127.0.0.1:8080/blog102/blog_list.html,就會看到我們的博客頁面

    壓縮這個 blog102,通過服務器,就可以讓別人訪問自己的頁面

    以上內容,都是基于 tomcat 來部署 “靜態頁面”

    頁面內容,是固定不變的
    后面還需要學習基于 Tomcat 來生成動態頁面 (根據用戶輸入的不同,會得到不同的結果)
    像搜狗主頁這種頁面就是靜態頁面
    像搜狗的搜索結果頁,這種頁面就是動態頁面,用戶輸入不同的詞,得到的結果是不同的

    web 開發主要的工作,其實還是在動態頁面這邊

    接下來重點學習的,就是動態頁面的構造
    學習 Tomcat 給程序猿提供的這組用來操作 HTTP 的 API => Servlet

    這里的 API 和 HTTP 協議緊密相關

    正式學習 Servlet 之前,需要先學點前置知識 (HTTP 和 Tomcat 也算是 Servlet 的前置知識)

    Maven

    1、什么是 Maven ?

    maven 是一個 Java 世界中,非常知名的 “工程管理工具” / “構建工具”

    核心功能:

    1.管理依賴

    • 就是指進行一個 A 操作 之前,要先進行一個 B 操作。例如你要結婚,先要有女朋友
    • 再比如,editor.md,就依賴了 jquery,得先讓頁面加載 jquery,再加載 editor.md

    2.構建 / 編譯(也是在調用 jdk )

    3.打包

    • 把 java 代碼給構造成 jar 或者 war
    • jar 就是一個特殊的壓縮包,類似于 rar,里面就是把各種 .class 文件放到一起了

    Java 中常見的程序發布方式

    maven 存在的意義就是能夠直接把這些操作串起來,一氣呵成

    咱們寫代碼,也是有很多的依賴的 (當前階段,依賴的東西不多)

    • 經常會依賴標準庫
    • 經常依賴一些第三方庫,引入的一些其他 jar 包~~

    比如前面寫 JDBC 代碼的時候,當時就下載了一個 mysql 的驅動包~~ 寫代碼的時候,也可能是有關系很復雜的依賴~~
    A-> B -> C ->D

    如果你是手動管理這個依賴,這個過程就會相當蛋疼!!! 不光你得研究清楚,每個庫都依賴哪些其他庫
    而且還得研究清楚,這些依賴之間的版本是怎么關聯的

    為了解決上述的依賴問題,很多編程語言都引入了自己的包管理工具 (自動解決依賴)

    Java:Maven Gradle
    Python:pip
    JS:npm
    各種語言都有…
    但是除了 C++ … 目前為止,C++ 官方還沒有提供這樣的一個包管理工具,第三方的包管理工具是有,但是問題都很多… 沒有一個像Maven 這種這么成熟的工具~~
    咱們當前用的 maven,隔壁 C++ 的小孩們都饞哭了~~

    如何下載安裝 maven ?
    網上有很多下載安裝 maven 的教程,大家千萬不要去參考!!!
    咱們的做法其實就是啥也不干就行了 ( IDEA 內置了現成的 maven )
    “不打等于上分”

    2、使用 Maven

    2.1、創建項目

    搭配 IDEA 的使用方式:選擇 maven 的方式來創建項目

    這幾個東西的用途就是,如果你寫了一個程序,你要發布到 maven 中央倉庫上,這三個參數就是你這個程序在中央倉庫的身份標識

    下載 mysql 的驅動包,就是從 中央倉庫 搞的呀~~
    Java 圈子里有很多的大佬實現了很多的第三方庫~~ 這么多第三方庫,組織形式就是把他們統一放到一個中央倉庫這里,方便用戶去查找

    這個是創建好的項目的目錄結構~~
    src/main/java 這個目錄用來放咱們的 java 代碼~~

    src/main/resources 這個目錄用來放一些依賴的資源

    src/test/java 這個目錄用來放單元測試的代碼~~ (暫時不涉及)

    pom.xml 這個是maven 項目的核心配置文件,一個 maven 項目的司令部~~
    ——文件是使用 xml 這種格式來組織~~

    創建好項目后,如何使用?

    右標簽菜單,如果沒有,在 View-Tool Windows-Maven
    這里羅列的這些內容,其實都是可以通過 maven 來進行操作的

    咱們用的最多的打包
    打包不僅僅是完成打包,會執行上面的所有操作~~
    這里的打包結果一般是一個 jar 或者是一個 war

    2.2、maven 管理依賴

    使用 maven 幫我們下載并安裝第三方庫~~

    以 mysql 驅動包為例

    • 中央倉庫上,找到 mysql 驅動包 Maven Repository MySQL Connector/J » 5.1.47 版本
    • 把這里的 maven 標簽頁下的這個 xml 配置給復制下來~~

    把這個內容粘貼到 pom.xml

    dependencies 標簽中,可以放多個 dependency 標簽,一個項目可以引入多個依賴

    初始情況下的 pom.xml 可能沒有這個標簽,就需要手動創建一下

    一般來說,maven 就會自動從中央倉庫那里來下載依賴了~~
    —般會在右下角這里顯示一個下載的狀態~~

    第一次使用的時候,可能會下載比較久,一旦下載好了之后,后續就能直接用了
    (第一次使用的時候,mysql 和 版本啥的這幾個字是紅色的)

    如果 idea 沒有自動觸發下載,手動點 maven 右上角的刷新按鈕

    由于中央倉庫,服務器在國外~~ 下載速度可能會比較慢!!! 默認的源在國外,是不太穩定的,如果你實在不行,也可以手動的把 maven 倉庫給配置成使用國內的源 (使用國內的中央倉庫),能用默認的源,就用默認的,默認的源大部分情況下是好的

    出現了這條: Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:2.6,把所有的文件刪除掉,再次執行更新就能夠解決這個問題,這次終于成功了!

    如果看到了下圖這個庫,說明就是引入成功了!!!

    如果沒有這個庫,嘗試點擊右上角的那個刷新按鈕,你要注意右下角的下載的進度條~~

    無論是 maven 還是其他的庫,都是通過同樣的方式來引入的,只要把對應的 xml 片段(坐標) 拷貝到你的 pom.xml 中即可~~

    到此這篇關于Tomcat 與 maven 的安裝與使用的文章就介紹到這了,更多相關Tomcat 與 maven安裝內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: Tomcat
    成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
    欧美大肚乱孕交hd孕妇| 91视频一区二区三区| 欧美激情四色| 精品动漫一区二区三区在线观看| 狠狠久久亚洲欧美| 色婷婷久久久亚洲一区二区三区| 亚洲制服丝袜在线| 亚洲一区精品视频| 一区二区不卡在线播放 | 911精品产国品一二三产区| 美女一区二区在线观看| 欧美三级日韩在线| 久久99国产精品尤物| 欧美精品黑人性xxxx| 国产精品一区二区在线播放| 91精品国产黑色紧身裤美女| 丁香婷婷综合色啪| 欧美精品一区二区在线观看| av电影在线不卡| 国产午夜精品一区二区三区嫩草| 91美女视频网站| 国产欧美日产一区| 欧美日一区二区在线观看| 国产三级一区二区| 狠久久av成人天堂| 亚洲精选免费视频| 校园激情久久| 日本午夜精品视频在线观看 | 日韩一区二区在线观看视频播放| 国内精品久久久久影院色| 欧美一级日韩免费不卡| 成人一区二区三区在线观看| 久久久99久久精品欧美| 91女厕偷拍女厕偷拍高清| 国产精品毛片高清在线完整版| 亚洲国产成人不卡| 夜夜精品浪潮av一区二区三区| 亚洲欧美日韩精品综合在线观看| 三级一区在线视频先锋| 欧洲精品一区二区| 国产精品一级在线| 久久久精品综合| 亚洲欧洲日韩综合二区| 亚洲国产日日夜夜| 欧美日韩一级大片网址| 国产凹凸在线观看一区二区| 国产清纯白嫩初高生在线观看91 | 欧美日韩一区不卡| 国产一区二区三区美女| 欧美精品一区二区三区一线天视频| 91麻豆高清视频| 亚洲精品国产无天堂网2021 | 亚洲欧洲国产专区| 香蕉国产精品偷在线观看不卡| 男人的天堂久久精品| 欧美一卡2卡三卡4卡5免费| 97久久精品人人做人人爽50路| 中文字幕中文字幕一区| 亚洲综合好骚| 国产综合一区二区| 久久久99免费| 国产亚洲综合精品| 久久99精品久久久久久久久久久久 | 337p日本欧洲亚洲大胆精品| 狠狠色噜噜狠狠色综合久| 亚洲国产欧美日韩另类综合| 欧美日韩亚洲综合一区二区三区 | 成人深夜在线观看| 国产精品福利影院| 色丁香久综合在线久综合在线观看| 国产一区二区三区四区五区入口| 久久影院午夜论| 国产欧美日韩在线播放| 精品亚洲aⅴ乱码一区二区三区| 国产视频一区在线观看| 麻豆精品视频| 成人影视亚洲图片在线| 又紧又大又爽精品一区二区| 欧美吞精做爰啪啪高潮| 91免费视频网址| 性久久久久久久久久久久 | 一区二区三区电影在线播| 欧美日韩和欧美的一区二区| 91香蕉视频污| 亚洲一区二区三区不卡国产欧美| 欧美一区二区三区免费在线看| 国产精品www.| 老司机精品视频在线| 久久九九影视网| 色久优优欧美色久优优| 91蜜桃免费观看视频| 青青草原综合久久大伊人精品优势| 久久亚洲欧美国产精品乐播 | 欧美亚洲高清一区二区三区不卡| 不卡av在线免费观看| 亚洲一区二区三区影院| 日韩精品一区二区三区在线| 国产精品五区| 99国产精品久久久久久久久久| 亚洲一区在线看| 欧美精品一区二区精品网| 久久国产欧美精品| 欧美成人69| 精品亚洲aⅴ乱码一区二区三区| 中文字幕日本不卡| 欧美一区二区三区免费视频| 一本一本a久久| 91网站在线播放| 久久99久久久欧美国产| 亚洲免费在线视频一区 二区| 在线播放91灌醉迷j高跟美女| 99伊人成综合| 成人在线综合网| 午夜国产不卡在线观看视频| 久久午夜老司机| 欧美色手机在线观看| 夜夜嗨网站十八久久| 91麻豆蜜桃一区二区三区| 久久www免费人成看片高清| 亚洲精品大片www| 久久亚洲精品国产精品紫薇| 欧美亚洲动漫另类| 99亚洲精品| 欧美国内亚洲| 国产剧情av麻豆香蕉精品| 偷偷要91色婷婷| 中文字幕一区二区三区四区不卡 | 日韩精品中文字幕在线不卡尤物 | 欧美一区二区三区精品| 久久亚洲欧美| 亚洲国内在线| 99re这里只有精品6| 久久97超碰国产精品超碰| 亚洲国产欧美在线| 自拍偷拍国产亚洲| 久久久不卡网国产精品一区| 9191国产精品| 欧美探花视频资源| 久久久福利视频| 亚洲人成网站在线观看播放| 91视频www| 福利电影一区二区| 韩国精品一区二区| 美女一区二区久久| 性欧美疯狂xxxxbbbb| 一区二区三区欧美视频| 国产精品区一区二区三区| 久久五月婷婷丁香社区| 884aa四虎影成人精品一区| 91国产福利在线| 亚洲永久网站| 亚洲视频成人| 亚洲区第一页| 亚洲欧洲久久| 国内精品国语自产拍在线观看| 91美女在线观看| www.视频一区| aa级大片欧美| 99久久精品国产麻豆演员表| 懂色一区二区三区免费观看| 国产一区二区三区免费看| 久久国产夜色精品鲁鲁99| 日本系列欧美系列| 日韩国产欧美一区二区三区| 亚洲福中文字幕伊人影院| 亚洲男人的天堂在线观看| 国产精品久久久久久久久免费桃花 | 欧美视频在线一区二区三区| 久久久999| 久久久水蜜桃av免费网站| 日韩午夜免费| 一区二区三区欧美成人| 亚洲精品韩国| 在线精品亚洲| 中日韩在线视频| 国产美女诱惑一区二区| 日韩网站在线| 一区二区激情| 亚洲一区视频| 久久亚洲高清| 在线观看日韩国产| 欧美日韩亚洲综合一区二区三区 | 91精品国产日韩91久久久久久| 欧美精品久久天天躁| 4438x亚洲最大成人网| 欧美一区二区三区免费大片 | 亚洲成人免费看| 午夜视频久久久久久| 日韩国产在线一| 日本不卡视频一二三区| 美女视频网站久久| 国产美女av一区二区三区| 成人性视频免费网站| 91麻豆免费看| 亚洲人成高清| 91成人免费在线| 日韩一卡二卡三卡国产欧美| 久久久久久免费毛片精品| 亚洲国产成人在线| 亚洲精品国产品国语在线app|