Tomcat就是這麼簡單

来源:https://www.cnblogs.com/Java3y/archive/2018/02/03/8410739.html
-Advertisement-
Play Games

什麼是Tomcat Tomcat簡單的說就是一個運行JAVA的網路伺服器,底層是Socket的一個程式,它也是JSP和Serlvet的一個容器。 為什麼我們需要用到Tomcat 如果你學過html,css,你會知道你寫的頁面只能自己訪問, 別人不能遠程訪問你寫的頁面 ,Tomcat就是 提供能夠讓別 ...


什麼是Tomcat

Tomcat簡單的說就是一個運行JAVA的網路伺服器,底層是Socket的一個程式,它也是JSP和Serlvet的一個容器。


為什麼我們需要用到Tomcat

如果你學過html,css,你會知道你寫的頁面只能自己訪問,別人不能遠程訪問你寫的頁面,Tomcat就是提供能夠讓別人訪問自己寫的頁面的一個程式


配置Tomcat

運行Tomcat需要JDK的支持【Tomcat會通過JAVA_HOME找到所需要的JDK】。

  • 新建JAVA_HOME環境變數【路徑是JDK的主目錄】

  • 進入Tomcat目錄下的bin中啟動startup.bat,以下是成功啟動Tomcat的頁面。

  • 在瀏覽器地址欄輸入http://localhost:8080,如果能夠出現Tomcat頁面,說明配置成功了

註意:如果在使用Tomcat時出現了Error deploying web application directory web222,很大原因就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,所以要降低jdk版本【換成JDK7】


當然也有可能不是一帆風順能夠直接啟動Tomcat,不能正常啟動Tomcat會有以下情況

  1. JAVA_HOME配置錯誤
  2. 埠被占用了
    • 第一種方法:在cmd輸入netstat -anb查看誰占用了該埠【Tomcat預設的是8080】,在進程中關閉它
    • 第二種方法:主動改變tomcat的埠, 到tomcat主目錄下的conf/server.xml文件中修改,把8080埠改成是8088或者是其他的‘

相關術語介紹


tomcat結構目錄

目錄的簡單介紹

  1. bin:啟動和關閉tomcat的bat文件
  2. conf:配置文件
    • server.xml該文件用於配置server相關的信息,比如tomcat啟動的埠號,配置主機(Host)
    • web.xml文件配置與web應用(web應用相當於一個web站點)
    • tomcat-user.xml配置用戶名密碼和相關許可權.
  3. lib:該目錄放置運行tomcat運行需要的jar包
  4. logs:存放日誌,當我們需要查看日誌的時候,可以查詢信息
  5. webapps:放置我們的web應用
  6. work工作目錄:該目錄用於存放jsp被訪問後生成對應的server文件和.class文件

webapps目錄的詳細說明

在webapps中建立了web1目錄,下麵放置我們的html文件,jsp文件,圖片等等,則web1就被當做web應用管理起來【tomcat6.0以後的版本才支持】

例子:在webapps下創建一個web站點,在web站點下創建一個html文件,訪問html文件


web站點的目錄是有規範的

為什麼要這樣設置web站點目錄呢?

  • 需求:我有多個html文件,想把其中的一個html文件作為我web站點的首頁。
  • 如果沒有WEB-INF目錄下的web.xml文件支持,是無法解決我的需求的
  • 這個規範是約定熟成的。

下麵將web站點下的helloword2.xml文件作為站點的首頁

  • 新建一個WEB-INF目錄

  • 在WEB-INF目錄下創建一個web.xml

  • web.xml我們不可能會寫,所以可以在webapps目錄下其他的站點中抄一份過來【複製ROOT/WEB-INF/web.xml的文件到自己的站點中】

  • 在web.xml中添加以下代碼


      <welcome-file-list>
            <welcome-file>helloword2.html</welcome-file>
      </welcome-file-list>

  • 訪問web站點【helloword2.html已經是web站點的首頁了,所以不需要指定資源訪問了


配置虛擬目錄

為什麼需要配置虛擬目錄?

  • 如果把所有web站點的目錄都放在webapps下,可能導致磁碟空間不夠用,也不利於對web站點目錄的管理【如果存在非常多的web站點目錄】
  • web站點的目錄分散到其他磁碟管理就需要配置虛擬目錄【預設情況下,只有webapps下的目錄才能被Tomcat自動管理成一個web站點】
  • 把web應用所在目錄交給web伺服器管理,這個過程稱之為虛擬目錄的映射

配置虛擬目錄方法一:

  • 在其他盤符下創建一個web站點目錄,並創建WEB-INF目錄和一個html文件。

  • 找到Tomcat目錄下/conf/server.xml文件

  • 在server.xml中的

        <Context path="/web1" docBase="D:\web1"/>

  • 訪問配置好的web站點


