最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Tomcat的安裝與使用及Maven與Servlet的使用教程

 更新時(shí)間:2023年07月06日 09:25:55   作者:韻秋梧桐  
這篇文章主要介紹了Tomcat的安裝與使用及Maven與Servlet的使用教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一.Tomcat的下載與使用

1. Tomcat簡(jiǎn)介

Tomcat是Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目, 由Apache, Sun和其他一些公司及個(gè)人共同開發(fā)而成, 由于有了Sun的參與和支持, 最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn), Tomcat5支持最新的Servlet 2.4和JSP 2.0規(guī)范.

因?yàn)門omcat技術(shù)先進(jìn), 性能穩(wěn)定, 而且免費(fèi), 因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可, 成為比較流行的Web應(yīng)用服務(wù)器.

Tomcat是一個(gè)HTTP服務(wù)器, HTTP服務(wù)器有很多種, 在Java領(lǐng)域中, Tomcat是最知名, 最廣泛使用的一個(gè), 本質(zhì)上是基于TCP服務(wù)器, 按照HTTP協(xié)議的約定來解析請(qǐng)求, 構(gòu)造響應(yīng).

2. 安裝和使用

下載與安裝:1??第一步, 瀏覽器中搜索Tomcat, 找到Tomcat官網(wǎng) https://tomcat.apache.org/

2??第二步, 根據(jù)你的環(huán)境, 選擇相應(yīng)版本下載即可, 需要知道的是Tomcat的版本和你使用的Servlet版本是有強(qiáng)相關(guān)的, 這里就下載Tomcat8了, 對(duì)應(yīng)的Servlet的版本就是3.1的.

img

3??第三步, 點(diǎn)進(jìn)去, 選擇zip文件點(diǎn)擊下載即可, 如果你有下載多個(gè)版本的需求, 也是可以的, Tomcat是純綠色的軟件, 直接解壓就能使用, 下載多個(gè)版本之間是互不影響的.

img

4??第四步, 找個(gè)你常用的目錄, 解壓即可, 點(diǎn)進(jìn)目錄, 你會(huì)得到下面一堆文件:

img

還要注意, Tomcat是基于Java實(shí)現(xiàn)的, 這就要求你的環(huán)境中必須要有jdk, 如果沒有Tomcat是跑不起來的.使用:5??第五步, 了解各目錄文件的作用

img

??bin目錄中放的是Tomcat相關(guān)的批處理文件, .bat文件表示Windows批處理文件, .sh文件表示Linux的shell腳本文件, 其中包含啟動(dòng)和關(guān)閉Tomcat的可執(zhí)行文件, 也就是說Tomcat也是可以在Linux上運(yùn)行的, 以startup命名的文件就是Tomcat啟動(dòng)程序, 以shutdown命名的文件就是Tomcat關(guān)閉程序.

img

??conf目錄中含有Tomcat的配置文件, 配置文件是xml類型的文件, 比如可以在server.xml文件可以配置Tomcat的端口號(hào), 不修改的話默認(rèn)就是8080了.

img

??logs目錄主要用來儲(chǔ)存日志, Tomcat運(yùn)行的日志都在這里, 如果程序出問題了, 就需要看這里的日志來排產(chǎn)問題.??webapps目錄儲(chǔ)存我們部署的Serlvet程序, Servlet部署的程序是war結(jié)尾的壓縮包, Tomcat將一個(gè)war包解壓后就是一個(gè)webapp, 即一個(gè)網(wǎng)站, 一個(gè)Tomcat可以部署多個(gè)Servlet程序, 即多個(gè)網(wǎng)站, 所以就是webapps, 里面的每個(gè)目錄都代表一個(gè)獨(dú)立的網(wǎng)站.

temp, lib, work目錄用的不多, 就不作贅述了.

img

6??第六步, 啟動(dòng)Tomcat, 我們可以在bin目錄下找到startup.bat文件點(diǎn)擊在本地啟動(dòng)Tomcat, 然后直接訪問http://127.0.0.1:8080可訪問到Tomcat歡迎頁面(Tomcat自帶的一個(gè)webapp).

img

