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