Java web基礎總結三之—— java 網頁伺服器

來源:互聯網
上載者:User

標籤:web伺服器   http伺服器   apache   tomcat   servlet   

Java web基礎總結三之—— java 網頁伺服器一.什麼是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執行個體中只部署一個項目。

Java web基礎總結三之—— java 網頁伺服器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.