中文字幕人妻中文_99精品欧美一区二区三区综合在线_精品久久久久一区二区_色月丁香_免费福利在线视频_欧美大片免费观看网址_国产伦精品一区二区三区在线播放_污污污污污污www网站免费_久久月本道色综合久久_色69激情爱久久_尹人香蕉久久99天天拍_国产美女www_亚洲国产精品无码7777一线_五月婷婷六月激情_看免费一级片_精品久久久久久成人av_在线色亚洲_女人另类性混交zo_国产精品青青在线观看爽香蕉_人人澡人人添人人爽一区二区

主頁 > 知識庫 > Tomcat核心組件及應用架構詳解

Tomcat核心組件及應用架構詳解

熱門標簽:河南防封號電銷機器人是什么 怎么找到沒有地圖標注的店 10086外包用的什么外呼系統 宿城區電話機器人找哪家 麗江真人語音電話外呼系統 打400電話怎么辦理收費 400電話辦理介紹信 福州企業電銷機器人排名 上海申請高400開頭的電話

Web 容器是什么?

讓我們先來簡單回顧一下 Web 技術的發展歷史,可以幫助你理解 Web 容器的由來。

早期的 Web 應用主要用于瀏覽新聞等靜態頁面,HTTP 服務器(比如 Apache、Nginx)向瀏覽器返回靜態 HTML,瀏覽器負責解析 HTML,將結果呈現給用戶。

隨著互聯網的發展,我們已經不滿足于僅僅瀏覽靜態頁面,還希望通過一些交互操作,來獲取動態結果,因此也就需要一些擴展機制能夠讓 HTTP 服務器調用服務端程序。

于是 Sun 公司推出了 Servlet 技術。你可以把 Servlet 簡單理解為運行在服務端的 Java 小程序,但是 Servlet 沒有 main 方法,不能獨立運行,因此必須把它部署到 Servlet 容器中,由容器來實例化并調用 Servlet。

而 Tomcat 就是一個 Servlet 容器。為了方便使用,它們也具有 HTTP 服務器的功能,因此 Tomcat 就是一個“HTTP 服務器 + Servlet 容器”,我們也叫它們 Web 容器。

HTTP 的本質

HTTP 協議是瀏覽器與服務器之間的數據傳送協議。作為應用層協議,HTTP 是基于 TCP/IP 協議來傳遞數據的(HTML 文件、圖片、查詢結果等),HTTP 協議不涉及數據包(Packet)傳輸,主要規定了客戶端和服務器之間的通信格式。

假如瀏覽器需要從遠程 HTTP 服務器獲取一個 HTML 文本,在這個過程中,瀏覽器實際上要做兩件事情。

  • 與服務器建立 Socket 連接。
  • 生成請求數據并通過 Socket 發送出去。

HTTP 請求響應實例

用戶在登陸頁面輸入用戶名和密碼,點擊登陸后,瀏覽器發出了這樣的 HTTP 請求:

HTTP 請求數據由三部分組成,分別是請求行、請求報頭、請求正文。當這個 HTTP 請求數據到達 Tomcat 后,Tomcat 會把 HTTP 請求數據字節流解析成一個 Request 對象,這個 Request 對象封裝了 HTTP 所有的請求信息。接著 Tomcat 把這個 Request 對象交給 Web 應用去處理,處理完后得到一個 Response 對象,Tomcat 會把這個 Response 對象轉成 HTTP 格式的響應數據并發送給瀏覽器。

HTTP 的響應也是由三部分組成,分別是狀態行、響應報頭、報文主體。同樣,我還以極客時間登陸請求的響應為例。

Cookie 和 Session

我們知道,HTTP 協議有個特點是無狀態,請求與請求之間是沒有關系的。這樣會出現一個很尷尬的問題:Web 應用不知道你是誰。因此 HTTP 協議需要一種技術讓請求與請求之間建立起聯系,并且服務器需要知道這個請求來自哪個用戶,于是 Cookie 技術出現了。

Cookie 是 HTTP 報文的一個請求頭,Web 應用可以將用戶的標識信息或者其他一些信息(用戶名等)存儲在 Cookie 中。用戶經過驗證之后,每次 HTTP 請求報文中都包含 Cookie,這樣服務器讀取這個 Cookie 請求頭就知道用戶是誰了。Cookie 本質上就是一份存儲在用戶本地的文件,里面包含了每次請求中都需要傳遞的信息。

由于 Cookie 以明文的方式存儲在本地,而 Cookie 中往往帶有用戶信息,這樣就造成了非常大的安全隱患。而 Session 的出現解決了這個問題,Session 可以理解為服務器端開辟的存儲空間,里面保存了用戶的狀態,用戶信息以 Session 的形式存儲在服務端。當用戶請求到來時,服務端可以把用戶的請求和用戶的 Session 對應起來。那么 Session 是怎么和請求對應起來的呢?答案是通過 Cookie,瀏覽器在 Cookie 中填充了一個 Session ID 之類的字段用來標識請求。

具體工作過程是這樣的:服務器在創建 Session 的同時,會為該 Session 生成唯一的 Session ID,當瀏覽器再次發送請求的時候,會將這個 Session ID 帶上,服務器接受到請求之后就會依據 Session ID 找到相應的 Session,找到 Session 后,就可以在 Session 中獲取或者添加內容了。而這些內容只會保存在服務器中,發到客戶端的只有 Session ID,這樣相對安全,也節省了網絡流量,因為不需要在 Cookie 中存儲大量用戶信息。

那么 Session 在何時何地創建呢?當然還是在服務器端程序運行的過程中創建的,不同語言實現的應用程序有不同的創建 Session 的方法。在 Java 中,是 Web 應用程序在調用 HttpServletRequest 的 getSession 方法時,由 Web 容器(比如 Tomcat)創建的。

Tomcat 的 Session 管理器提供了多種持久化方案來存儲 Session,通常會采用高性能的存儲方式,比如 Redis,并且通過集群部署的方式,防止單點故障,從而提升高可用。同時,Session 有過期時間,因此 Tomcat 會開啟后臺線程定期的輪詢,如果 Session 過期了就將 Session 失效。

Servlet規范

HTTP 服務器怎么知道要調用哪個 Java 類的哪個方法呢。最直接的做法是在 HTTP 服務器代碼里寫一大堆 if else 邏輯判斷:如果是 A 請求就調 X 類的 M1 方法,如果是 B 請求就調 Y 類的 M2 方法。但這樣做明顯有問題,因為 HTTP 服務器的代碼跟業務邏輯耦合在一起了,如果新加一個業務方法還要改 HTTP 服務器的代碼。

那該怎么解決這個問題呢?我們知道,面向接口編程是解決耦合問題的法寶,于是有一伙人就定義了一個接口,各種業務類都必須實現這個接口,這個接口就叫 Servlet 接口,有時我們也把實現了 Servlet 接口的業務類叫作 Servlet。

但是這里還有一個問題,對于特定的請求,HTTP 服務器如何知道由哪個 Servlet 來處理呢?Servlet 又是由誰來實例化呢?顯然 HTTP 服務器不適合做這個工作,否則又和業務類耦合了。

于是,還是那伙人又發明了 Servlet 容器,Servlet 容器用來加載和管理業務類。HTTP 服務器不直接跟業務類打交道,而是把請求交給 Servlet 容器去處理,Servlet 容器會將請求轉發到具體的 Servlet,如果這個 Servlet 還沒創建,就加載并實例化這個 Servlet,然后調用這個 Servlet 的接口方法。因此 Servlet 接口其實是 Servlet 容器跟具體業務類之間的接口。下面我們通過一張圖來加深理解。