啟動(dòng)Tomcat的頁面圖如下, 出現(xiàn)類似org.apache.catalina.startup.Catalina.start Server startup in 936 ms的信息就表示啟動(dòng)成功了

img

可以看到這里控制臺(tái)有些是亂碼的, 這是因?yàn)槲覀兊腡omcat是在下Windows下啟動(dòng)的, Windows的默認(rèn)編碼是GBK, 我們可以可以修改以下配置conf/logging.properties, 然后關(guān)閉Tomcat后重新啟動(dòng).

當(dāng)然, 如果要將Tomcat配置到Linux環(huán)境下, 這里的配置還是需要改回UTF8的.

img

img

要注意, 當(dāng)啟動(dòng)一個(gè)Tomcat程序后再啟動(dòng)一個(gè)Tomcat程序會(huì)啟動(dòng)失敗, 因?yàn)槎丝谔?hào)8080已經(jīng)被上一個(gè)Tomcat程序占用了.

img

7??第七步, 將項(xiàng)目部署到Tomcat, 所謂部署就是將我們的代碼拷貝到webapps目錄下即可, 然后在bin目錄找到startup.bat文件重新啟動(dòng)Tomcat, 最后訪問http://127.0.0.1:8080/部署文件的相對(duì)wepapps目錄的相對(duì)路徑進(jìn)行驗(yàn)證.

比如我的webapps目錄中有一個(gè)BlogSystem文件夾, 里面有一個(gè)login.html頁面文件, 我們現(xiàn)在要使用Tomcat訪問這個(gè)文件, 訪問的url就為http://127.0.0.1:8080/BlogSystem/login.html.

這里訪問的路徑組成為, ip:端口號(hào), 后面的BlogSystem是我們的webapps下的目錄, 我們也稱為context path/application path, 再后面的路徑是我們的context path下要訪問的文件, 這種形式的訪問是通過網(wǎng)絡(luò)可以跨主機(jī)訪問的, 初學(xué)要注意與本地點(diǎn)文件打開訪問進(jìn)行區(qū)分.

img

訪問http://127.0.0.1:8080/BlogSystem/login.html結(jié)果如下,

img

不過我們這里在Tomcat部署的網(wǎng)頁, 是在局域網(wǎng)環(huán)境下, 只有在同一局域網(wǎng)下的設(shè)備才可以訪問, 如果是部署在外網(wǎng)IP下, 那么全世界的設(shè)備就都可以訪問了.

最后就是關(guān)閉Tomcat了, 一共有三種關(guān)閉方式:

  • Ctrl + C關(guān)閉
  • 直接點(diǎn)窗口右上角X號(hào)關(guān)閉
  • 使用bin目錄下的shutdown.bat關(guān)閉

這三種方式中, 第1, 2種是比較粗暴的關(guān)閉方式, 這種方式會(huì)直接殺死進(jìn)程; 第3種方式比較優(yōu)雅, Tomcat還會(huì)綁定一個(gè)8005管理端口, 是通過管理端口來關(guān)閉的, 會(huì)多做一些收尾工作; 但實(shí)際上, 第1, 2種關(guān)閉方式是更方便, 更常用的.

二.Maven的使用

Maven是專門用于管理和構(gòu)建Java項(xiàng)目的 “工程管理” 工具, 有規(guī)范目錄結(jié)構(gòu), 管理依賴, 構(gòu)建/編譯, 打包, 測(cè)試等功能, Maven是一個(gè)獨(dú)立的程序, 但不需要我們單獨(dú)下載安裝, IDEA中已經(jīng)直接集成了.

那么首先來介紹如何使用IDEA來使用Maven來引入的依賴, 以引入Servlet的為例.

1??第一步, 新建項(xiàng)目, 選擇Maven.

選中這里的Maven點(diǎn)擊Create就可以創(chuàng)建Maven管理的項(xiàng)目了,

img

項(xiàng)目創(chuàng)建好后會(huì)就會(huì)自動(dòng)創(chuàng)建如下目錄結(jié)構(gòu),

img

main目錄中放業(yè)務(wù)代碼, java目錄中放java代碼, resources目錄中放程序的依賴文件, test目錄下放測(cè)試代碼, pom.xml文件是Maven項(xiàng)目總的配置文件.

