Web Application簡介:web
Web Application Name
WEB-INF
web.xml
該web application的配置文件
lib
該web application用到的依賴包
classes
編譯好的servlet
META-INF
存放該web application的上下文信息,符合J2EE標準
Web Application能夠直接放在Tomcat的webapp目錄下面
也能夠經過配置文件指定到其餘目錄 在server.xml文件中<host>標籤中<Context path=「/虛擬路徑名稱「 docBase=」web application目錄位置" debug="0" reloadable="true"/>編程
HttpServlet:小程序
Servlet是服務器小程序的意思
用來完成B/S架構下,客戶端請求的響應的處理
跨平臺,一般以多線程方式運行
Servlet API爲Servlet提供了統一的編程接口
Servlet通常在容器中運行,Servlet的生命週期由容器管理
常見的Servlet容器
Tomcat
Resin
Jetty數組
HttpServetl繼承了GenericServlet
GenericServlet類是全部Servlet的祖先類
HttpServlet主要方法
請求處理方法:(分別對應http協議的7種請求)
一、doGet 響應Get請求,經常使用
二、doPost 響應Post請求,經常使用
三、doPut 用於http1.1協議
四、doDelete 用於http1.1協議
五、doHead 僅響應Get請求的頭部。
六、doOptions 用於http1.1協議
七、doTrace 用於http1.1協議
service方法,當請求一個Servlet首先到達該方法,該方法再分發到相應的處理方法安全
Servlet生命週期服務器
生命全過程:cookie
加載Servlet並實例化 new
初始化 init
處理請求 service doGet doPost
退出服務 destroy()
注意Servlet只實例化一次
init方法也只執行一次
Servlet不是線程安全的多線程
Cookie架構
Cookie:保存到客戶端的一個文本文件,與特定客戶相關
Cookie以「名-值」對的形式保存數據
建立Cookie:new Cookie(name,value)
可使用Cookie 的setXXX方法來設定一些相應的值
setName(String name)/getName() //設置名字
setValue(String value)/getValue() //設置值
setMaxAge(int age)/getMaxAge() //設置存放的時間,以秒爲單位
利用HttpServletResponse的addCookie(Cookie)方法將它設置到客戶端
利用HttpServletRequest的getCookies()方法來讀取客戶端的全部Cookie,返回一個Cookie數組app
務器能夠向客戶端寫內容,只能是文本內容
客戶端能夠阻止服務器寫入,禁用Cookies
只能讀取本身webapp寫入的東西
Cookie分爲兩種
屬於窗口/子窗口(放在內存中的)
屬於文本(有生命週期的)
一個servlet/jsp設置的cookies可以被同一個路徑下面或者子路徑下面的
servlet/jsp讀到,其餘路徑沒法讀取到
// 舉個例子:
請求的路徑是 http:localhost:8080/test/testcookie
test:項目名稱 testcookie:web.xml中的虛擬路徑就是mapping中配置的
咱們在mapping中在加個路徑爲 /testcookie/testcookie2 這樣咱們也是能訪問到cookie的,
若是咱們 請求的路徑是 http:localhost:8080/tt/test/testcookie
tt:項目名稱 test/testcookie:web.xml中的虛擬路徑就是mapping中配置的
咱們在mapping中在加個路徑爲 /testcookie/testcookie2 這樣咱們是不能訪問到cookie的,
由於 一個servlet/jsp設置的cookies可以被同一個路徑下面或者子路徑下面的servlet/jsp讀到,其餘路徑沒法讀取到