WEB開發初階——Tomcat
阿新 • • 發佈:2019-02-17
Tomcat是什麼?
Tomcat是由Apache軟體基金會下屬的Jakarta專案開發的一個Servlet容器,按照Sun Microsystems提供的技術規範,實現了對Servlet和JavaServer Page(JSP)的支援,並提供了作為Web伺服器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。由於Tomcat本身也內含了一個HTTP伺服器,它也可以被視作一個單獨的Web伺服器。但是,不能將Tomcat和Apache Web伺服器混淆,Apache Web Server[Apache]是一個用C語言實現的HTTP web server;這兩個HTTP web server不是捆綁在一起的。Apache Tomcat包含了一個配置管理工具,也可以通過編輯XML格式的配置檔案來進行配置。
Apache Tomcat區別
Apache是一個web伺服器環境程式,可以作為web伺服器使用。不過只支援靜態網頁,如(asp,php,cgi,jsp)等動態網頁的就顯得無能為力。
如果想讓伺服器也能處理動態頁面,那麼就需要Tomcat。Tomcat能對JSP、Servlet進行解析
WEB伺服器(Tomcat)會幹哪些事情 (簡單實現)
public class Initializer {
public static void main(String[] args) throws IOException {
while (true) {
try {
Socket socket = Listener.listen(Config.port); 1.監聽埠
String context = Reader.read(socket); 2.讀取請求
Request request = ContextParser.parse(context); 3.解析協議
Action action = Dispatcher.dispatch(request); 4.分發請求
Response response = action.execute(request); 5.處理請求
Writer.write(socket, response); 6.返回結果
Closer.close(socket);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
存在的問題:
1. 配置的載入 使用xml解決
2. web工程與web伺服器分離 /不用再新增新的需求後,編譯工程
靜態頁面 Tomcat下的defaultAction類處理
動態請求 target下面 編譯好的.class檔案(實現Action介面 做成jar包)
但是,這樣之後伺服器不知道有哪些action,所以通過xml來讓伺服器知道。讀取url 跟 Action對應關係,放入到Map裡面
3.Servlet Dispatch Servlet的url 匹配規則
Tomcat是由Apache軟體基金會下屬的Jakarta專案開發的一個Servlet容器,按照Sun Microsystems提供的技術規範,實現了對Servlet和JavaServer Page(JSP)的支援,並提供了作為Web伺服器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。由於Tomcat本身也內含了一個HTTP伺服器,它也可以被視作一個單獨的Web伺服器。但是,不能將Tomcat和Apache Web伺服器混淆,Apache Web Server[Apache]是一個用C語言實現的HTTP web server;這兩個HTTP web server不是捆綁在一起的。Apache Tomcat包含了一個配置管理工具,也可以通過編輯XML格式的配置檔案來進行配置。
Apache Tomcat區別
Apache是一個web伺服器環境程式,可以作為web伺服器使用。不過只支援靜態網頁,如(asp,php,cgi,jsp)等動態網頁的就顯得無能為力。
如果想讓伺服器也能處理動態頁面,那麼就需要Tomcat。Tomcat能對JSP、Servlet進行解析
WEB伺服器(Tomcat)會幹哪些事情 (簡單實現)
public class Initializer {
public static void main(String[] args) throws IOException {
while (true) {
try {
Socket socket = Listener.listen(Config.port); 1.監聽埠
String context = Reader.read(socket); 2.讀取請求
Request request = ContextParser.parse(context); 3.解析協議
Action action = Dispatcher.dispatch(request); 4.分發請求
Response response = action.execute(request); 5.處理請求
Writer.write(socket, response); 6.返回結果
Closer.close(socket);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
存在的問題:
1. 配置的載入 使用xml解決
2. web工程與web伺服器分離 /不用再新增新的需求後,編譯工程
靜態頁面 Tomcat下的defaultAction類處理
動態請求 target下面 編譯好的.class檔案(實現Action介面 做成jar包)
但是,這樣之後伺服器不知道有哪些action,所以通過xml來讓伺服器知道。讀取url 跟 Action對應關係,放入到Map裡面
3.Servlet Dispatch Servlet的url 匹配規則