◆
tomcat是一個專門用於web服務的服務器軟件.
1.運行 :
設置完畢後就能夠運行
tomcat服務器了,進入tomcat的bin目錄,windows下用startup啓動tomcat,相應的關閉tomcat的命令爲shutdown和shutdown.sh。啓動後能夠在瀏覽器中輸入[url]http://localhost:8080/[/url]測試。你能夠測試其自帶的jsp和servlet示例。
[url]http://www.it315.org/a.html[/url]
瀏覽器發給服務器的信息爲:
GET /a.html HTTP/1.1
服務器會去根目錄下找
a.html文件。此根目錄是「TOMCAT安裝目錄\webapps\ROOT」。
若是
/表明「C:\abc」
那麼就去找
C:\abc\a.html文件。
虛擬目錄:
[url]http://www.it315.org/xxx/a.html[/url]
若是把上面的「
/xxx」映射成了「d:\」
那麼就去找
D:\a.html文件。
127.0.0.1:表明本地
localhost:一般狀況下配置爲本地,實質上不是。能夠在
windows\system32\drivers\etc\hosts文件改。
[url]http://www.it315.org:8080[/url]會解析
[url]www.it315.org[/url],首先把[url]www.it315.org[/url]在hosts裏面所對應的IP地址,找不到再去 找dns
一個站點下能夠有多個虛擬目錄,每一個虛擬目錄就是一個獨立的
WEB應用程序。每一個web應用程序都有本身的配置信息。
jar -cvf fileName.war 被打包的文件
jar -cvf fileName.war -C 被打包的文件夾 被打包的文件夾中的文件
servlet是被
web服務器去調用的。
◆HTTP請求、響應和頭信息:
1.客戶端發送的請求消息爲文本流,由如下內容組成:
請求行
包括方法、統一資源表示符、HTTP協議版本。
頭信息
典型的請求消息相似如下內容:
GET p_w_picpath/bar01.jpg HTTP/1.1
User-Agent:Mozilla/4.0 (compatible;MSIE 4.0 : Windows 2000)
Accept:p_w_picpath/gif,p_w_picpath/jpeg,text/*,*/*
|
第一行使用GET方法獲取bar01.jpg文件,並指定正在使用的是HTTP協議1.1版本,後續行包括頭信息,User-Agent頭指示客戶端使用的瀏覽器,Accept頭提供有關客戶端能夠接受的MIME類型列表,在頭信息以後,客戶端發送一個空白行,指示消息請求結束,若是有表單等內容則將表單內容做爲實體在空白行後面一塊兒提交。
2.請求消息由服務器經一步處理,並生成相應的相應消息,響應消息由如下元素組成:
狀態行
頭信息
實體內容(即網頁中要顯示的內容)
如下是一個典型的響應消息示例:
HTTP/1.1 200 OK
Server:JavaWebServer
Last-modified:Tuesday,07-Sep-04 1:14:34 GMT
Content-length:100
Content-type:text/plain
<html>
………………
………………
</html>
|
第一行爲狀態行,其中的狀態碼200表示已成功處理請求,所以描述爲「OK」,404是找不到網頁時常遇到的狀態碼,接下來一直到空白行以前都是頭信息。包括服務器使用的軟件,文件最後修改時間,長度及內容的類型等信息,空白行是實體內容。
◆ WEB應用程序:
基於
java的WEB應用程序由Servlet、Jsp、圖象、HTML、JavaBean、Applet等組成。要部署一個WEB應用程序一種簡便的方法就是將全部與WEB應用程序關聯的文件打包成一個.war文件,與Servlet規範兼容的全部Web容器都支持.war文件。
一個
WEB應用程序都有一個頂層目錄,通常由如下部分組成:
1. 靜態文件:包括
HTML文件和圖象等。
2. JSP頁面文件
3. WEB-INF文件夾:注意,該目錄不能被引用。由如下部分組成:
● classes目錄:Servlet類、JavaBean類和其餘全部類文件。
● lib目錄:包含WEB應用程序所需的全部.jar文件。例如數據庫鏈接包等。
● tags目錄:包含自定義標記提供實現的tag文件
● web.xml:Web應用的部署描述符文件。該文件包含有關WEB應用程序(如要顯示的默認頁、要加載的Servlet等)的元數據信息
◆ 設置WEB站點的虛擬子目錄:
1. 將本地計算機上C:\WebDemo目錄映射成爲web站點的/demo虛擬子目錄能夠以下配置:打開Tomcat安裝目錄/conf/server.xml文件,在<host>元素中間加上一行:
<Context path=」/demo」 decBase=」C:\WebDemo」 debug=」0」>
2. 也可使用jar命令將C:\WebDemo目錄打包成C:\WebDemo.jar文件。步驟以下:
1) 啓動命令行窗口,進入C:\WebDemo目錄
2) 執行以下命令:jar –cvf WebDemo.war .
注意後面的點,它表明當前目錄,上面的命令將C:\WebDemo中全部內容壓縮成WebDemo.war文件,但不包含C:\WebDemo目錄自己。
注意:此步驟在執行jar命令時若是此目錄的WEB-INF文件夾中沒有web.xml文件,Tomcat將使用默認的web.xml文件內容,若是有則以此web.xml文件爲準,因此此web.xml文件必須書寫正確(包括語法和配置)。
3. 也能夠直接把C:\WebDemo拷到Tomcat安裝目錄/webapps目錄下,可是必須有一個WEB-INF目錄,若是WEB-INF目錄下有web.xml文件,此web.xml文件必須書寫正確(包括語法和配置)。
◆ 下面是一個簡單的servlet文件編寫、編譯、註冊和運行的過程:
1.首先新建一個WebRoot目錄,此目錄下文件結構以下:
WebRoot
|—WEB-INF文件夾
|—classes文件夾
| |-HelloServlet.class文件
|-web.xml文件
2.編寫一個servlet文件,示例代碼以下:
//導入一些要用到的類
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//繼承HttpServlet
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
//重寫父類中的service方法
@Override
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//從HttpServletResponse中得到一個輸出流
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>Hello World</body>");
out.println("</html>");
out.close();
}
}
3.編譯(必需要把 Tomcat安裝目錄/common/lib/servlet-api.jar設置到classpath中),沒錯誤後把HellpServlet.class放到上面的classes目錄下。
4.寫web.xml文件,示例代碼以下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
<!—註冊servlet-->
<servlet>
<servlet-name>AnyName</servlet-name>―――――――――|
<servlet-class> HelloServlet</servlet-class> |
</servlet> |名字
|必須
<!—指定映射到此servlet的url-->
|一致
<servlet-mapping> |
<servlet-name>AnyName</servlet-name>―――――――――
|
<url-pattern>/demo/test.html</url-pattern>
</servlet-mapping>
</web-app>
網頁中顯示出了HelloWorld,若是有錯可能因爲一下緣由:Tomcat沒啓動,大小寫有誤等等。