JavaWeb Tomcat啟動、部署、配置、集成IDEA

web服務器軟件

服務器是安裝了服務器軟件的計算機,在web服務器軟件中,可以部署web項目,讓用戶通過瀏覽器來訪問這些項目。

Web服務器是一個應用程序(軟件),對HTTP協議的操作進行封裝,使得程序員不必直接對協議進行操作,讓Web開發更加便捷。主要功能是"提供網上信息瀏覽服務"。

web服務器軟件:接收用戶的請求,處理請求,做出響應。

常見的java相關的web服務器軟件:

  • webLogic: oracle公司,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
  • webSphere: IBM公司,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
  • JBOSS: JBOSS公司的,大型的JavaEE服務器,支持所有的JavaEE規范,收費的。
  • Tomcat: Apache基金組織,中小型的JavaEE服務器,僅僅支持少量的JavaEE規范servlet/jsp。開源的,免費的。

Tomcat

Tomcat是Apache軟件基金會一個核心項目,是一個開源免費的輕量級Web服務器,支持Servlet/JSP少量JavaEE規范。

因為Tomcat支持Servlet/JSP規范,所以Tomcat也被稱為Web容器、Servlet容器。Servlet需要依賴Tomcat才能運行。

Tomcat的官網:https://tomcat.apache.org/

Tomcat在解壓縮的時候,解壓所在的目錄可以任意,但最好解壓到一個不包含中文和空格的目錄,因為后期在部署項目的時候,如果路徑有中文或者空格可能會導致程序部署失敗。

在這里插入圖片描述

  • bin:目錄下有兩類文件,一種是以.bat結尾的,是Windows系統的可執行文件,一種是以.sh結尾的,是Linux系統的可執行文件。
  • webapps:就是以后項目部署的目錄。

啟動/關閉

啟動:雙擊bin\startup.bat 即可

關閉:

  • 強制關閉:直接x掉運行窗口,不建議
  • 正常關閉:bin\shutdown.bat
  • 正常關閉:ctrl+c

可能遇到的問題

啟動窗口一閃而過

沒有正確配置JAVA_HOME環境變量,或已經開啟了Tomcat

控制臺中文亂碼

tomcat的日志配置文件的編碼需要修改,找到tomcat安裝目錄,找到conf/logging.properties文件,將其中的java.util.logging.ConsoleHandler.encoding = UTF-8的修改為GBK 即可。

端口號沖突

在這里插入圖片描述

  • 暴力解決:找到占用的端口號,并且找到對應的進程,殺死該進程 netstat -ano
  • 溫柔解決:修改自身的端口號,在conf/server.xml文件中修改,一般會將tomcat的默認端口號修改為80。80端口號是http協議的默認端口號,在訪問時,就不用輸入端口號。
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8445" />

部署

  1. 直接將項目放到webapps目錄下即可。

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

  1. 將項目打成一個war包,再將war包放置到webapps目錄下。

在這里插入圖片描述

配置

可以在conf/server.xml文件中進行映射配置。

比如:項目存放的路徑為D:\hello ,不放在webapps目錄中,可以在標簽體中配置:

<Context docBase="D:\hello" path="/hehe" />
  • docBase:項目存放的路徑
  • path:虛擬目錄

在這里插入圖片描述

也可以在conf\Catalina\localhost創建任意名稱的xml文件。url映射的路徑就是xml文件的名稱。

在文件中編寫:

<Context docBase="D:\hello" />

在這里插入圖片描述
在這里插入圖片描述

Maven創建Web項目

Web項目的結構分為:開發中的項目開發完可以部署的Web項目,這兩種項目的結構是不一樣的。

開發中的項目:

在這里插入圖片描述

需要在pom.xml文件中配置打包方式為war(默認為jar),這樣使用Maven的package 命令即可生成war包。

在這里插入圖片描述

使用骨架創建web項目:

在這里插入圖片描述

不使用骨架創建web項目:

在這里插入圖片描述

開發完成部署的Web項目:

在這里插入圖片描述

  • 開發項目通過執行Maven打包命令package,可以獲取到部署的Web項目目錄
  • 編譯后的Java字節碼文件和resources的資源文件,會被放到WEB-INF下的classes目錄下
  • pom.xml中依賴坐標對應的jar包,會被放入WEB-INF下的lib目錄下

IDEA集成Tomcat

第一種:使用本地的Tomcat

在這里插入圖片描述

第二種:使用Tomcat Maven插件

Maven Tomcat插件目前只有Tomcat7版本,沒有更高的版本可以使用,要想修改Tomcat的端口和訪問路徑,可以直接修改pom.xml。

  1. 在pom.xml中添加Tomcat插件
