tomcat安裝啓動配置

  1. 軟件的架構:BS和CS
  2. Web介紹
  3. JavaEE規範
  4. 模擬一個Tomcat
  5. Tomcat的安裝、配置
  6. Tomcat的啓動與關閉
  7. Tomcat的目錄結構
  8. Tomcat啓動時常見的問題
  9. IDEA綁定tomcat

1.軟件的架構:BS和CS

CS介紹

CS(Client/Server):客戶端/服務器模式。
在這裏插入圖片描述

  1. 客戶端:需要安裝軟件。
  2. 升級維護不方便,如果服務器升級,所有的客戶端都要升級。
  3. 程序開發工作量:客戶端和服務端都需要大量的工作

BS介紹

BS(Browser/Server):瀏覽器/服務器模式。

在這裏插入圖片描述

  1. 客戶端:不需要,只要有瀏覽器就可以了。
  2. 如果服務器升級,客戶端不需要升級。
  3. 程序員開發工作量:在服務器端。

2.Web資源的分類:(靜態和動態)

什麼是Web?

web翻譯過來是網站/網頁

靜態資源特點:

靜態頁面就是設計者把頁面上所有東西都先設計好了,訪問多少次頁面內容都是一樣的,不會變。

動態資源特點:

動態頁面的內容一般都是依靠服務器端的程序來生成的,多次訪問頁面的內容可能不同。比如(網購的購物車,開始沒有,再看就添加了就是動態)。

WEB服務器

在這裏插入圖片描述

  • 硬件服務器是一臺功能很強大的電腦

  • Web服務器是運行在硬件服務器上的一個軟件,主要功能是提供網上信息瀏覽服務。

  • Web服務器又稱爲Web容器。

3.JavaEE規範

  • JavaEE是企業裏面開發網站的一套標準,不同廠商的JavaWeb服務器都實現了這些接口,在JavaEE中一共有13種規範。實現的規範越多,服務器的功能越強。
  • 常見的JavaEE規範有:JDBC,JSP、Servlet、EJB、XML、JNDI等

常用的Web服務器

在這裏插入圖片描述

Tomcat:

在小型的應用系統或者有特殊需要的系統中,可以使用一個免費的Web服務器:Tomcat,該服務器支持全部JSP以Servlet規範。Tomcat運行穩定、可靠且高效。已成爲目前開發企業JavaWeb應用的最佳Servlet容器選擇之一。

4.模擬一個Tomcat

  • 使用多線程和Socket模擬一個簡單的Web服務器,將服務器上的資源共享給瀏覽器
    在這裏插入圖片描述

代碼

package com.itheima.demo01;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Timestamp;

public class Demo01 {
    public static void main(String[] args) throws IOException {
        // 創建服務器
        ServerSocket serverSocket = new ServerSocket(8080);
        // Timestamp 輸出當前時間,精確到毫秒
        System.out.println(new Timestamp(System.currentTimeMillis()) + "服務器啓動");
        // 接收客戶端的請求
        while(true) {
            Socket socket = serverSocket.accept();  // 得到請求,返回Socket對象
            System.out.println(new Timestamp(System.currentTimeMillis()) + "," + socket.getInetAddress().getHostAddress() + "連接");
            new MyTomcat(socket).start();  // 啓動線程
        }
    }
}

/**
 模擬web容器:採用多線程的方法,每個用戶創建一個線程 */
class MyTomcat extends Thread {

    private Socket socket;

    //通過構造方法傳遞Socket對象
    public MyTomcat(Socket socket) {
        this.socket = socket;
    }

    //處理每個線程的任務
    @Override
    public void run() {
        //讀取本地服務器的資源,得到輸入流對象
        try (
                FileInputStream inputStream = new FileInputStream("c:/MyFileTest/index.html");
                //得到輸出流,通過Socket得到
                OutputStream outputStream = socket.getOutputStream();
        ) {
            //將輸入流中數據複製到輸出流中
            int len = 0;
            byte[] buf = new byte[512];
            while((len = inputStream.read(buf))!=-1) {
                outputStream.write(buf,0,len);
            }
            System.out.println("網頁下載成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Web服務器的原理

Web服務器是一個TCP的服務端,瀏覽器是tcp的客戶端,任何電腦的瀏覽都可以鏈接Web服務器,Web服務器將服務器上的資源返回給瀏覽,瀏覽器就能顯示這個資源

我們需要自己編寫Web服務器嗎?

不要,有現成的,我們後面的學習都使用Tomcat

5.Tomcat的安裝、配置

tomcat的產品頁面: http://tomcat.apache.org/

在這裏插入圖片描述

安裝

直接解壓就可以了,建議:不要有中文的目錄,目錄層次不要太深
在這裏插入圖片描述
解壓後
在這裏插入圖片描述

環境變量的配置

  1. 添加Tomcat的安裝目錄
    在這裏插入圖片描述
  2. 配置Path,可以在任何路徑下訪問bin文件夾的可執行文件
    在這裏插入圖片描述

6.Tomcat的啓動與關閉

  1. 啓動的命令:startup.bat
    在這裏插入圖片描述
    通過瀏覽器來訪問:
    在這裏插入圖片描述

  2. 關閉的命令:shutdown.bat 正常關閉

    也可以直接關閉容器,中斷,非正常關閉。

    :shutdown是window中一條內部命令,輸入命令的時候要加上bat

這兩條命令都在bin目錄下

7.Tomcat的目錄結構

瞭解Tomcat每個目錄的作用

目錄名 作用
bin 存放可執行的文件:startup.bat和shutdown.bat
conf 存放tomcat的配置文件:server.xml
lib 存放tomcat依賴的第三方jar包
logs 存放tomcat運行的日誌信息
temp 存放tomcat運行的一些臨時的文件
webapps **重點:**存放我們的網站程序(項目)
ROOT:默認的程序 http://localhost:8080/就是訪問ROOT這個程序
work 工作目錄,JSP編譯後的文件

8.Tomcat啓動時常見的問題

問題1:未設置JAVA_HOME環境變量
  1. 出錯信息
    在這裏插入圖片描述2. 解決辦法
    在這裏插入圖片描述
問題2:端口號被佔用
  1. 出錯信息
    在這裏插入圖片描述

  2. 查看日誌文件:
    在這裏插入圖片描述

  3. 解決方法:

  • 方法一:找到佔用端口號的程序,進程殺掉。
    在這裏插入圖片描述
  • 方法二:修改tomcat的端口號(找到conf/server.xml文件)

在這裏插入圖片描述

  1. 修改69行端口號配置,大於1024以上。
  2. 要重新啓動tomcat
    在這裏插入圖片描述

9. IDEA綁定tomcat

配置步驟

在這裏插入圖片描述

配置好的後的界面,點擊OK
在這裏插入圖片描述
爲什麼在idea裏面配置tomcat?

以後使用idea操作tomcat啓動、關閉、部署項目方便

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