Servlet 接口和 Servlet 容器這一整套規范叫作 Servlet 規范。Tomcat 和 Jetty 都按照 Servlet 規范的要求實現了 Servlet 容器,同時它們也具有 HTTP 服務器的功能。作為 Java 程序員,如果我們要實現新的業務功能,只需要實現一個 Servlet,并把它注冊到 Tomcat(Servlet 容器)中,剩下的事情就由 Tomcat 幫我們處理了。

Servlet 接口定義了下面五個方法:

public interface Servlet {
    void init(ServletConfig config) throws ServletException;
    
    ServletConfig getServletConfig();
    
    void service(ServletRequest req, ServletResponse res)throws ServletException, IOException;
    
    String getServletInfo();
    
    void destroy();
}

其中最重要是的 service 方法,具體業務類在這個方法里實現處理邏輯。這個方法有兩個參數:ServletRequest 和 ServletResponse。ServletRequest 用來封裝請求信息,ServletResponse 用來封裝響應信息,因此本質上這兩個類是對通信協議的封裝。

HTTP 協議中的請求和響應就是對應了 HttpServletRequest 和 HttpServletResponse 這兩個類。你可以通過 HttpServletRequest 來獲取所有請求相關的信息,包括請求路徑、Cookie、HTTP 頭、請求參數等。此外, 我們還可以通過 HttpServletRequest 來創建和獲取 Session。而 HttpServletResponse 是用來封裝 HTTP 響應的。

你可以看到接口中還有兩個跟生命周期有關的方法 init 和 destroy,這是一個比較貼心的設計,Servlet 容器在加載 Servlet 類的時候會調用 init 方法,在卸載的時候會調用 destroy 方法。我們可能會在 init 方法里初始化一些資源,并在 destroy 方法里釋放這些資源,比如 Spring MVC 中的 DispatcherServlet,就是在 init 方法里創建了自己的 Spring 容器。

你還會注意到 ServletConfig 這個類,ServletConfig 的作用就是封裝 Servlet 的初始化參數。你可以在web.xml給 Servlet 配置參數,并在程序里通過 getServletConfig 方法拿到這些參數。

我們知道,有接口一般就有抽象類,抽象類用來實現接口和封裝通用的邏輯,因此 Servlet 規范提供了 GenericServlet 抽象類,我們可以通過擴展它來實現 Servlet。雖然 Servlet 規范并不在乎通信協議是什么,但是大多數的 Servlet 都是在 HTTP 環境中處理的,因此 Servet 規范還提供了 HttpServlet 來繼承 GenericServlet,并且加入了 HTTP 特性。這樣我們通過繼承 HttpServlet 類來實現自己的 Servlet,只需要重寫兩個方法:doGet 和 doPost。

Servlet 容器

當客戶請求某個資源時,HTTP 服務器會用一個 ServletRequest 對象把客戶的請求信息封裝起來,然后調用 Servlet 容器的 service 方法,Servlet 容器拿到請求后,根據請求的 URL 和 Servlet 的映射關系,找到相應的 Servlet,如果 Servlet 還沒有被加載,就用反射機制創建這個 Servlet,并調用 Servlet 的 init 方法來完成初始化,接著調用 Servlet 的 service 方法來處理請求,把 ServletResponse 對象返回給 HTTP 服務器,HTTP 服務器會把響應發送給客戶端

Web 應用

Servlet 容器會實例化和調用 Servlet,那 Servlet 是怎么注冊到 Servlet 容器中的呢?一般來說,我們是以 Web 應用程序的方式來部署 Servlet 的,而根據 Servlet 規范,Web 應用程序有一定的目錄結構,在這個目錄下分別放置了 Servlet 的類文件、配置文件以及靜態資源,Servlet 容器通過讀取配置文件,就能找到并加載 Servlet。Web 應用的目錄結構大概是下面這樣的:

| -  MyWebApp
      | -  WEB-INF/web.xml        -- 配置文件,用來配置Servlet等
      | -  WEB-INF/lib/           -- 存放Web應用所需各種JAR包
      | -  WEB-INF/classes/       -- 存放你的應用類,比如Servlet類
      | -  META-INF/              -- 目錄存放工程的一些信息

Servlet 規范里定義了 ServletContext 這個接口來對應一個 Web 應用。Web 應用部署好后,Servlet 容器在啟動時會加載 Web 應用,并為每個 Web 應用創建唯一的 ServletContext 對象。你可以把 ServletContext 看成是一個全局對象,一個 Web 應用可能有多個 Servlet,這些 Servlet 可以通過全局的 ServletContext 來共享數據,這些數據包括 Web 應用的初始化參數、Web 應用目錄下的文件資源等。由于 ServletContext 持有所有 Servlet 實例,你還可以通過它來實現 Servlet 請求的轉發。

擴展機制

引入了 Servlet 規范后,你不需要關心 Socket 網絡通信、不需要關心 HTTP 協議,也不需要關心你的業務類是如何被實例化和調用的,因為這些都被 Servlet 規范標準化了,你只要關心怎么實現的你的業務邏輯。這對于程序員來說是件好事,但也有不方便的一面。所謂規范就是說大家都要遵守,就會千篇一律,但是如果這個規范不能滿足你的業務的個性化需求,就有問題了,因此設計一個規范或者一個中間件,要充分考慮到可擴展性。Servlet 規范提供了兩種擴展機制:Filter 和 Listener

Filter 是過濾器,這個接口允許你對請求和響應做一些統一的定制化處理,比如你可以根據請求的頻率來限制訪問,或者根據國家地區的不同來修改響應內容。過濾器的工作原理是這樣的:Web 應用部署完成后,Servlet 容器需要實例化 Filter 并把 Filter 鏈接成一個 FilterChain。當請求進來時,獲取第一個 Filter 并調用 doFilter 方法,doFilter 方法負責調用這個 FilterChain 中的下一個 Filter。

Listener 是監聽器,這是另一種擴展機制。當 Web 應用在 Servlet 容器中運行時,Servlet 容器內部會不斷的發生各種事件,如 Web 應用的啟動和停止、用戶請求到達等。 Servlet 容器提供了一些默認的監聽器來監聽這些事件,當事件發生時,Servlet 容器會負責調用監聽器的方法。當然,你可以定義自己的監聽器去監聽你感興趣的事件,將監聽器配置在web.xml中。比如 Spring 就實現了自己的監聽器,來監聽 ServletContext 的啟動事件,目的是當 Servlet 容器啟動時,創建并初始化全局的 Spring 容器。

Tomcat下載地址:https://tomcat.apache.org/download-80.cgi

/bin:存放 Windows 或 Linux 平臺上啟動和關閉 Tomcat 的腳本文件。
/conf:存放 Tomcat 的各種全局配置文件,其中最重要的是server.xml。
/lib:存放 Tomcat 以及所有 Web 應用都可以訪問的 JAR 文件。
/logs:存放 Tomcat 執行時產生的日志文件。
/work:存放 JSP 編譯后產生的 Class 文件。
/webapps:Tomcat 的 Web 應用目錄,默認情況下把 Web 應用放在這個目錄下。

