成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_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国内精品久久久久久久
    国产在线精品免费av| 91在线国产观看| 最新国产の精品合集bt伙计| 伊伊综合在线| 成人免费黄色大片| 韩国一区二区视频| 亚洲美女在线国产| 国产精品丝袜久久久久久app| 欧美日本国产视频| 亚洲人体一区| 含羞草久久爱69一区| 91在线国产福利| 不卡的看片网站| 国产传媒一区在线| 国产精品资源网| 国内精品国产成人| 久久99精品国产.久久久久| 视频一区二区不卡| 三级亚洲高清视频| 亚洲色图视频免费播放| 亚洲特级片在线| 欧美电视剧在线观看完整版| 日韩无一区二区| 日韩一区二区电影在线| 日韩限制级电影在线观看| 欧美高清dvd| 91精品国产一区二区三区| 欧美日韩和欧美的一区二区| 欧美中文字幕不卡| 欧美日韩一区二区在线视频| 在线区一区二视频| 在线免费av一区| 欧美亚洲日本国产| 欧美日韩精品三区| 日韩一二三四区| 国产婷婷色一区二区三区| 国产嫩草影院久久久久| 国产精品久久久久久久久久免费看 | 成人av资源站| 精品一区精品二区高清| 国产乱淫av一区二区三区 | 蜜桃精品视频在线| 国产一区二区三区免费播放| 高清国产一区二区三区| 国产在线精品不卡| 91麻豆成人久久精品二区三区| 狠狠色噜噜狠狠色综合久| 久久综合影音| 久久精品视频一区二区三区| 午夜精品久久久久影视| 99精品视频在线观看免费| 久久久精彩视频| 久久综合狠狠综合| 免费亚洲电影在线| 国产一区视频观看| 欧美精品tushy高清| 亚洲美女屁股眼交3| 国产69精品久久777的优势| 国产亚洲激情| 久久久一区二区三区| 天堂一区二区在线| 欧美88av| 制服丝袜一区二区三区| 一区二区三区不卡在线观看| 国产一区不卡视频| 老司机精品久久| 最新日韩av在线| gogo大胆日本视频一区| 色婷婷av一区二区三区之一色屋| 国产精品久久二区二区| 国产精品1区二区.| 色婷婷亚洲精品| 国产精品美日韩| 成人国产精品免费网站| 欧美性做爰猛烈叫床潮| 亚洲美女视频一区| 国内精品久久久久久久97牛牛 | 成人av资源在线观看| 欧美中文字幕亚洲一区二区va在线| 亚洲欧美福利一区二区| 欧美片网站免费| 亚洲精品一区二区三区影院| 久久99最新地址| 久久久久国产精品一区二区| 亚洲精品国产第一综合99久久| 91麻豆精品一区二区三区| 日韩你懂的在线播放| 国产真实精品久久二三区| 老司机精品导航| 亚洲国产日韩一区二区| 亚洲精品极品| 国产精品二三区| 国内精品久久久久久久97牛牛| 久久久不卡影院| av一区二区久久| 欧美va日韩va| 成人激情综合网站| 精品国产乱码久久久久久影片| 国产一区二区三区四| 欧美日韩国产免费| 青青草成人在线观看| 色视频欧美一区二区三区| 婷婷久久综合九色综合绿巨人| 亚洲综合国产| 偷窥国产亚洲免费视频| 日本精品一区二区三区高清| 天天av天天翘天天综合网| 日本精品免费观看高清观看| 婷婷综合在线观看| 欧亚一区二区三区| 国产一区二区三区四| 日韩精品中文字幕一区| 99久久精品国产麻豆演员表| 国产亚洲美州欧州综合国| 欧美精品一卡| 亚洲丝袜制服诱惑| 久久精品91| 国产一区二区三区精品视频| 日韩一卡二卡三卡| 91网上在线视频| 亚洲人吸女人奶水| 色噜噜偷拍精品综合在线| 久久99热99| www激情久久| 亚洲精品资源| 三级不卡在线观看| 91精品福利在线一区二区三区| eeuss鲁片一区二区三区| 国产精品美女久久久久久久网站| 国产欧美一级| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩大陆在线| 欧美高清视频一区| 亚洲综合色丁香婷婷六月图片| 91国偷自产一区二区三区成为亚洲经典| 精品在线亚洲视频| 2019国产精品| 夜久久久久久| 国内精品免费**视频| 中文字幕欧美激情| 国产精品久久国产三级国电话系列| 久久国产欧美日韩精品| www久久精品| 国产精品乱看| 国产精品影视在线观看| 国产精品久久99| 欧美亚一区二区| 国产一区二区三区四区三区四| 天堂成人免费av电影一区| 欧美va亚洲va国产综合| 国产欧美日韩| 99re这里只有精品首页| 午夜精品123| 国产日本亚洲高清| 欧美视频在线一区| 一区精品久久| 国产成人综合在线播放| 亚洲自拍偷拍图区| 精品福利一二区| 色婷婷一区二区三区四区| 色综合中文综合网| 91麻豆自制传媒国产之光| 婷婷国产v国产偷v亚洲高清| 26uuu色噜噜精品一区二区| 色悠悠亚洲一区二区| 欧美日韩一区二区三区在线观看免| 石原莉奈在线亚洲二区| 中文字幕中文在线不卡住| 678五月天丁香亚洲综合网| 99在线|亚洲一区二区| 91视频免费看| 国产精品自产自拍| 日韩电影网1区2区| 国产精品久久久久久久午夜片| 欧美一卡2卡三卡4卡5免费| 久久国产精品一区二区三区四区| 欧美chengren| 粉嫩av一区二区三区粉嫩| 免费人成精品欧美精品| 亚洲精品一二三四区| 欧美国产成人精品| 精品日韩在线观看| 91精品久久久久久久99蜜桃| 久久一区中文字幕| 午夜一区不卡| 国产日韩欧美一区二区三区在线观看 | 亚洲欧美日韩系列| 欧美激情在线免费观看| 日韩欧美一区二区不卡| 欧美日韩mp4| 欧美主播一区二区三区美女| 久久成人在线| 午夜在线精品偷拍| 国产婷婷精品| 亚洲精品一区二区三区av| 亚洲网站啪啪| 亚洲手机在线| 亚洲人体一区| 亚洲一区二区动漫| 噜噜噜噜噜久久久久久91|