<build><plugins><!--Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>80</port><!--訪問端口號 --><!--項目訪問路徑未配置訪問路徑: http://localhost:80/tomcat-demo2/a.html配置/后訪問路徑: http://localhost:80/a.html如果配置成 /hello,訪問路徑會變成 http://localhost:80/hello/a.html--><path>/</path></configuration></plugin></plugins>
</build>

啟動:

在這里插入圖片描述

可能遇到的問題

IDEA輸出亂碼問題

因為IDEA是使用UTF-8格式的,而Windows使用的是GBK,所以要把剛剛修改的編碼重新修改為UTF-8格式的:

找到tomcat安裝目錄,找到conf/logging.properties文件,確保其中的java.util.logging.ConsoleHandler.encoding = UTF-8的編碼格式為UTF-8

在這里插入圖片描述

看不到Run Maven和Debug Maven

使用插件啟動時,如果選中項目并右鍵點擊后,看不到Run Maven和Debug Maven,這個時候就需要在IDEA中下載Maven Helper插件,具體的操作方式為: File --> Settings --> Plugins --> Maven Helper --> Install,安裝完后按照提示重啟IDEA,就可以看到了。

在這里插入圖片描述

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

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

相關文章

MATLAB讀取txt文本數據及可視化指南

MATLAB讀取txt文本數據的說明指南 目錄 MATLAB讀取txt文本數據的說明指南摘要1. 數據準備2. 讀取數據3. 繪制圖形4. 小結 摘要 在MATLAB中&#xff0c;讀取txt文本格式文件數據是一項基本的操作&#xff0c;特別是在數據分析和可視化方面。本文將介紹如何使用MATLAB讀取txt文本…

C++ 基礎知識

一. 預備知識 1. C的編程方式 過程性語言 (結構化、自頂向下)、面向對象語言、泛型編程 (創建獨立于類型的代碼) 2. 創建源代碼文件的技巧 擴展名&#xff1a;.cpp 二. 第一個程序 - HelloWorld main() 入口點 返回 int 標準庫 iostream std: 標準庫的縮寫 Statement…

HarmonyOS-使用call事件拉起指定UIAbility到后臺

使用call事件拉起指定UIAbility到后臺 許多應用希望借助卡片的能力&#xff0c;實現和應用在前臺時相同的功能。例如音樂卡片&#xff0c;卡片上提供播放、暫停等按鈕&#xff0c;點擊不同按鈕將觸發音樂應用的不同功能&#xff0c;進而提高用戶的體驗。在卡片中使用postCardA…

科技的成就(五十七)

535、Machine Learning "1959 年 7 月&#xff0c;塞繆爾首創 Machine Learning 一詞。塞繆爾在“Some Studies in Machine Learning Using theGame of Checkers”一文中給 Machine Learning 下了個非正式定義&#xff1a;沒有明確編程指令的情況下&#xff0c;能讓計算機…

【js中的作用域】

理解 js中的作用我們可以分為三個部分 全局作用域函數作用域塊級作用域 全局作用域 不在任何函數內部或者大括號中聲明的變量,都是再全局作用域下,全局聲明的變量可以在程序中的任何位置訪問 函數作用域 函數作用域也叫局部作用域,如果一個變量聲名在一個函數內部,那么它…

LSTM進行字符級文本生成(pytorch實現)

文章目錄 基于pytorch的LSTM進行字符集文本生成前言一、數據集二、代碼實現 1.到入庫和LSTM進行模型構建2.數據預處理函數3.訓練函數4.預測函數5.文本生成函數6.主函數完整代碼總結 前言 本文介紹了機器學習中深度學習的內容使用pytorch構建LSTM模型進行字符級文本生成任務 一…

王者榮耀整蠱搭建直播新玩法/obs貼紙配置教程

最近很火的王者榮耀整蠱直播&#xff0c;相信很多玩王者的玩家也想開一個直播&#xff0c;但是看到這種直播娛樂效果很有意思也想搭建一個&#xff0c;這里夢哥給大家出了一期搭建的教程&#xff01; 進階版視頻教程&#xff1a; 這期的教程是進階版新玩法升級&#xff0c;具體…

Vue3:使用 Composition API 不需要 Pinia

在 Vue.js 開發的動態環境中&#xff0c;在單個組件中處理復雜的業務邏輯可能會導致笨重的文件和維護噩夢。雖然 Pinia 提供集中式狀態管理&#xff0c;但僅依賴它來處理復雜的業務邏輯可能會導致代碼混亂。本文探討了使用 Composition API 的替代方法&#xff0c;說明開發人員…

數據庫表 索引