打開 Tomcat 的日志目錄,也就是 Tomcat 安裝目錄下的 logs 目錄。Tomcat 的日志信息分為兩類 :一是運行日志,它主要記錄運行過程中的一些信息,尤其是一些異常錯誤日志信息 ;二是訪問日志,它記錄訪問的時間、IP 地址、訪問的路徑等相關信息。

  • catalina.***.log 主要是記錄 Tomcat 啟動過程的信息,在這個文件可以看到啟動的 JVM 參數以及操作系統等日志信息。
  • catalina.out是 Tomcat 的標準輸出(stdout)和標準錯誤(stderr),這是在 Tomcat 的啟動腳本里指定的,如果沒有修改的話 stdout 和 stderr 會重定向到這里。所以在這個文件里可以看到我們在MyServlet.java程序里打印出來的信息
  • localhost.**.log主要記錄 Web 應用在初始化過程中遇到的未處理的異常,會被 Tomcat 捕獲而輸出這個日志文件。
  • localhost_access_log.**.txt存放訪問 Tomcat 的請求日志,包括 IP 地址以及請求的路徑、時間、請求協議以及狀態碼等信息。
  • manager.***.log/host-manager.***.log存放 Tomcat 自帶的 Manager 項目的日志信息。

概要:

  1. Tomcat各核心組件認知
  2. server.xml 配置詳解

一、Tomcat各組件認知

知識點:

  1. Tomcat架構說明
  2. Tomcat組件及關系詳情介紹
  3. Tomcat啟動參數說明
  4. Tomcat架構說明

Tomcat是一個基于JAVA的WEB容器,其實現了JAVA EE中的 Servlet 與 jsp 規范,與Nginx apache 服務器不同在于一般用于動態請求處理。在架構設計上采用面向組件的方式設計。即整體功能是通過組件的方式拼裝完成。另外每個組件都可以被替換以保證靈活性。

2.Tomcat 各組件及關系

Server 和 Service
Connector 連接器
HTTP 1.1
SSL https
AJP( Apache JServ Protocol) apache 私有協議,用于apache 反向代理Tomcat
Container 
Engine 引擎 catalina
Host 虛擬機 基于域名 分發請求
Context 隔離各個WEB應用 每個Context的 ClassLoader都是獨立
Component 
Manager (管理器)
logger (日志管理)
loader (載入器)
pipeline (管道)
valve (管道中的閥)

二、Tomcat server.xml 配置詳解


server

root元素:server 的頂級配置 主要屬性: port:執行關閉命令的端口號 shutdown:關閉命令

演示shutdown的用法 #基于telent 執行SHUTDOWN 命令即可關閉(必須大寫) telnet 127.0.0.1 8005 SHUTDOWN

service

服務:將多個connector 與一個Engine組合成一個服務,可以配置多個服務。

Connector

連接器:用于接收 指定協議下的連接 并指定給唯一的Engine 進行處理。 主要屬性:

  • protocol 監聽的協議,默認是http/1.1
  • port 指定服務器端要創建的端口號
  • minSpareThreads服務器啟動時創建的處理請求的線程數
  • maxThreads 最大可以創建的處理請求的線程數
  • enableLookups 如果為true,則可以通過調用request.getRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名,若為false則不進行DNS查詢,而是返回其ip地址
  • redirectPort 指定服務器正在處理http請求時收到了一個SSL傳輸請求后重定向的端口號
  • acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理隊列中的請求數,超過這個數的請求將不予處理
  • connectionTimeout 指定超時的時間數(以毫秒為單位)
  • SSLEnabled 是否開啟 sll 驗證,在Https 訪問時需要開啟。生成證書: keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore D:\test.keystore
  • [ ] 演示配置多個Connector
<Connector port="8860" protocol="org.apache.coyote.http11.Http11NioProtocol"
                connectionTimeout="20000"
                redirectPort="8862"
                URIEncoding="UTF-8"
                useBodyEncodingForURI="true"
                compression="on" compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/x-json,application/json,application/x-javascript"
                maxThreads="1024" minSpareThreads="200"
                acceptCount="800"
                maxConnections="10000"
                enableLookups="false"
        />

Engine

引擎:用于處理連接的執行器,默認的引擎是catalina。一個service 中只能配置一個Engine。 主要屬性:name 引擎名稱 defaultHost 默認host

Host

虛擬機:基于域名匹配至指定虛擬機。類似于nginx 當中的server,默認的虛擬機是localhost. 主要屬性:

演示配置多個Host

<Host name="www.wukong.com"  appBase="/usr/www/wukong"  unpackWARs="true" autoDeploy="true"> 
	<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.wukong.com.access_log" 
			suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 
</Host>

Context

應用上下文:一個host 下可以配置多個Context ,每個Context 都有其獨立的classPath。相互隔離,以免造成ClassPath 沖突。 主要屬性:

演示配置多個Context

<Context path="/testweb" docBase="testweb.war"  reloadbale="true"/>

Valve 閥門:可以理解成

的過濾器,具體配置要基于具體的Valve 接口的子類。以下即為一個訪問日志的Valve

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="www.wukong.com.access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

三、Tomcat 部署腳本編寫

Tomcat啟動參數說明

我們平時啟動Tomcat過程是怎么樣的?

  1. 復制WAR包至Tomcat webapp 目錄。
  2. 執行starut.bat 腳本啟動。
  3. 啟動過程中war 包會被自動解壓裝載。

但是我們在Eclipse 或idea 中啟動WEB項目的時候 也是把War包復雜至webapps 目錄解壓嗎?顯然不是,其真正做法是在Tomcat程序文件之外創建了一個部署目錄,在一般生產環境中也是這么做的 即:Tomcat 程序目錄和部署目錄分開 。 我們只需要在啟動時指定CATALINA_HOME 與 CATALINA_BASE 參數即可實現。

| 啟動參數 | 描述說明 | |:----|:----| | JAVA_OPTS | jvm 啟動參數 , 設置內存 編碼等 -Xms100m -Xmx200m -Dfile.encoding=UTF-8 | | JAVA_HOME | 指定jdk 目錄,如果未設置從java 環境變量當中去找。 | | CATALINA_HOME | Tomcat 程序根目錄 | | CATALINA_BASE | 應用部署目錄,默認為$CATALINA_HOME | | CATALINA_OUT | 應用日志輸出目錄:默認$CATALINA_BASE/log | | CATALINA_TMPDIR | 應用臨時目錄:默認:$CATALINA_BASE/temp |

可以編寫一個腳本 來實現自定義配置:

ln -s /home/wukong/apache-tomcat-8.5.56 apache-tomcat

更新 啟動 腳本

#!/bin/bash 
export JAVA_OPTS="-Xms100m -Xmx200m"
export CATALINA_HOME=/home/wukong/apache-tomcat
export CATALINA_BASE="`pwd`"
 
case $1 in
        start)
        $CATALINA_HOME/bin/catalina.sh start
                echo start success!!
        ;;
        stop)
                $CATALINA_HOME/bin/catalina.sh stop
                echo stop success!!
        ;;
        restart)
        $CATALINA_HOME/bin/catalina.sh stop
                echo stop success!!
                sleep 3
        $CATALINA_HOME/bin/catalina.sh start
        echo start success!!
        ;;
        version)
        $CATALINA_HOME/bin/catalina.sh version
        ;;
        configtest)
        $CATALINA_HOME/bin/catalina.sh configtest
        ;;
        esac
exit 0

docker 啟動tomcat

docker run -id --name=test_tomcat -e JAVA_OPTS='-Xmx128m' -p 8888:8080 -v /usr/local/tuling-project/tomcat-test/webapps:/usr/local/tomcat/webapps -v /usr/local/tuling-project/tomcat-test/logs:/usr/local/tomcat/logs -v /usr/local/tuling-project/tomcat-test/conf:/usr/local/tomcat/conf --privileged=true tomcat:8

源碼構建

下載地址:https://tomcat.apache.org/download-80.cgi

配置

1.解壓源碼 apache-tomcat-8.5.57-src

2.apache-tomcat-8.5.57-src目錄下添加pom文件