如果是首次使用Maven, 項(xiàng)目創(chuàng)建好了之后, 會(huì)在下面讀條, 從中央倉庫加載一些Maven的依賴, 由于Maven倉庫的服務(wù)器是在國外的, 下載的速度就可能比較慢; 如果實(shí)在太慢嘗試就更換下網(wǎng)絡(luò), 或者配置一下國內(nèi)鏡像的阿里云服務(wù)器再下載.

2??第二步, 引入依賴.

首先要知道坐標(biāo)的概念, Maven中的坐標(biāo)是資源的唯一標(biāo)識(shí), 要使用坐標(biāo)來引入項(xiàng)目中所需要的依賴, Maven標(biāo)準(zhǔn)由以下幾個(gè)部分組成:

  • groupId: 定義當(dāng)前Maven項(xiàng)目隸屬組織名稱(通常是域名的反寫)
  • artifactId: 定義當(dāng)前Maven項(xiàng)目名稱(通常是模塊名稱, maven_project)
  • version: 定義當(dāng)前項(xiàng)目版本號(hào)
  • scope: 設(shè)置對(duì)應(yīng)jar包的作用范圍

這里以引入Servlet的依賴為例進(jìn)行介紹, 我們要去Maven中央倉庫(https://mvnrepository.com/), 搜索Servlet, 找到Servlet的jar包點(diǎn)進(jìn)去

img

img

點(diǎn)擊選擇3.1版本, 和tomcat8對(duì)應(yīng), 復(fù)制圖中位置的坐標(biāo)內(nèi)容.

img

把坐標(biāo)拷貝到項(xiàng)目的pom.xml文件中, 我們需要, 先創(chuàng)建一個(gè)dependencies標(biāo)簽, 是project標(biāo)簽的子標(biāo)簽, 可以放多個(gè)依賴, 把依賴依次拷貝到這個(gè)標(biāo)簽即可.

img

首次使用, 這里可能會(huì)爆紅, 說明依賴還沒有下載下來.當(dāng)這段代碼復(fù)制到pom.xml文件中, Maven就會(huì)自動(dòng)下載相應(yīng)的依賴文件, 沒有觸發(fā)自動(dòng)下載的話, 可以手動(dòng)刷新一下觸發(fā)下載, 當(dāng)依賴下載完成后, 也就不爆紅了.

img

這樣就引入依賴成功了.

img

三.Servlet

Servlet是一種實(shí)現(xiàn)動(dòng)態(tài)頁面的技術(shù), 要注意區(qū)分靜態(tài)頁面和動(dòng)態(tài)頁面:

  • 靜態(tài)頁面: 網(wǎng)頁內(nèi)容始終固定不變的(單純的html)
  • 動(dòng)態(tài)頁面: 用戶不同/時(shí)間不同/輸入?yún)?shù)不同時(shí)頁面的內(nèi)容會(huì)發(fā)生變化(html+后端交互數(shù)據(jù))

Servlet是Tomcat提供的一組API, 封裝了HTTP相關(guān)操作, 可以讓我們不必關(guān)注Socket, HTTP協(xié)議格式等細(xì)節(jié), 降低了Web開發(fā)的門檻, 提高開發(fā)效率.

Servlet主要進(jìn)行的工作:

  • 允許我們創(chuàng)建一個(gè)類, Tomcat收到某個(gè)特定路徑的HTTP請(qǐng)求時(shí), 執(zhí)行該類中的某個(gè)方法
  • 對(duì)HTTP請(qǐng)求進(jìn)行解析, 并將HTTP請(qǐng)求從一個(gè)字符串解析成一個(gè)HttpRequest對(duì)象
  • 我們只需要給指定的HttpResponse對(duì)象的一些屬性字段填寫, Servlet就會(huì)自動(dòng)的按照HTTP協(xié)議的方式構(gòu)造出一個(gè)HTTP響應(yīng)的字符串, 然后通過Socket寫回客戶端.

1. 第一個(gè)Servlet程序

那么下面就來寫一個(gè)Servlet程序, 我們使用Servlet來在寫一個(gè)hello world程序, 然后部署到Tomcat上, 此時(shí)通過瀏覽器去訪問, 就會(huì)在網(wǎng)頁上得到一個(gè)有hello world字符串的頁面.

