服務器學習--tomcat(1)

tomcat

參考博客

簡介

Tomcat 是由 Apache 開發的一個 Servlet 容器,實現了對 Servlet 和 JSP 的支持,並提供了作爲Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。

由於 Tomcat 本身也內含了一個 HTTP 服務器,它也可以被視作一個單獨的 Web 服務器。但是,不能將 Tomcat 和 Apache HTTP 服務器混淆,Apache HTTP 服務器是一個用 C 語言實現的 HTTP Web 服務器;這兩個 HTTP web server 不是捆綁在一起的。Tomcat 包含了一個配置管理工具,也可以通過編輯XML格式的配置文件來進行配置。

重要目錄

/bin - Tomcat 腳本存放目錄(如啓動、關閉腳本)。 *.sh 文件用於 Unix 系統; *.bat 文件用於 Windows 系統。

/conf - Tomcat 配置文件目錄。

/logs - Tomcat 默認日誌目錄。

/webapps - webapp 運行的目錄。

web工程目錄結構

在這裏插入圖片描述
webapp:工程發佈文件夾。其實每個 war 包都可以視爲 webapp 的壓縮包。

META-INF:META-INF 目錄用於存放工程自身相關的一些信息,元文件信息,通常由開發工具,環境自動生成。

WEB-INF:Java web應用的安全目錄。所謂安全就是客戶端無法訪問,只有服務端可以訪問的目錄。

/WEB-INF/classes:存放程序所需要的所有 Java class 文件。

/WEB-INF/lib:存放程序所需要的所有 jar 文件。

/WEB-INF/web.xml:web 應用的部署配置文件。它是工程中最重要的配置文件,它描述了 servlet 和組成應用的其它組件,以及應用初始化參數、安全管理約束等。

啓動

嵌入式

API方式

在pom.xml中添加依賴

<dependency>
  <groupId>org.apache.tomcat.embed</groupId>
  <artifactId>tomcat-embed-core</artifactId>
  <version>8.5.24</version>
</dependency>

實例代碼:

import java.util.Optional;
import org.apache.catalina.startup.Tomcat;

public class SimpleTomcatServer {
    private static final int PORT = 8080;
    private static final String CONTEXT_PATH = "/javatool-server";

    public static void main(String[] args) throws Exception {
        // 設定 profile
        Optional<String> profile = Optional.ofNullable(System.getProperty("spring.profiles.active"));
        System.setProperty("spring.profiles.active", profile.orElse("develop"));

        Tomcat tomcat = new Tomcat();
        tomcat.setPort(PORT);
        tomcat.getHost().setAppBase(".");
        tomcat.addWebapp(CONTEXT_PATH, getAbsolutePath() + "src/main/webapp");
        tomcat.start();
        tomcat.getServer().await();
    }

    private static String getAbsolutePath() {
        String path = null;
        String folderPath = SimpleEmbedTomcatServer.class.getProtectionDomain().getCodeSource().getLocation().getPath()
                .substring(1);
        if (folderPath.indexOf("target") > 0) {
            path = folderPath.substring(0, folderPath.indexOf("target"));
        }
        return path;
    }
}

maven 插件

在pom.xml中添加依賴

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <configuration>
    <port>8080</port>
    <path>/${project.artifactId}</path>
    <uriEncoding>UTF-8</uriEncoding>
  </configuration>
</plugin>

運行 mvn tomcat7:run 命令,啓動 Tomcat。

成功後,可以訪問 http://localhost:8080/xxx (xxx 是 ${project.artifactId} 指定的項目名)。

IDE插件

配置參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章