<?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.apache.tomcat</groupId>
    <artifactId>Tomcat8.0</artifactId>
    <name>Tomcat8.0</name>
    <version>8.0</version>
 
    <build>
        <finalName>Tomcat8.0</finalName>
        <sourceDirectory>java</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <resources>
            <resource>
                <directory>java</directory>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>test</directory>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <version>3.4</version>
        </dependency>
        <dependency>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
            <version>1.7.0</version>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.5.1</version>
        </dependency>
 
    </dependencies>
</project>

3.在apache-tomcat-8.5.57-src 同級目錄新建 catalina-home并保證目錄下面文件如下

注意: 上面文件夾apache-tomcat-8.5.57-src里面有的,就剪切過來,沒有的就新建一個, bin conf webapps 應該是從apache-tomcat-8.5.57-src剪切過來的

4.idea引入項目

File->Open 選擇解壓的C:\Users\wukong\Downloads\apache-tomcat-8.5.57-src\apache-tomcat-8.5.57-src

配置啟動

MainClass: org.apache.catalina.startup.BootstrapVmOptions: -Dcatalina.home=C:\Users\wukong\Downloads\apache-tomcat-8.5.57-src\apache-tomcat-8.5.57-src\catalina-home

啟動報錯

TestCookieFilter 報錯找不到這個類CookieFilter

解決方法:

1. 刪除:TestCookieFilter

啟動后,訪問localhost:8080 報錯 org.apache.jasper.JasperException: java.lang.NullPointerException

解決方案:

org.apache.catalina.startup.Bootstrap 添加代碼塊

{
        JasperInitializer initializer =new JasperInitializer();
         }

以上就是Tomcat核心組件及應用架構詳解的詳細內容,更多關于Tomcat核心組件及應用架構的資料請關注腳本之家其它相關文章!

標簽:朝陽 遵義 面試通知 雞西 荊門 運城 隴南 連云港