目錄 一、索引的分類 1、按存儲形式: 1&#xff09;B-TREE索引&#xff1a; 2&#xff09;位圖索引&#xff1a; 3&#xff09;反向鍵索引&#xff1a; 4&#xff09;基于函數的索引&#xff1a; 2、按唯一性&#xff1a; 1&#xff09;唯一索引&#xff1a; 3、按列的個數…

代碼隨想錄算法訓練營第八天

344. 反轉字符串 方法&#xff1a; 方法一&#xff1a; 直接用reverse函數 注意&#xff1a; 代碼&#xff1a; class Solution { public:void reverseString(vector<char>& s) {return reverse(s.begin(), s.end());} };運行結果&#xff1a; 方法&#xff1…

解釋前端路由的概念,以及單頁應用(SPA)和多頁應用(MPA)的區別

前端路由是現代Web應用中的一種設計模式&#xff0c;它允許用戶在單個網頁應用程序&#xff08;SPA&#xff09;內部通過改變URL而無需重新加載整個頁面來切換不同的視圖或內容。在傳統的多頁應用&#xff08;MPA&#xff09;中&#xff0c;每訪問一個新頁面&#xff0c;瀏覽器…

搜索算法(算法競賽、藍橋杯)--雙向DFS+二分查找

1、B站視頻鏈接&#xff1a;B26 雙向DFS 送禮物_嗶哩嗶哩_bilibili #include <bits/stdc.h> using namespace std; int n,m; int g[46];//存儲所有物品的質量 int w[1<<23];//存儲所有能湊出來的重量 int ans,cnt;//w的個數是cnt//搜索第u個數&#xff0c;和為s; …

Geeker Admin添加若以分離版本的后臺作為后臺

添加驗證碼 下載若依賴前后端分離版本&#xff0c;配置好自己數據庫&#xff0c;redis連接地址 登錄添加驗證碼 配置自己的若依后端連接地址 添加驗證碼請求方法 登錄頁面登錄輸入框添加驗證碼&#xff0c;uuid,調用的驗證碼刷新方法 注意&#xff1a;這里要用響應式定義驗證…

5_怎么看原理圖之協議類接口之NAND Flash筆記

NAND Flash原理圖&#xff1a; 由NAND Flash的原理圖可以看出&#xff0c;做為一個存儲芯片&#xff0c;只有I/O引腳&#xff0c;并沒有地址引腳&#xff0c;怎么傳地址&#xff1f;遵循一定的規范&#xff0c;先通過LDATA把地址傳出去&#xff0c;再傳數據。具體的需要查看芯片…

vue前端數據轉換顯示

<el-table-column label"項目模板名稱" align"center" prop"tempName" width"180" :formatter"templFormat" /> :formatter"templFormat" // 模板名單 optionTempls: [], // datas value templFormat(row,…

HTTP Cookie 你了解多少?

Cookie是什么&#xff1f; 先給大家舉個例子&#xff0c;F12 打開瀏覽器的頁面之后&#xff0c;我們能在 Response Headers 的字段里面看到一個header 叫做 Set-Cookie&#xff0c;如下所示 圖中包含的 Set-Cookie 為 Set-Cookie:uuid_tt_dd10_20293537580-1709432565344-232…

Transformer模型分布式并行通信量淺析

1.數據并行DP&#xff08;樸素數據并行&#xff0c;Zero數據并行之后補充&#xff09; O ( h 2 ? l ) O(h^2*l) O(h2?l) 每臺機器做完自己的梯度后需要做一次All reduce操作來累積梯度&#xff0c;故一個batch計算發送的數據量為每層梯度大小 h 2 h^2 h2乘以層數 l l l 優點…

【李沐論文精讀】Resnet精讀

論文地址&#xff1a;Deep Residual Learning for Image Recognition 參考&#xff1a;撐起計算機視覺半邊天的ResNet【論文精讀】、ResNet論文逐段精讀【論文精讀】、【李沐論文精讀系列】 一、導論 深度神經網絡的優點&#xff1a;可以加很多層把網絡變得特別深&#xff0c;…

力扣周賽387

第一題 代碼 package Competition.The387Competitioin;public class Demo1 {public static void main(String[] args) {}public int[] resultArray(int[] nums) {int ans[]new int[nums.length];int arr1[]new int[nums.length];int arr2[]new int[nums.length];if(nums.leng…

Linux系統Docker部署RStudio Server

文章目錄 前言1. 安裝RStudio Server2. 本地訪問3. Linux 安裝cpolar4. 配置RStudio server公網訪問地址5. 公網遠程訪問RStudio6. 固定RStudio公網地址 前言 RStudio Server 使你能夠在 Linux 服務器上運行你所熟悉和喜愛的 RStudio IDE&#xff0c;并通過 Web 瀏覽器進行訪問…