Java web基礎總結三之—— java web 服務器
一.什麼是java web服務器
首先來看一下什麼是web服務器,它一般指網站服務器,是指一個再互聯網一個主機上的一個程序。它可以解析客戶端發送來的遵循http協議的請求,並且經過邏輯業務處理後,以http協議向瀏覽器等Web客戶端提供文檔。
互聯網上供外界訪問的Web資源可以分爲兩種:一個是靜態web資源(如html 頁面),指web頁面中供人們瀏覽的數據始終是不變。另一個動態web資源,指web頁面中供人們瀏覽的數據是由程序動態產生的,不同的時間訪問web頁面看到的內容各不相同,現在的web頁面基本都是動態的。常用動態web資源開發技術:JSP/Servlet、ASP、PHP等。
一般我們把動態web頁面的開發稱爲javaweb技術,所以通常所說的java web服務器也可以認爲是遵循全部JSP/Servlet規範的容器。所謂的容器就是它實現了java定義的JSP/Servlet的接口規範,可以對JSP/Servlet的創建,運行,銷燬等整個生命週期進行管理。
servlet 容器的實現是非常複雜的。但是主要還是實現了三個過程:首先創建一個實現了javax.servlet.ServletRequest 接口或javax.servlet.http.ServletRequest 接口的 Request 對象,並用請求參數、請求頭(headers)、cookies、查詢字符串、uri 等信息填充該 Request對象;緊接着,創建一個實現了javax.servlet.ServletResponse或javax.servlet.http.ServletResponse 接口的 Response 對象;調用相應的servlet 的服務方法,將先前創建的 request 對象和 response 對象作爲參數傳入。接收請求的 servlet 從 request 對象中讀取信息,並將返回值寫入到 response 對象。然後把這個response 對象轉換成http報文傳到客戶端。
二.自己實現一個最簡單的java web服務器
由於http協議是基於tcp/ip協議之上的,所以只需要使用ServerSocket和Socket就可以實現一個非常簡單的http服務器。下面是一個類似於hello world的最簡單,最簡陋的http服務器。沒有對請求進行處理,對於所有的客戶端請求都返回hello world。
package com.c;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class HTTPServer {
public static void main(String[] args) {
try {
ServerSocket serverSocket=new ServerSocket(8080);
while(true){
Socket socket=serverSocket.accept();
System.out.println("-------");
PrintWriter printWriter=new PrintWriter(socket.getOutputStream());
//封裝http響應報文
printWriter.println("HTTP/1.1 200 OK");
printWriter.println("Content-type:text/html");
printWriter.println();
//發送hello world
printWriter.println("<h1>hello world</h1>");
printWriter.flush();
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
三.常見的幾個java web服務器
1. WebLogic
WebLogic是BEA公司的產品,是目前應用最廣泛的Web服務器,支持J2EE規範,當然是商業的,所以需要付費。
2. WebSphere
它是IBM公司開發的,支持J2EE規範。一般用於保險,銀行等等核心交易系統。跟錢有關的業務系統很多都是用的WebSphere Application Server。所以性能高,同樣的也不是免費的。
3. Apache
Apache開源組織有一個很優秀的開源web服務器:Tomcat,在小型的應用系統使用比較廣泛,該服務器支持全部JSP以及Servlet規範,現在有很多的商業公司也會在生產環境使用它。
四.Tomcat服務器簡介
1. tomcat 的安裝
它的下載地址是:http://tomcat.apache.org/.下載時,tar.gz文件是Linux操作系統下的安裝版本。zip文件是Windows系統下的壓縮版本。對於windows版本,下載以後,直接解壓,雙擊 bin 目錄下的 startup.bat 文件,或者在命令行下使用命令啓動。輸入http://localhost:8080/ 出現一個三條腿的湯姆貓就代表安裝成功了。
2. Tomcat 的目錄層次結構:
我們的web項目都會部署到webapps這個目錄下。然後tomcat就會自動進行管理。這個目錄下面可以同時部署多個項目,但是一般正式的生產環境都會在一個tomcat實例中只部署一個項目。