巨人網絡通訊聲明:本文標題《Tomcat核心組件及應用架構詳解》,本文關鍵詞  Tomcat,核心,組件,及,應用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Tomcat核心組件及應用架構詳解》相關的同類信息!
  • 本頁收集關于Tomcat核心組件及應用架構詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 新进精密机械苏州有限公司| 浙江三叶机械有限公司| 无锡机械设备有限公司| 浙江路杰机械有限公司| 上海优拜机械有限公司| 兰州华诚石化机械制造有限公司 | 邢台机械制造有限公司| 昆山富邦机械有限公司| 浙江科力塑料机械有限公司| 苏州恒威海绵机械有限公司| 青岛吉瑞特机械制造有限公司 | 武汉餐至饮机械设备有限公司| 青岛德盛机械制造有限公司| 豪德机械上海有限公司| 三力机械制造有限公司| 山东新船重工有限公司| 江阴祥乐机械有限公司| 新乡市特昌振动机械有限公司| 长春协展机械工业有限公司| 宁波北仑 机械有限公司| 江苏金鹰流体机械有限公司| 上海鸿尔机械有限公司| 宁波鑫淼机械有限公司| 吉首市中诚制药机械有限公司 | 浙江上易机械有限公司| 宁波安德机械有限公司| 河北小犟牛工程机械有限公司| 盐城海德机械制造有限公司| 欧亚德机械有限公司| 南通友德机械有限公司| 标特福精密机械电子有限公司| 洛阳泽华机械设备有限公司| 青州市远航机械设备有限公司| 衢州 机械有限公司| 张家港市港达机械有限公司| 定州市机械有限公司| 宝鸡中车时代工程机械有限公司| 浙江鼎业机械设备有限公司| 上海电工机械有限公司| 鞍山重工机械有限公司| 泉州工程机械有限公司| 上海 包装机械 有限公司| 北京恒机械设备有限公司| 江阴兴澄特种钢铁有限公司| 河北安丰钢铁有限公司| 青岛木业机械有限公司| 南安市机械有限公司| 深圳市德机械有限公司| 福建机械设备有限公司| 东莞市泽冠机械有限公司| 新乡 筛分机械有限公司| 烟台金鹏矿业机械有限公司| 济宁山矿机械有限公司| 佛山液压机械有限公司| 机械(苏州)有限公司| 深圳市鑫台铭机械设备有限公司| 太仓越华精密机械配件有限公司 | 泰田机械制造有限公司| 林州市振晨重工装备制造有限公司 | 广西玉柴动力机械有限公司| 南通国盛精密机械有限公司| 曲阜圣泰机械有限公司| 昆山万利机械有限公司| 瑞安市瑞博机械有限公司| 南阳市 机械有限公司| 江阴纺织机械有限公司| 成都 机械 有限公司| 机械生产制造有限公司| 镇江鸿泰钢铁有限公司| 迎阳无纺机械有限公司| 定州宏远机械有限公司| 台湾鸿昌机械有限公司| 固尔琦包装机械有限公司| 中山市机械设备有限公司| 海的动力机械有限公司| 湖南力诺机械有限公司| 上海春田机械有限公司| 烨隆精密机械有限公司| 上海机械进出口有限公司| 山矿机械设备有限公司| 南京明瑞机械设备有限公司 | 江苏莱宝机械制造有限公司| 苏州宁兴精密机械有限公司| 上海沛愉机械制造有限公司| 长沙众宇机械有限公司| 杭州速博雷尔传动机械有限公司 | 上海三久机械有限公司| 厦门工业机械有限公司| 河北巨牛机械有限公司| 永裕昌机械有限公司| 长兴诺力机械有限公司| 沈阳工程机械有限公司| 广州南头机械有限公司| 四平红嘴钢铁有限公司| 海安机械制造有限公司| 昆山博通机械设备有限公司| 河北钢铁矿业有限公司| 佛山市宝索机械制造有限公司| 安阳市机械有限公司| 无锡新世杰辊压机械有限公司| 河南红星矿山机械有限公司| 中核华兴达丰机械工程有限公司| 昆山 机械 有限公司| 无锡东源机械制造有限公司| 蓬莱大金海洋重工有限公司| 史陶比尔精密机械电子有限公司| 浙江晟达机械有限公司| 昆山市机械制造有限公司| 郑州年旭机械有限公司| 西子重工机械有限公司| 明天机械有限公司待遇| 江苏新瑞机械有限公司| 东莞 精密机械有限公司| 江阴江达机械装备有限公司| 唐山化工机械有限公司| 南京明瑞机械设备有限公司| 潍坊浩泰机械有限公司| 哈尔滨恒力达机械有限公司| 东芝机械上海有限公司| 湖北 钢铁有限公司| 广州力丰机械有限公司| 潍坊川泰机械有限公司| 南京神鹏机械设备有限公司| 青州康达机械有限公司| 徐州机械制造有限公司| 瑞德森机械有限公司| 天津市精密机械有限公司| 无锡旭辉机械有限公司| 宁波传动机械有限公司| 上海亚遥工程机械有限公司| 重庆比德机械有限公司| 润源经编机械有限公司| 机械有限公司 法兰| 柳州市宏华机械有限公司| 景隆重工机械有限公司| 云南中拓钢铁有限公司| 上海重工机械有限公司| 北默压缩机械有限公司| 广东正力精密机械有限公司| 淮安天宇机械有限公司| 青岛液压机械有限公司 | 湖南天雁机械责任有限公司| 青岛恒林机械有限公司| 宁波市机械有限公司| 浙江华天机械有限公司| 东莞市台立数控机械有限公司| 台正精密机械有限公司| 上海胜松机械制造有限公司| 烟台金元矿业机械有限公司| 上海纳丰机械设备有限公司| 全精密机械有限公司| 开封元创机械有限公司| 张家港市港达机械有限公司| 北京机械施工有限公司| 宁波天竺工程机械有限公司| 沈阳精密机械有限公司| 山东川大机械设备有限公司| 上海圣起包装机械有限公司| 首钢京唐钢铁有限公司| 广州市汇格机械设备有限公司| 苏州昶智精密机械有限公司| 潍坊新成达机械有限公司| 山东机械设备有限公司怎么样| 永裕昌机械有限公司| 四川宏华友信石油机械有限公司| 航星洗涤机械(泰州)有限公司| 郑州江科重工机械有限公司| 温岭林大机械有限公司| 唐山印刷机械有限公司| 浙江明天机械有限公司| 上海磊友成套机械设备有限公司 | 苏州松博机械有限公司| 浙江顺得机械有限公司| 宝鸡至信机械有限公司| 江苏明珠试验机械有限公司| 西安机械制造有限公司| 上海 马机械有限公司| 徐州凯工机械有限公司| 东莞市峰茂机械设备有限公司 | 太行机械工业有限公司| 安徽食品机械有限公司| 海宁亚东机械有限公司| 青岛科尼乐重工有限公司| 青岛非凡包装机械有限公司| 青岛现代机械有限公司| 无锡诺德传动机械有限公司| 重型工程机械有限公司| 上海德托机械有限公司| 上海德耐尔压缩机械有限公司| 青岛力克川液压机械有限公司| 上海埃比西斯机械有限公司| 上海依澳包装机械有限公司 | 大连塑料机械有限公司| 浙江上易机械有限公司| 湖北鄂重重型机械有限公司| 昆山机械 有限公司| 昆山胜代机械有限公司| 河南力神机械有限公司| 江苏仁达机械有限公司| 盐城市联鑫钢铁有限公司| 林氏玻璃机械有限公司| 博凯机械上海有限公司| 厦门众达钢铁有限公司| 浙江中兴机械制造有限公司| 河南三星机械有限公司| 湖州卓信机械有限公司| 上海百勤机械有限公司| 东莞%机械%有限公司| 上海固好包装机械有限公司 | 苏州德派机械有限公司| 宁波海江机械制造有限公司| 江苏 机械制造有限公司| 豫工机械设备有限公司| 江苏百事德机械有限公司| 宜都大一重工有限公司| 苏州艾卓精密机械有限公司| 木业有限公司起名大全| 上海市机械有限公司| 上海达和荣艺包装机械有限公司| 扬州意得机械有限公司| 普瑞特机械有限公司| 上海开隆冶金机械制造有限公司| 石家庄机械设备有限公司| 河北东方德源机械制造有限公司 | 汕头机械设备有限公司| 大连红日机械有限公司| 江苏双轮泵业机械制造有限公司 | 济南钢铁贸易有限公司| 天阳机械制造有限公司| 山东长江机械有限公司| 东莞市高臻机械设备有限公司| 武汉钢铁有限公司官网| 扬州 液压机械有限公司| 佛山市松川机械设备有限公司| 济宁恒远机械有限公司| 浙江明天机械有限公司| 东莞凯格精密机械有限公司| 机械化工程有限公司| 北京速深机械有限公司| 中设(苏州)机械设备工程有限公司| 珠海市机械有限公司| 江苏巨风机械制造有限公司| 浙江鸿森机械有限公司| 昆山东新力特精密机械有限公司| 农业发展有限公司起名| 河南龙昌机械有限公司| 深圳市 机械 有限公司| 大连宏大连杆机械制造有限公司| 沈阳西城钢铁有限公司| 合浦惠利机械有限公司| 塑料包装机械有限公司| 河北永明地质工程机械有限公司| 张家口煤矿机械制造有限公司| 苏州苏安起重吊装有限公司| 青州市远航机械设备有限公司| 烟台精密机械有限公司| 南通贝思特机械工程有限公司 | 恒昌机械制造有限公司| 衡阳运输机械有限公司| 辽宁天亿机械有限公司| 运输有限公司起名大全| 天津京龙工程机械有限公司| 浙江赛峰机械有限公司| 深圳中施机械设备有限公司| 河南云天起重机械有限公司 | 河南正亚机械设备制造有限公司 | 亿传玻璃机械有限公司| 河南双鑫钢铁有限公司| 苏州德伊捷自动化机械有限公司 | 北京晨光兴业机械有限公司| 温州市友田包装机械有限公司 | 浙江晨雕机械有限公司| 徐州中嘉工程机械有限公司| 苏州包装机械有限公司| 宣威凤凰钢铁有限公司| 江苏韩通船舶重工有限公司| 广东川德机械有限公司| 沧州昌鸿磨浆机械有限公司| 首都航天机械有限公司| 重庆庆达机械有限公司| 沈阳恒力机械有限公司| 山东誉亚大豆机械制造有限公司| 张家港白熊科美机械有限公司| 成都金瑞建工机械有限公司| 上海佳力士机械有限公司| 诸城隆泽机械有限公司| 温州瑞达机械有限公司| 广东包装机械有限公司| 南京恩梯恩精密机械有限公司| 昆山乙盛机械工业有限公司电话| 国发重工机械有限公司| 长沙熙迈机械制造有限公司| 郑州昌利机械制造有限公司| 上海行雄机械有限公司| 浙江 机械 有限公司| 河北实阳机械有限公司| 烟台利丰机械有限公司| 宁波金亿精密机械有限公司| 科瑞森机械有限公司| 华天机械制造有限公司| 江苏机械设备制造有限公司| 新世纪机械有限公司| 杭州 机械 有限公司| 常州市龙鑫化工机械有限公司| 常州步速者机械制造有限公司| 上海宝锻机械制造有限公司| 华通动力重工有限公司| 无锡通用机械厂有限公司| 遂宁华能机械有限公司| 武汉船用机械有限公司| 重庆精密机械有限公司| 东莞市恒生机械制造有限公司 | 银锐玻璃机械有限公司| 百超玻璃机械有限公司| 台州宏汇机械有限公司| 东莞市联顺机械有限公司| 安来动力机械有限公司| 河北食品机械有限公司| 上海杰姆博机械设备有限公司| 河北州科重工有限公司| 浙江锦峰纺织机械有限公司| 重庆工程机械有限公司| 无锡六叶机械有限公司| 苏州恒升机械有限公司| 温州宇英机械有限公司| 安庆恒昌机械有限公司| 金昶泰机械设备有限公司| 徐州 机械制造有限公司| 温州润新机械制造有限公司| 张家口中煤嘉益机械制造有限公司| 南通友德机械有限公司| 张家港机械有限公司| 焦作市机械制造有限公司| 上海颖盛机械有限公司| 晋城福盛钢铁有限公司| 机械生产制造有限公司| 重庆双腾机械制造有限公司| 郑州市昌利机械制造有限公司 | 浙江万通重工有限公司| 广东正力精密机械有限公司| 杭州金鸥机械有限公司| 广州通泽机械有限公司| 东莞市数控机械有限公司 | 南京竣业过程机械设备有限公司 | 江苏化工机械有限公司| 山东川普机械有限公司| 湖南星邦重工有限公司| 武汉市快诚机械有限公司| 涞源奥宇钢铁有限公司| 青岛农业机械有限公司| 沈阳联合利邦机械有限公司| 常州南鹏机械有限公司| 青岛欧普机械设备有限公司 | 新美星包装机械有限公司| 上海安展机械设备有限公司| 浙江豪盛印刷机械有限公司| 江苏华光双顺机械制造有限公司| 佛山市机械有限公司| 台进精密机械有限公司| 源田床具机械有限公司| 湖南信昌机械有限公司| 无锡大昌机械工业有限公司| 泉州市劲力工程机械有限公司| 宁波星峰机械有限公司| 合肥润通工程机械有限公司| 山东小康机械有限公司| 青岛奥硕数控机械有限公司| 大连 橡塑机械有限公司| 宁波昌源机械有限公司| 章丘市机械有限公司| 郑州兆明机械有限公司| 中铁重工有限公司武汉| 河北华西钢铁有限公司| 佛山市优霸机械设备有限公司| 江苏国瑞液压机械有限公司 | 郑州红星机械有限公司| 江阴铸造机械有限公司| 富世华全能常州机械有限公司| 住友重机械有限公司| 青岛华雷重工设备有限公司| 张家港和和机械有限公司| 山东 包装机械有限公司| 南通福斯特机械制造有限公司| 广州中益机械有限公司| 常州浦发机械有限公司| 郑州年旭机械有限公司| 矿山起重机有限公司| 厦门珀挺机械有限公司| 燕拓航(北京)真空机械有限公司| 浙江欧迈特减速机械有限公司| 福建晋工机械有限公司| 湖南汇一制药机械有限公司 | 玉环县三和机械制造有限公司| 浙江凯岛起重机械有限公司| 天津润机械有限公司| 上海博强机械有限公司| 重庆智茂机械制造有限公司| 东方液压机械有限公司| 泰安恒大机械有限公司| 江重机械制造有限公司| 中山弘立机械有限公司| 柳州市机械有限公司| 漳州震东机械有限公司| 常州步速者机械制造有限公司 | 河北鑫晟机械有限公司| 河南东起机械有限公司| 江苏铁本钢铁有限公司| 漳州钜钢机械有限公司| 郑州志乾机械设备有限公司| 宁波机械制造有限公司| 河北液压机械有限公司| 郑州昌利机械制造有限公司| 湖南龙凤机械制造有限公司| 江 诚机械有限公司| 摩丁机械常州有限公司| 徐工辽宁机械有限公司| 浙江为尚机械有限公司| 无锡市巨神起重机有限公司| 雄雄精密机械有限公司| 固耐重工苏州有限公司| 曲靖呈钢铁有限公司| 石油机械设备有限公司| 龙工机械制造有限公司| 吉林鑫达钢铁有限公司地址| 大连盘起工业有限公司| 张家港同大机械有限公司| 合肥亿恒机械有限公司| 泉州金鹰机械有限公司| 无锡旭辉机械有限公司| 河北巨牛机械有限公司| 郑州市鼎盛机械制造有限公司| 滨州市机械有限公司| 山西万泽锦达机械制造有限公司 | 南通贝思特机械工程有限公司| 机械(常州)有限公司| 浙江机械设备有限公司| 四川建筑机械有限公司| 青州矿砂机械有限公司| 浙江瑞德森机械有限公司| 洛阳机械设备有限公司| 浙江先锋机械有限公司| 滕州市美力机械有限公司| 上海乔麦包装机械有限公司| 河南省新乡市矿山起重机有限公司 | 常州机械制造有限公司| 友池精密机械有限公司| 山东永峰钢铁有限公司| 江阴市联拓重工机械有限公司 | 山东环保机械有限公司| 上海沁艾机械设备有限公司| 无锡兆立精密机械有限公司| 洛阳隆中重工机械有限公司| 上海造纸机械有限公司| 焦作市机械制造有限公司| 山鑫矿山机械有限公司| 佛山市陶瓷机械有限公司| 永康市机械有限公司| 中山机械制造有限公司| 滕州市美力机械有限公司| 瑞安瑞泰机械有限公司| 武汉 机械制造有限公司| 慈溪 机械 有限公司| 台州宏汇机械有限公司| 安徽金庆龙机械制造有限公司| 沈阳沈飞航宇机械制造有限公司| 威海华丰机械有限公司| 佛山丰堡精密机械有限公司| 上海包装机械设备有限公司| 苏州盛友机械有限公司| 江苏明珠试验机械有限公司| 洛阳鑫超机械有限公司| 沈阳盈好机械有限公司| 山推抚起机械有限公司| 北默压缩机械有限公司| 苏州纺织机械有限公司| 江苏合丰机械制造有限公司| 鑫华机械制造有限公司| 台州路桥机械有限公司| 山东泰峰起重设备制造有限公司 | 山东永峰钢铁有限公司| 杭州恒宏机械有限公司| 浙江富地机械有限公司| 凯达机械制造有限公司| 河北宏川机械制造有限公司 | 上海造纸机械有限公司| 泰州 机械有限公司| 中船重工环境工程有限公司怎么样| 上海纳丰机械设备有限公司| 才美机械制造(上海)有限公司| 佛山恒力泰机械有限公司| 合肥海源机械有限公司| 泰安鑫杰机械有限公司| 长沙机械与制造有限公司| 大连地拓重工有限公司怎么样 | 东莞市益彩机械有限公司| 广州市机械制造有限公司| 浙江鼎业机械设备有限公司| 绍兴市 机械有限公司| 厦门 机械有限公司| 天津华悦包装机械有限公司| 安阳锻压机械有限公司| 福建兴翼机械有限公司| 温州印刷机械有限公司| 渭南金狮机械有限公司| 雄克精密机械有限公司| 罗源闽光钢铁有限公司| 瑞安 包装机械有限公司| 济宁朝阳机械有限公司| 合肥成龙钢铁有限公司| 扬州恒润钢铁有限公司| 青岛正机械有限公司| 南京登峰起重设备制造有限公司 | 遂宁华能机械有限公司| 浙江万能弹簧机械有限公司| 威图电子机械技术上海有限公司| 浙江伟焕机械制造有限公司 | 苏州威邦自动化机械有限公司 | 郑州华隆机械有限公司| 威海祥光机械有限公司| 无锡好麦机械有限公司| 天津润澍机械有限公司| 上海枫信传动机械有限公司| 宝鸡万工机械制造有限公司| 永宏机械制造有限公司| 河北曙光机械有限公司| 上海众星洗涤机械制造有限公司 | 无锡凯希迪斯机械有限公司| 台州万洲机械有限公司| 山东米科思机械设备有限公司| 工程的机械设备有限公司| 广州力净洗涤机械有限公司| 大连德机械有限公司| 杭州春江制药机械有限公司| 安徽金龙机械有限公司| 张家口中煤嘉益机械制造有限公司 | 河北安丰钢铁有限公司| 溧阳申特钢铁有限公司| 上海科熙起重设备有限公司| 机械自动化设备有限公司| 机械维修 有限公司| 上海恒启机械设备有限公司| 河北天择重型机械有限公司| 迁安荣信钢铁有限公司| 台州精密机械有限公司| 江苏熔盛重工有限公司| 徐州彭贝机械制造有限公司| 江苏新益机械有限公司| 武汉餐至饮机械设备有限公司| 五矿钢铁西安有限公司| 河北德林机械有限公司| 湖南 机械设备有限公司| 昆山机械 有限公司| 鲁山万通通机械制造有限公司| 哈尔滨工程机械有限公司| 潍坊山水环保机械制造有限公司| 成都望锦机械有限公司| 常德三一机械有限公司| 上海慧丰传动机械有限公司| 上海龙工机械有限公司| 天津江天重工有限公司| 中山自动化机械有限公司| 浙江德玛克机械有限公司| 兖矿大陆机械有限公司| 深圳市 机械有限公司| 泰安恒大机械有限公司| 浙江网路崛起有限公司| 广州市力进食品机械有限公司| 石家庄博锐食品机械有限公司| 徐州徐工施维英机械有限公司| 东莞达成机械设备制造有限公司| 广州市机械有限公司| 江苏大明重工有限公司| 台湾晁群机械有限公司| 上海松川远亿机械设备有限公司| 无锡布勒机械有限公司| 无锡速波精密机械有限公司| 江苏霸马机械有限公司| 东台市机械有限公司| 浙江上石化机械有限公司| 东莞丰堡精密机械有限公司| 徐州斗山工程机械有限公司| 河南红星矿山机械有限公司| 惠州德钢机械有限公司| 郑州祥龙建筑机械租赁有限公司| 上海齐耀螺杆机械有限公司| 东莞丰堡精密机械有限公司| 广东包装机械有限公司| 泰田机械制造有限公司| 天津市仁翼钢铁有限公司| 湖南湘船重工有限公司| 成都恒飞机械有限公司| 东莞市世翔精密机械制造有限公司 | 首钢长白机械有限公司| 杭州长虹机械有限公司| 上海申克机械有限公司| 宁波美宁机械有限公司| 河北坤达起重设备有限公司| 安徽宇华机械制造有限公司| 江苏竣业过程机械设备有限公司| 苏州联佳精密机械有限公司| 郑州市长城重工机械有限公司| 常州华机械有限公司| 盐城万富隆机械制造有限公司| 江苏中热机械设备有限公司怎么样| 捷赛机械苏州有限公司| 无锡工源机械有限公司| 烟台利丰机械有限公司| 江阴 起重机械有限公司| 杭州通绿机械有限公司| 瑞迪机械实业有限公司| 山东润通机械制造有限公司| 石化机械制造有限公司| 苏州鸿安机械有限公司| 广东思沃精密机械有限公司| 河北德欧机械有限公司| 自贡机械制造有限公司| 飞迈烟台机械有限公司| 晋江力达机械有限公司| 郑州江科重工机械有限公司| 唐山众达机械轧辊有限公司| 无锡 精密机械有限公司| 武汉东泰盛机械有限公司| 聊城新泺机械有限公司| 河南卫华重型机械有限公司| 盐城市成功机械制造有限公司| 山东九环石油机械有限公司| 河南机械设备制造有限公司| 杭州汽轮机械设备有限公司| 辽宁天一重工有限公司| 廊坊德基机械有限公司| 烟台拓伟机械有限公司| 上海竹达机械设备有限公司| 浙江鸿森机械有限公司| 南京橡塑机械有限公司| 芜湖灵芝机械有限公司| 临沂华立机械有限公司| 南京贝隆齐机械有限公司| 瀚乐电子机械有限公司| 佛山市玻璃机械有限公司| 南阳 机械制造有限公司| 上海贯博起重设备有限公司 | 中山力劲机械有限公司| 青岛特固机械有限公司| 温州铸鼎机械有限公司| 浙江铸信机械有限公司| 上海国青机械有限公司| 常州都可机械有限公司| 宁波市鸿博机械制造有限公司| 东营市机械有限公司| 制药机械设备有限公司| 常州化工机械有限公司| 船舶机械制造有限公司| 株洲机械制造有限公司| 山东联邦重工有限公司| 上海伍行机械设备有限公司| 亨内基机械上海有限公司| 邦贝液压机械有限公司| 河北天择重型机械有限公司| 汤阴升达机械有限公司| 苏州恩贝德机械有限公司| 苏州江源精密机械有限公司| 成都弘邦机械有限公司| 常州市禾昌机械有限公司| 珠海市中鑫隆机械化建设工程有限公司| 郑州市恒昌机械制造有限公司 | 诚泰精密机械有限公司| 江苏电能机械有限公司| 利勃海尔机械大连有限公司 | 聊城新泺机械有限公司| 协展机械工业有限公司| 上海起重机有限公司| 广东中泽重工有限公司| 娄底 有限公司 机械| 河北普阳钢铁有限公司| 上海冠龙机械有限公司| 山东 工程机械有限公司| 欧力特机械有限公司| 浙江安奇迪动力机械有限公司| 宁夏天地奔牛银起设备有限公司| 天津菲特机械有限公司| 广州市京龙工程机械有限公司| 上海嘉歆包装机械有限公司| 云南中天机械有限公司| 莱州聚峰机械有限公司| 中山机械设备有限公司| 广东中泽重工有限公司| 扬州 机械有限公司| 养殖有限公司起名大全| 山东建凌机械有限公司| 郑州万谷机械有限公司| 埃比西斯机械有限公司| 山东中探机械有限公司| 农友机械设备有限公司| 潍坊华耀磁电机械有限公司| 莱州市鲁樽机械有限公司| 江苏力威机械有限公司| 宁波汉博机械有限公司| 杭州兴达机械有限公司| 临沂工程机械有限公司| 银丰弹簧机械设备制造有限公司| 东莞凯格精密机械有限公司| 杭州鼎升机械有限公司| 岳阳神冈起重电磁铁有限公司| 湖南正中制药机械有限公司| 广州市机械制造有限公司| 湖北江汉重工有限公司| 苏州擎邦机械有限公司| 河北雪龙机械制造有限公司 | 杭重工程机械有限公司| 山东重特机械有限公司| 广州机械设备制造有限公司| 江苏别具匠心机械设备有限公司| 浙江西子重工机械有限公司| 大理大钢钢铁有限公司| 无锡建仪仪器机械有限公司| 中核华兴达丰工程机械有限公司| 福州协展机械有限公司| 江苏拓威机械有限公司| 宁波裕民机械工业有限公司| 无锡印染机械有限公司| 茂名重力石化机械制造有限公司 | 苏州市星光精密机械有限公司 | 重庆有限公司 机械| 青岛辉特重工有限公司| 重庆墨龙机械有限公司| 东莞市比奥机械有限公司| 上海法德机械设备有限公司| 江苏新益机械有限公司| 武汉联明机械有限公司| 禹州市机械有限公司| 常州艾隆精密机械有限公司| 临沂美联重工有限公司| 上海三景机械有限公司| 东莞市大机械有限公司| 上海戴服特包装机械有限公司| 滁州富达机械电子有限公司| 卡骏机械设备有限公司| 重庆龙建机械有限公司| 洛阳精密机械有限公司| 上海万铂起重机械有限公司| 英隆机械昆山有限公司| 青岛弗林斯曼机械制造有限公司| 德阳川广机械有限公司| 东莞市锋机械有限公司| 瑞迪机械实业有限公司| 山东宇龙机械有限公司| 山东泗水泰峰面粉机械有限公司| 四川青城机械有限公司| 深圳起点云有限公司| 杭州岛文机械有限公司| 金坛市 机械有限公司| 昆山烽禾升精密机械有限公司| 上海旭恒精工机械制造有限公司| 湖南力诺机械有限公司| 青岛万邦包装机械有限公司 | 泰安越泰机械有限公司| 合肥永升机械有限公司| 上海沃勒起重设备有限公司| 烟台美丰机械有限公司| 潍坊 机械 有限公司| 温州市顺达服装机械有限公司| 福建东钢钢铁有限公司| 南京元盛机械设备有限公司| 济南聚鑫机械有限公司| 开封良益机械有限公司| 四川高龙机械有限公司| 上海信进精密机械有限公司| 石油化工机械有限公司| 广州市中铭印刷机械有限公司| 莱州弘宇机械有限公司| 宁波海伯精密机械制造有限公司| 瑞安市华东包装机械有限公司| 江苏双友重型机械有限公司| 苏州朗威电子机械有限公司| 重庆信鼎精密机械有限公司| 河北澳金机械设备有限公司| 台州亚格机械有限公司| 上海造及精密机械制造有限公司| 海星机械制造有限公司| 东莞智荣机械有限公司| 杭州爱科机械有限公司| 武汉日晗精密机械有限公司| 江阴化工机械有限公司| 河北昭达机械有限公司| 泉州机械设备有限公司| 昆山崇粲机械有限公司| 广州力丰机械有限公司| 宜昌 机械设备有限公司| 江苏万宝机械有限公司| 苏州精创机械有限公司| 福建烟草机械有限公司| 浙江勇力机械有限公司| 海南建设工程机械施工有限公司| 常州豪凯机械有限公司| 杭州引春机械有限公司| 玉环县机械有限公司| 苏州科瑞机械有限公司| 苏州奥天诚机械有限公司| 昌邑市机械有限公司| 西子重工机械有限公司| 湖南德邦重工机械有限公司| 湖州市湖州机械有限公司| 湖北仙粮机械有限公司| 范县中鑫钢铁有限公司| 上海建设路桥机械设备有限公司| 常州英来机械有限公司| 华西钢铁有限公司电话| 浙江华昌液压机械有限公司| 苏州松发机械有限公司| 苏州旭隆机械有限公司| 成都经纬机械制造有限公司| 武汉萱裕机械有限公司| 杭州高福机械制造有限公司| 诸城市志诺机械有限公司| 山东岳工机械有限公司| 泉州佳升机械有限公司| 青岛云龙纺织机械有限公司| 德州 机械有限公司| 浙江高达机械有限公司| 武汉中粮机械有限公司| 云南昆鼎机械设备有限公司| 广西南宁机械有限公司| 河南千里机械有限公司| 鞍山源鑫钢铁有限公司| 山西风源机械制造有限公司| 无锡英那威特机械发展有限公司 | 温州天富机械有限公司| 黄石永辉机械有限公司| 玉环县三和机械制造有限公司 | 南通安港机械有限公司| 金华巨鑫机械有限公司| 海南建设工程机械施工有限公司| 重庆比德机械有限公司| 东莞市瑞辉机械制造有限公司| 桂林中天机械有限公司| 闽源钢铁有限公司停产| 北京食之秀机械设备有限公司| 江苏本优机械有限公司| 唐山榕丰钢铁有限公司| 锦辉五金机械有限公司| 顺兴机械制造有限公司| 张家港机械设备有限公司| 江苏沃得农业机械有限公司 | 椿中岛机械有限公司| 常州市龙鑫化工机械有限公司| 海安机械制造有限公司| 摩丁机械常州有限公司| 山东永弘机械有限公司| 烟台万事达金属机械有限公司 | 西安鸿运机械有限公司| 南通市通州区三槐机械制造有限公司| 洛阳市机械有限公司| 江苏中贵重工有限公司| 瑞安市华东包装机械有限公司| 龙口金正机械有限公司| 厦门升正机械有限公司| 上海嘉倍德塑胶机械有限公司 | 苏州毕特富精密机械有限公司| 比力特机械有限公司| 鑫港机械制造有限公司| 山东章晃机械工业有限公司| 苏州恒升机械有限公司| 昆山美和机械有限公司| 龙海起重工具有限公司| 杭州建明机械有限公司| 常州凯发动力机械有限公司| 东平开元机械有限公司| 江苏宏达起重电机有限公司| 百赞精密机械有限公司| 无锡沃利数控机械有限公司| 洛阳泽华机械设备有限公司| 亚德林机械有限公司| 河南甲庚机械设备有限公司| 上海矿山机械有限公司| 卫华起重机有限公司| 集瑞联合重工有限公司| 广东省重工建筑设计院有限公司 | 绿友园林机械有限公司| 潍坊市贝特工程机械有限公司| 浙江晨雕机械有限公司| 合肥华运机械制造有限公司 | 临沂工程机械有限公司| 浙江包装机械有限公司| 青岛诺恩包装机械有限公司| 安徽宏远机械制造有限公司 | 青岛新东机械有限公司| 凯达机械制造有限公司| 河北工程机械有限公司| 洛阳市机械有限公司| 金沙机械制造有限公司| 温州天马食品包装机械制造有限公司 | 杭州建明机械有限公司| 杭州泰尚机械有限公司| 萨驰华辰机械 苏州 有限公司 | 重庆蓝黛动力传动机械有限公司| 济南快克数控机械有限公司| 重庆国杰工程机械有限公司| 苏州宏呈祥机械有限公司| 北京洛克机械有限公司| 武汉泛洲机械制造有限公司| 济南蓝象数控机械有限公司| 浙江包装机械有限公司| 江 诚机械有限公司| 郑州华宏机械设备有限公司| 大连塑料机械有限公司| 哈尔滨机械有限公司| 上海法德机械设备有限公司 | 唐山机械制造有限公司| 农友机械设备有限公司| 南京嘉诚机械有限公司| 翼虎动力机械有限公司| 浙江富昌机械有限公司| 苏州全彩机械设备有限公司| 浙江希望机械有限公司| 南兴木工机械有限公司| 上海树新机械有限公司| 西子重工机械有限公司| 江阴市药化机械有限公司| 无锡工程机械有限公司| 贵州运东机械有限公司| 东莞大同机械有限公司| 杭州贝克机械有限公司| 洛阳起重机厂有限公司| 新乡市起重机有限公司| 上海德珂斯机械自动化技术有限公司 | 德州市启泰机械设备有限公司| 山东华伟重工机械有限公司| 无锡马牌机械有限公司| 徐州福曼随车起重机有限公司| 佛山丰又丰机械有限公司| 鞍山宝得钢铁有限公司招聘岗位| 济南东泰机械制造有限公司| 泰安煤矿机械有限公司| 山西重工机械有限公司| 广州赛威机械有限公司| 青岛顺德塑料机械有限公司| 青岛万邦包装机械有限公司| 佛山市液压机械有限公司| 苏州阿姆斯壮阀门机械有限公司| 广州市三禾机械有限公司| 浙江宇丰机械有限公司| 厦门市机械有限公司| 上海山美重型矿山机械有限公司| 昆明群泰机械有限公司| 大连 机械制造有限公司| 上海以海机械有限公司| 江苏大圣机械制造有限公司| 上海环球机械有限公司| 上海建设路桥机械设备有限公司| 淄博推进化工机械有限公司| 浙江华业塑料机械有限公司| 平湖机械制造有限公司| 新鹏辉钢铁有限公司| 宁波汉博机械有限公司| 天津石油机械有限公司| 南通盛仕达精密机械有限公司| 浙江荣亿精密机械有限公司| 海的动力机械有限公司| 瑞祥机械制造有限公司| 力邦 机械有限公司| 青岛华磊塑料机械有限公司| 江苏本优机械有限公司| 张家港市港丰机械有限公司| 启东丰顺重工有限公司| 太原重工轨道交通设备有限公司 | 鑫锐机械设备有限公司| 温州轻工机械有限公司| 天赛塑胶机械有限公司| 浙江大源机械有限公司| 郑州市同鼎机械设备有限公司 | 浙江开诚机械有限公司| 上海机械配件有限公司| 江苏双箭输送机械有限公司| 无锡机械制造有限公司| 湖南汇一制药机械有限公司| 青岛欧普机械设备有限公司| 江苏莱宝机械制造有限公司| 沈阳东荣机械有限公司| 杭州 机械 有限公司| 玉环锐利机械有限公司| 重工机械制造有限公司| 曲靖呈钢铁有限公司| 东莞市比奥机械有限公司| 潍坊华全动力机械有限公司| 河南机械设备制造有限公司| 昆山富邦机械有限公司| 天津市精密机械有限公司| 大连典石精密机械有限公司| 中山力劲机械有限公司| 杭州建泰机械有限公司| 山东日发纺织机械有限公司| 温州奋起皮业有限公司| 廊坊包装机械有限公司| 山东卡特重工有限公司| 衢州 机械有限公司| 东莞大禹机械有限公司| 云南旷迪机械有限公司| 磊蒙机械设备有限公司| 江苏民生重工有限公司|