Java web基礎總結三之—— java web 服務器

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實例中只部署一個項目。

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