1??第一步, 創(chuàng)建Maven項(xiàng)目, 創(chuàng)建步驟在上面介紹過了.

2??第二步, 引入Servlet依賴, 還是去參考上面寫的.

3??第三步, 創(chuàng)建目錄結(jié)構(gòu), 雖然Maven已經(jīng)幫我們自動(dòng)創(chuàng)建了一些目錄, 但是還不夠, 因?yàn)榇颂幬覀兪褂肕aven開發(fā)的是一個(gè)Web程序, 還需要一些額外的目錄.

main目錄里創(chuàng)建webapp目錄, 該目錄和java,resources并列

img

webapp目錄里面創(chuàng)建WEB-INF目錄.

img

WEB-INF目錄下創(chuàng)建web.xml文件.

img

web.xml寫入指定配置, 需要注意的是, 這里的代碼可能是爆紅的, 但在這里并不代表就是錯(cuò)的, IDEA中只是針對(duì)Java代碼能夠進(jìn)行比較準(zhǔn)確的分析和判定, 針對(duì)其他代碼, 如果標(biāo)紅, 是否是錯(cuò)的, 都不一定.

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Archetype Created Web Application</display-name>
</web-app>

這里相關(guān)的還要理解的是, Servlet程序中是沒有main方法的, 那么它是怎么跑起來的呢?這就和我們創(chuàng)建的這個(gè)web.xml有關(guān)了, 依靠這個(gè)文件, Tomcat就可以識(shí)別webapps目錄下哪些項(xiàng)目目錄是需要加載到服務(wù)器中的.

所以說, 這樣的目錄結(jié)構(gòu)是必須的, 使用Tomcat就得遵照人家的要求, 當(dāng)然也不是不可以改其他名稱, 是需要額外配置的.

4??第四步, 在Java目錄下編寫Servlet代碼.

  • 創(chuàng)建類HelloServlet, 繼承HttpServlet類(由Servlet API提供, 寫Servlet代碼一般都要繼承這個(gè)類).
  • 重寫doGet方法, 用來處理HTTP GET請(qǐng)求, 根據(jù)請(qǐng)求生成響應(yīng), 有HttpServletRequest req(TCP socket中讀出來的字符串,按照HTTP協(xié)議解析得到的對(duì)象), HttpServletResponse resp(空對(duì)象, 輸出型參數(shù), 要由我們?nèi)?gòu)造)兩個(gè)參數(shù), Tomcat服務(wù)器接收到GET或者POST請(qǐng)求時(shí)就會(huì)調(diào)用這里相應(yīng)的方法(不需要我們手動(dòng)調(diào)用).
  • 在方法里面寫業(yè)務(wù)邏輯代碼, 構(gòu)造出resp.
  • 加上WebServlet注解標(biāo)識(shí)路徑, 這個(gè)注解的作用是把當(dāng)前的類和一個(gè)HTTP請(qǐng)求的路徑關(guān)聯(lián)起來, 不同的路徑關(guān)聯(lián)的是不同類, 可以觸發(fā)不同的代碼 (注解是Java 中的特殊的類, Java專門定義了一種 “語法糖” 來實(shí)現(xiàn)注解, 作用是針對(duì)一個(gè)類/方法, 進(jìn)行額外的解釋說明, 賦予額外的含義).
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
// 把當(dāng)前的類和HTTP請(qǐng)求的路徑關(guān)聯(lián)起來
// 根據(jù)url中的路徑, 通過這個(gè)注解, 就可以確定調(diào)用服務(wù)器中的哪個(gè)類的方法
// 路徑和servlet是一一對(duì)應(yīng)關(guān)系
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 不要調(diào)用父類的構(gòu)造方法
        //super.doGet(req, resp);
        // 控制臺(tái)輸出hello world
        System.out.println("hello world");
        // 構(gòu)造resp對(duì)象
        // 寫入resp中的body中, 最終由tomcat寫入網(wǎng)卡, 發(fā)送至客戶端
        resp.getWriter().write("hello world");
    }
}

