JavaEE idea的smart tomcat插件使用
1. Servlet程序頁(yè)面的修改
如果需要將頁(yè)面輸出的內(nèi)容修改為Hello Servlet,僅僅修改 .java 文件是不能實(shí)現(xiàn)的,還需要重新打包,重新部署,重新運(yùn)行Tomcat,再次訪問才可以實(shí)現(xiàn);
現(xiàn)重建HelloServlet2項(xiàng)目,并置servlet path為HelloServlet2,
其中.java文件內(nèi)容如下:
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;
@WebServlet("/hello2")
public class HelloServlet2 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Hello Servlet");
resp.getWriter().write("Hello Servlet");
}
}pom.xml文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Servlet2</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<packaging>war</packaging>
<build>
<finalName>HelloServlet2</finalName>
</build>
</project>再重新打包,重新部署,重新運(yùn)行Tomcat,再使用瀏覽器訪問:

訪問成功;
2. smart tomcat plugin
1. 在編寫大型程序時(shí),修改代碼是非常頻繁的,反復(fù)部署非常麻煩,于是可以使用 idea 的 smart tomcat 插件進(jìn)行自動(dòng)打包;
2. 打包與部署程序可以使用IDEA的Smart Tomcat插件,把Tomcat集成到IDEA中,省去手動(dòng)打包與部署的過程,只需點(diǎn)擊運(yùn)行即可自動(dòng)打包部署;
- 基于tomcat插件自動(dòng)打包部署適用于開發(fā)階段,頻繁修改代碼頻繁驗(yàn)證;
- 手動(dòng)打包手動(dòng)部署適用于上線階段,發(fā)布程序;
3. IDEA提供了一些API,可以讓程序員開發(fā)插件,對(duì)IDEA的功能進(jìn)行擴(kuò)展;
3. smart tomcat 安裝

4. smart tomcat 配置
首次使用smart tomcat需要配置:
1. 點(diǎn)擊頁(yè)面右上角的Add Configuration新增一個(gè)配置:

注意如果使用的是idea專業(yè)版,請(qǐng)勿選擇tomcat server;
2. 設(shè)置tomcat所在路徑:

對(duì)于Context path一欄,如果不使用smart tomcat,就直接寫作war包(目錄)的名字;
使用smart tomcat時(shí),需要手動(dòng)進(jìn)行配置,不配置默認(rèn)為項(xiàng)目名字;
確定后可看到右上角界面新增的配置:

注:
(1)IDEA社區(qū)版按照上述方式即可安裝tomcat插件,IDEA專業(yè)版內(nèi)置了Tomcat Server插件,和Smart Tomcat功能差不多,但不是一個(gè)插件,但Smart Tomcat使用更方便;
5. smart tomcat 運(yùn)行
配置完成后,直接點(diǎn)擊三角符號(hào)即可運(yùn)行:

按照原路徑打開,即可顯示hello world:

注:
(1)不要通過IDEA控制臺(tái)上的地址訪問頁(yè)面:

該鏈接不包含servlet path,直接點(diǎn)擊訪問是404頁(yè)面;
6. smart tomcat 工作原理
1. 查看tomcat的webapps目錄下,并沒有因?yàn)槭褂胹mart tomcat就重新生成一個(gè)war 包,原目錄下的war包是先前使用tomcat打包的。
smart tomcat的工作原理不是自動(dòng)拷貝war包,即webapps目錄內(nèi)不變,而是通過另一種方式啟動(dòng)tomcat。
2. smart tomcat支持啟動(dòng)時(shí)顯式指定一個(gè)特定的webapp目錄,相當(dāng)于讓tomcat加載單個(gè)webapp運(yùn)行:
即smart tomcat直接調(diào)用tomcat,讓tomcat加載當(dāng)前項(xiàng)目中的webapp目錄:

這個(gè)過程沒有打war包、拷貝、解壓縮的過程。
3. 此時(shí)程序是可以正常運(yùn)行,但像之前一些webapps下的一些已有的內(nèi)容(如歡迎頁(yè)面)就不存在了:

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC+MyBatis 事務(wù)管理(實(shí)例)
本文先分析編程式注解事務(wù)和基于注解的聲明式事務(wù)。對(duì)SpringMVC+MyBatis 事務(wù)管理的相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2017-08-08
Mybatis查詢返回Map<String,Object>類型實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Mybatis查詢返回Map<String,Object>類型的相關(guān)資料,平時(shí)沒太注意怎么用,今天又遇到了總結(jié)記錄一下,方便以后處理此類問題,需要的朋友可以參考下2022-07-07
Java實(shí)現(xiàn)的簡(jiǎn)單數(shù)字時(shí)鐘功能示例
這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)單數(shù)字時(shí)鐘功能,涉及java日期時(shí)間及JFrame框架圖形界面操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02
Spring?BOOT?AOP基礎(chǔ)應(yīng)用教程
這篇文章主要介紹了Spring?BOOT?AOP的使用,文章從相關(guān)問題展開全文內(nèi)容詳情,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
如何應(yīng)對(duì)spring框架的HTTP ERROR 400 Bad Request錯(cuò)
這篇文章主要介紹了如何應(yīng)對(duì)spring框架的HTTP ERROR 400 Bad Request錯(cuò)誤返回問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
SpringBoot中異步調(diào)用時(shí)的注意事項(xiàng)
這篇文章主要介紹了SpringBoot中異步調(diào)用時(shí)的注意事項(xiàng),調(diào)用的異步方法,不能為同一個(gè)類的方法(包括同一個(gè)類的內(nèi)部類),簡(jiǎn)單來(lái)說(shuō),因?yàn)镾pring在啟動(dòng)掃描時(shí)會(huì)為其創(chuàng)建一個(gè)代理類,而同類調(diào)用時(shí),還是調(diào)用本身的代理類的,所以和平常調(diào)用是一樣的,需要的朋友可以參考下2023-11-11

