tomcat配置環境變量: JAVA_HOME= 指向你的jdk的主目錄(bin目錄的上一層)html
server.xml: java
<Context path="/myweb2" docBase="d:\web2"/> 能夠把web資源路徑添加到tomcat文件以外 ,等同web.xml配置; web
path:訪問時輸入的web名 docBase:web資源的絕對路徑apache
reloadable :如設爲true ,tomcat 會自動更新 web應用;開銷大,開發過程能夠true,發佈後應該爲falseapi
upackWAR: 若是設爲 true ,則自動解壓,不然不自動解壓.瀏覽器
servlet須要的兩個包: 緩存
import javax.servlet.*; import javax.servlet.http.*;
tomcat
servlet-api.jar包引入須要配置環境變量, CLASSPATH 變量值: E:\tomcat\apache-tomcat-6.0.20\lib\servlet-api.jar 服務器
web.xml: jsp
映射servlet能夠多層 <url-pattern>/servlet/index.html</url-pattern> 後綴名是 html,未必是真的html
使用通配符在servlet映射到URL中,兩種格式:
第一種格式 *.擴展名 好比 *.do *.ss *.do,爲任何訪問地址都能訪問url
第二種格式 以 / 開頭 同時以 /* 結尾 好比 /* /news/*
匹配時的標準: 優先度高則優先被選擇. *.do的優先級最低
<load-on-startup>1</load-on-startup> 能夠指定某個servlet自動建立, 字段數字爲優先級
String encoding=this.getServletConfig().getInitParameter("encoding"); getServletConfig用於讀取servlet的配置信息
爲servlet配置參數
<servlet>
<servlet-name>ServletConfigTest</servlet-name>
<servlet-class>com.hsp.servlet.ServletConfigTest</servlet-class>
<!-- 這裏能夠給servlet配置信息,這裏配置的信息,只能被該servlet 讀取 -->
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</servlet>
<!-- 若是這裏配置參數,可被全部servlet讀取 -->
<!--
<context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
-->
http請求:
http1.0爲短鏈接,http1.1爲長鏈接; 長鏈接持續時間30s,短鏈接是發送完數據就斷掉.
1.Accept: text/html,image/* [告訴服務器,我能夠接受 文本,網頁,圖片]
2.Accept-Charset: ISO-8859-1 [接受字符編碼 iso-8859-1]
3.Accept-Encoding: gzip,compress [能夠接受 gzip,compress壓縮後數據.]
4.Accept-Language: en-us,zh-cn [瀏覽器支持中,英文]
5.Host: www.sohu.com:80 [我要找主機是 www.sohu.com:80]
6.If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT [ 告訴服務器,個人緩衝中有這個資源文件,該文件的時間是。。。]
7.Referer: http://www.sohu.com/index.jsp [告訴服務器,我來自哪裏,該消息頭,經常使用於防止盜鏈]
8.User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)[告訴服務器,瀏覽器內核]
9.Cookie
10.Connection: close/Keep-Alive [保持鏈接,發完數據後,我不關閉鏈接]
11.Date: Tue, 11 Jul 2000 18:23:51 GMT [瀏覽器發送該http請求的時間]
String referer=request.getHeader("Referer");
if(referer==null||!referer.startsWith("http://localhost:8088/servletPro")){
response.sendRedirect("/servletPro/Error");
return;
}
http的響應:
HTTP/1.1 200 OK
狀態碼 含義
100-199 表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程
200-299 表示成功接收請求並完成整個處理過程,經常使用200
300-399 爲完成請求,客戶須要進行一步細化請求。例如:請求的資源已經移動一個新的地址,經常使用302,307
400-499 客戶端的請求有錯誤 404
500-599 服務器端出現錯誤,經常使用500
Location: http://www.baidu.org/index.jsp 【讓瀏覽器從新定位到url】 Server:apache tomcat 【告訴瀏覽器我是tomcat】 Content-Encoding: gzip 【告訴瀏覽器我使用 gzip】 Content-Length: 80 【告訴瀏覽器會送的數據大小80節】 Content-Language: zh-cn 【支持中文】 Content-Type: text/html; charset=GB2312 [內容格式text/html; 編碼gab2312] Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 【告訴瀏覽器,該資源上次更新時間】 Refresh: 1;url=http://www.baidu.com 【過多久去,刷新到 http://www.baidu.com】 Content-Disposition: attachment; filename=aaa.zip 【告訴瀏覽器,有文件下載】 Transfer-Encoding: chunked [傳輸的編碼] Set-Cookie:SS=Q0=5Lb_nQ; path=/search[後面詳講] Expires: -1[告訴瀏覽器如何緩存頁面IE] Cache-Control: no-cache [告訴瀏覽器如何緩存頁面火狐] Pragma: no-cache [告訴瀏覽器如何緩存頁面] Connection: close/Keep-Alive [保持鏈接 1.1是Keep-Alive] Date: Tue, 11 Jul 2000 18:23:51 GMT