要理解, 一個(gè)Servlet程序中, 可以有很多的Servlet類, 每個(gè)Servlet類都可以關(guān)聯(lián)到不同的路徑(對(duì)應(yīng)到不同的資源), 多個(gè)Servlet就可以實(shí)現(xiàn)了不同的邏輯和功能, 路徑和Servlet類之間是一對(duì)一的關(guān)系.

上面的代碼中要注意, 直接快捷鍵重寫的doGet方法, 默認(rèn)調(diào)用的是父類的doGet, 而父類是直接寫回一個(gè)錯(cuò)誤的, 所以一定要注意將默認(rèn)調(diào)用的super.doGet()刪除, 然后再去實(shí)現(xiàn)自己的邏輯;

img

img

img

代碼中resp.getWriter()會(huì)得到一個(gè)Writer對(duì)象, 這里的writer對(duì)象是從屬于resp對(duì)象的, 此處的write操作其實(shí)是往resp的body部分進(jìn)行寫入, 等resp對(duì)象整個(gè)構(gòu)造好了, tomcat會(huì)統(tǒng)一轉(zhuǎn)成HTTP相應(yīng)的格式, 寫入socket.

5??第五步, 打包程序.

Maven默認(rèn)打的是jar包, jar包中只含有普通的java程序(.class), 而Tomcat中的webapp需要的war包, war包是Tomcat部署webapp使用的壓縮文件, 可以包含一些前端代碼和特定的目錄結(jié)構(gòu), 以方便后續(xù)Tomcat識(shí)別這些內(nèi)容, 來加載webapp.

首先需要在pom.xml文件寫入以下內(nèi)容, 與dependencies同一級(jí), 目的是為了使打包的壓縮格式為war和指定包名.

<!-- 描述要包類型  -->
<packaging>war</packaging>
<!--  聲明包名  -->
<build>
    <finalName>hello_servlet</finalName>
</build>

然后點(diǎn)擊IDEA右側(cè)的Maven, 雙擊Lifecycle下的package, 此時(shí)Maven就會(huì)幫助我們打包項(xiàng)目, 項(xiàng)目中會(huì)出現(xiàn)一個(gè)target目錄, 打包后的war包就在其中.

img

img

這里的打包其實(shí)是完成了以下操作:

  • 檢查代碼中是否存在一些依賴, 依賴是否下載好.
  • 把代碼進(jìn)行編譯, 生成.class文件.
  • 把這些.class 文件, 以及 web.xml按照一定的格式進(jìn)行打包.

6??第六步, 將程序部署到Tomcat將打包好的war包拷貝到Tomcat中的webapps目錄中即可.

img

7??第七步, 驗(yàn)證程序運(yùn)行結(jié)果.

啟動(dòng)Tomcat服務(wù)器, 在瀏覽器地址欄中訪問http://127.0.0.1:8080/hello_servlet/hello可以得到一個(gè)顯示hello world的頁面, 同時(shí)命令行運(yùn)行的Tomcat也會(huì)輸出hello world.

img

img

要注意這里的兩級(jí)路徑, 第一級(jí)路徑是webapps目錄下的war包文件名, 也叫做Context Path; 第二級(jí)路徑是我們代碼中在注解標(biāo)注的路徑, 也叫做Servlet Path; 即/war包名(一級(jí)路徑)/注解標(biāo)注的路徑(二級(jí)路徑).

這里的war包名稱為hello_servlet, 注解標(biāo)注的路徑是/hello; 所以綜合起來, 加上前面的協(xié)議域名和端口號(hào), URL就是http://127.0.0.1:8080/hello_servlet/hello.

總結(jié)一下, 這里有7步, 依次是, 創(chuàng)建Maven項(xiàng)目, 引入依賴, 創(chuàng)建webapp目錄結(jié)構(gòu), 編寫Servlet代碼, 打包, 部署, 驗(yàn)證.

2. 在idea中集成Tomcat

Smart Tomcat是IDEA上的一個(gè)插件, 上面所介紹的Servlet程序運(yùn)行步驟其實(shí)是可以簡(jiǎn)化的, 主要是第五步和第六步, 每次修改都需要重新打包和部署, 其實(shí)是有點(diǎn)麻煩的, Smart Tomcat就幫助我們解決了這個(gè)問題.

Smart Tomcat插件安裝和使用步驟如下:

