Web服務器是什么
Web服務器是指駐留於因特網上某種類型計算機的程序。當Web瀏覽器(客戶端)連到服務器上並請求文件時,服務器將處理該請求並將文件發送到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。服務器使用HTTP(超文本傳輸協議)進行信息交流,這就是人們常把它們稱為HTTPD服務器的原因。
Web服務器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎上運行腳本和程序。
Web服務器可以解析HTTP協議。當Web服務器接收到一個HTTP請求,會返回一個HTTP響應,例如送回一個HTML頁面。為了處理一個請求Web服務器可以響應一個靜態頁面或圖片,進行頁面跳轉或者把動態響應的產生委托給一些其它的程序例如CGI腳本,JSP腳本,servlets,ASP腳本,服務器端JavaScript,或者一些其它的服務器端技術。無論它們的目的如何,這些服務器端的程序通常產生一個HTML的響應來讓瀏覽器可以瀏覽。
在這里我只說一下Tomcat的使用和配置,如有興趣可以自己看一下常用的web服務器
我們自己模擬一個web 服務器
Tomcat是一個很好的web服務器,它是怎么工作的呢,我們可以自己寫一個簡單的服務器
看一下
先寫一個Html頁面,我們要通過個服務器打,在IE里顯示這個Html頁面
<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(); } }
編譯一下
在IE里運行
我們自己的web服務器在IE上顯示Hello!
再看一下cmd命令
這是一個很簡單的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是