配置虛擬目錄方法二:

  • 進入到conf\Catalina\localhost文件下,創建一個xml文件,該文件的名字就是站點的名字。
    這裡寫圖片描述

  • xml文件的代碼如下,docBase是你web站點的絕對路徑

    <?xml version="1.0" encoding="UTF-8"?> 
    <Context 
    docBase="D:\web1" 
    reloadable="true"> 
    </Context> 
  • 訪問web站點下的html資源
    這裡寫圖片描述


配置臨時功能變數名稱

訪問Tomcat伺服器有好幾種方式

  • 使用localhost功能變數名稱訪問【localhost代表本機】
  • 使用ip地址127.0.0.1訪問【該ip地址也是本機】
  • 使用機器名稱訪問【只限用於本機上或者區域網】
  • 使用本機IP地址訪問【在cmd中輸入ipconfig可以查詢到本機IP地址
  • 還可以為機器配置臨時功能變數名稱

配置臨時功能變數名稱步驟

  • 打開到C:\Windows\System32\drivers\etc下,找到hosts文件

  • 在hosts文件下配置臨時功能變數名稱


設置虛擬主機

什麼是虛擬主機?

多個不同功能變數名稱的網站共存於一個Tomcat中

為什麼需要用到虛擬主機?

例子:我現在開發了4個網站,有4個功能變數名稱。如果我不配置虛擬主機,一個Tomcat伺服器運行一個網站,我就需要4臺電腦才能把4個網站運行起來。

配置虛擬主機的步驟

  • 在tomcat的server.xml文件中添加主機名

      <Host name="zhongfucheng" appBase="D:\web1">
                    <Context path="/web1" docBase="D:\web1"/>
      </Host>

  • 訪問虛擬主機下的web站點

Tomcat體繫結構


瀏覽器訪問WEB資源的流程圖


練習

在瀏覽器輸入http//:zhongfucheng直接顯示到頁面

分析:

  1. 需要配置虛擬主機
  2. 把8080埠改成80
  3. 設置web站點首頁
  4. 映射虛擬目錄為/

如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章的同學,可以關註微信公眾號:Java3y


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當需求相似的函數需要使用裝飾器時,這種差別不大的函數,如果定義多個相似的裝飾器來各自裝飾特定函數就太過贅餘了。 【比如說A需要記錄日誌功能的裝飾器,B需要記錄日誌+發送給指定管理員功能的裝飾器,它們之間有重合的功能--記錄日誌】【如果相同代碼量很大,那麼新弄的代碼重覆量就更大了】 為瞭解決這種問題,... ...
  • Github: "https://github.com/nnngu/LearningNotes" 製作爬蟲的步驟 製作一個爬蟲一般分以下幾個步驟: 分析需求 分析網頁源代碼,配合開發者工具 編寫正則表達式或者XPath表達式 正式編寫 python 爬蟲代碼 效果預覽 運行效果如下: ![][1] ...
  • 題目背景 這是一道模板題。 題目描述 讀入一個長度為 nn 的由大小寫英文字母或數字組成的字元串,請把這個字元串的所有非空尾碼按字典序從小到大排序,然後按順序輸出尾碼的第一個字元在原串中的位置。位置編號為 11 到 nn 。 輸入輸出格式 輸入格式: 一行一個長度為 nn 的僅包含大小寫英文字母或數 ...
  • 這裡介紹簡單的驗證碼功能 動態生成圖片 一個簡單的頁面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> fun ...
  • 引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中國電腦學會(CCF)發起的“電腦職業資格認證”考試,針對電腦軟體開發、軟體測試、信息管理等領域的專業人士進行能力認證。認證對象是從事或將要從事IT領域專業技術與技術管理人 ...
  • 本節內容 Python介紹 發展史 Python 2 or 3? 安裝 Hello World程式 變數 用戶輸入 模塊初識 .pyc是個什麼鬼? 數據類型初識 數據運算 表達式if ...else語句 表達式for 迴圈 break and continue 表達式while 迴圈 一、 Pyth ...
  • 裝飾器: 意義:在不能改變原函數的源代碼,和在不改變整個項目中原函數的調用方式的情況下,給函數添加新的功能 由於不允許改變函數的源代碼,在忽略調用方式的情況下,我們可能會有以下結果: 但這改變了原本的調用方式,原本是test1(),現在是decorator(test1) 那麼如果我們為了使調用方式不 ...
  • 1.類變數的用途:大家公用的屬性,節省開銷(記憶體) 2.析構函數 在實例釋放和銷毀的時候執行的,通常用於做一些收尾工作,如關閉一些資料庫鏈接和打開的臨時文件 3.私有方法兩個下劃線開頭,聲明該方法為私有方法,不能在類地外部調用。 4.私有屬性兩個下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...