1??第一步, 打開IDEA設(shè)置, 找到插件選項(xiàng), 即Plugins.

img

2??第二步, 在Marketplace搜索Smart Tomcat, 下載安裝即可.

img

3??第三步, 重啟IDEA, 配置Smart Tomcat.

img

點(diǎn)擊+新增配置, 選中Smart Tomcat

img

配置Tomcat

img

配置好后點(diǎn)擊綠色的倒三角形就可以運(yùn)行Servlet程序了.

img

看到下圖中的提示, Tomcat就啟動(dòng)成功了, 不過這個(gè)不能訪問Tomcat的歡迎頁面.

img

要注意, 使用Smart Tomcat啟動(dòng)Tomcat和之前介紹的是有本質(zhì)區(qū)別的, Smart Tomcat的工作原理, 不是說把war包拷貝(webapps里是不變的), 使用Smart Tomcat支持啟動(dòng)的時(shí)候顯示指定一個(gè)特定的webapp目錄, 相當(dāng)于是讓Tomcat加載單個(gè)webapp運(yùn)行, IDEA直接調(diào)用Tomcat, 讓Tomcat加載當(dāng)前項(xiàng)目中的目錄, 這里沒有打包, 拷貝和解壓縮的過程.

這兩種部署, 其實(shí)是兩種Tomcat運(yùn)行方式, 對(duì)于Context Path的定位不同; 如果是直接拷貝war包的方式部署, Context Path就是war包名; 如果是Smart Tomcat方式部署, 這里的Context Path是可以自己配置的.

IDEA專業(yè)版還直接集成了Tomcat Server插件, 不過還是沒有這個(gè)簡(jiǎn)單好用.

3. 常見錯(cuò)誤

??常見錯(cuò)誤1: 404404 表示用戶訪問的資源不存在, 大概率是 URL 的路徑寫的不正確.

img

或者是你的webapp沒有正確被部署: web.xml 寫錯(cuò)了, 文件名錯(cuò)了, 文件路徑錯(cuò)了, 文件位置錯(cuò)了…

??常見錯(cuò)誤2: 405

405 表示對(duì)應(yīng)的 HTTP 請(qǐng)求方法沒有實(shí)現(xiàn), 比如我們?cè)跒g覽器發(fā)了個(gè)GET請(qǐng)求, 但是代碼里沒寫doGet, 此時(shí)就會(huì)出現(xiàn)405.

img

img

還有可能就是重寫的方法中沒有去掉默認(rèn)調(diào)用的父類方法, 如super.doGet

img

img

??常見錯(cuò)誤3:500

往往是Servlet代碼中拋出異常導(dǎo)致的, 這個(gè)問題最好解決, 因?yàn)?00的時(shí)候頁面日志中會(huì)明確告訴你異常調(diào)用棧, 告訴你是哪一行代碼出的異常比如我們給代碼來一個(gè)空指針異常.

img

img

??常見錯(cuò)誤4: 出現(xiàn)空白頁面

方法中邏輯沒有寫類似resp.getWriter().write()這樣的代碼

??常見錯(cuò)誤5: 頁面無法訪問最常見的原因就是Tomcat沒有啟動(dòng)或者崩潰, 我們把Tomcat關(guān)了, 就會(huì)出現(xiàn)頁面無法訪問的情況, Tomcat無法啟動(dòng), 很可能是端口沖突了.

img

到此這篇關(guān)于Tomcat的安裝與使用,Maven與Servlet的使用的文章就介紹到這了,更多相關(guān)Tomcat Maven與Servlet的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

库尔勒市| 永靖县| 永清县| 斗六市| 松溪县| 尉犁县| 泰顺县| 鄢陵县| 姚安县| 读书| 瑞安市| 安乡县| 贵州省| 柯坪县| 彰化县| 法库县| 青冈县| 定南县| 江陵县| 道孚县| 海南省| 宁陵县| 姚安县| 东源县| 上犹县| 克拉玛依市| 怀柔区| 连南| 博客| 紫阳县| 沾益县| 乡城县| 长阳| 咸阳市| 兴仁县| 台山市| 沅江市| 乌海市| 伊宁县| 武川县| 来安县|