Servlet學習之web服務器Tomcat 詳解

 

Web服務器是什麼

Web服務器是指駐留於因特網上某種類型計算機的程序。當Web瀏覽器(客戶端)連到服務器上並請求文件時,服務器將處理該請求並將文件發送到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。服務器使用HTTP(超文本傳輸協議)進行信息交流,這就是人們常把它們稱爲HTTPD服務器的緣由。
Web服務器不只可以存儲信息,還能在用戶經過Web瀏覽器提供的信息的基礎上運行腳本和程序。
Web服務器能夠解析HTTP協議。當Web服務器接收到一個HTTP請求,會返回一個HTTP響應,例如送回一個HTML頁面。爲了處理一個請求Web服務器能夠響應一個靜態頁面或圖片,進行頁面跳轉或者把動態響應的產生委託給一些其它的程序例如CGI腳本,JSP腳本,servlets,ASP腳本,服務器端JavaScript,或者一些其它的服務器端技術。不管它們的目的如何,這些服務器端的程序一般產生一個HTML的響應來讓瀏覽器能夠瀏覽。 html

在這裏我只說一下Tomcat的使用和配置,若有興趣能夠本身看一下經常使用的web服務器java

咱們本身模擬一個web 服務器

Tomcat是一個很好的web服務器,它是怎麼工做的呢,咱們能夠本身寫一個簡單的服務器web

看一下瀏覽器

先寫一個Html頁面,咱們要經過個服務器打,在IE裏顯示這個Html頁面tomcat

<h1>Hello!<h1>

 下面開寫一個簡單的web服務器:服務器

import java.io.*;
import java.net.*;

public class JavaWebService {
    public static void main(String arg[]) throws Exception
    {
        ServerSocket server=new ServerSocket(9999);
        System.out.println("等待鏈接.....");
        Socket socket=server.accept();
        OutputStream outStream=socket.getOutputStream();
        System.out.println("鏈接成功.....");
        BufferedReader bufferReader=new BufferedReader(new FileReader("D:\\Hello.html"));
        String buf="";
        while((buf=bufferReader.readLine())!=null)
        {
            outStream.write(buf.getBytes());            
        }
        bufferReader.close();
        outStream.close();
        socket.close();
        
    }
}

編譯一下app

在IE裏運行eclipse

咱們本身的web服務器在IE上顯示Hello! webapp

 

再看一下cmd命令socket

 

這是一個很簡單的web服務器的小例子,只是解釋一下tomcat web服務器的原理。

使用TomCat

啓動TomCat 是在bin目錄下的startup.bat

這裏要說明一下看一下本身的系統是32位的仍是64位,要針對系統下不現版本的tomcat

若是啓動失敗

查看Log目錄下的日誌,看是什麼問題致使服務沒有打開通常狀況有下邊兩種

1.在啓動以前要先肯定個人電腦 環境變量裏是否已把JAVA_HOME配置好

個人是在c盤

 

也能夠直接在startup.bat裏

加上這個set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45

 

 

2.是否是端口被佔用8081

用cmd命令netstat -anb查看是哪一個程序把端口占用了

  <Connector port="8081" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

把8081端口修改一個

 

a

Tomcat 要進入Manager App和Host Manager須要權限 

 <role rolename="manager-gui"/>
  <role rolename="admin-gui"/> 
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>

 

測試Tomcat

在IE中輸入http://localhost:9081/能進入說明咱們的Tomcat啓動成功

 

 

 

Tomcat 要進入Manager App和Host Manager須要權限 

在conf目錄下的tomcat-users.xml加上

 

  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/> 
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>

從新啓動一下Tomcat點擊Host Manager會讓輸入用戶名

 

TOMCAT的目錄

主要說一下webapps目錄和work目錄

webapps目錄 :在這個目錄下,放置web應用

如咱們放把以前的Hello.html頁面放到裏面

咱們在webapps裏建一個HelloWeb文件夾,把Hello.html放到裏面,啓動tomcat

在IE裏輸入

http://localhost:9081/HelloWeb/Hello.html

若是想不加Hello.html就顯示出來能夠 這個麼

新建一個文建夾WEB-INF

在裏邊建一個web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">  

 <welcome-file-list>
    <welcome-file>Hello.html</welcome-file>
 </welcome-file-list>
</web-app>

 再在IE裏輸入

http://localhost:9081/HelloWeb/

也會看到這個頁面

work目錄

用於存放jsp對應的servlet文件和.class文件

這個圖是我在eclipse裏寫的一個jsp頁面

它對應的servlet是

相關文章
相關標籤/搜索