Servlethtml
是運行在Web服務器或應用服務器上的Java程序
在Web上建立動態內容的有效而強大的解決方案
由容器來管理生命週期與Web服務器交互
由Sun規範了其功能web
Servlet部署:瀏覽器
一個Servlet必須有三個名稱:
1:是Servlet的名稱,
2:是Servlet類的完整名稱,
3:是映射的邏輯名稱服務器
總結:編碼
Java Servlet是運行在Web服務器或應用服務器上的Java程序
Servlet規範對Servlet功能進行了嚴格定義
Servlet API與容器進行通信
Servlet的編碼和部署須要在web.xml中進行註冊
Servlet的生命週期由4個階段組成
SevletConfig對象爲Servlet提供初始化參數
ServletContext對象屬於整個Web應用程序spa
使用Servlet處理Http的響應xml
HttpServletResponse對象用於操縱響應的HTTP頭 htm
setHeader()
addHeader()
setIntHeader()
setDateHeader()
containsHeader()
setContentType()
addCookie()對象
重定項生命週期
response.sendRedirect("http://127.0.0.1:8080/lovobook/bar.html");
使用Servlet處理Http的請求
getMethod():獲取HTTP的請求方法,例如GET、POST等
getRequestURI():獲取請求的URI資源
getRequestURL():獲取請求的URL,包含協議名、服務器名或IP、端口號和請求資源但不包括查詢字符串參數
getQueryString():獲取請求URL後面的查詢字符串
getProtocol():獲取HTTP的協議名和版本號
getContextPath():獲取請求URI資源的上下文路徑
getServletPath():獲取Servlet的映射路徑
getParameter()獲取表單元素
request.getRequestDispatcher("/sucess.html").forward(request, response); 請求派發forward()方法意味着把請求和響應派發給別的資源後,就不會再去作任何處理了
request.getRequestDispatcher("/sucess.html").include(request, response); 請求派發include() 方法意味着請求別人幫助處理請求,但這並非徹底移交,只是暫時地把控制交給 別人
Servlet響應總結
請求URL時HTTP發出了多個請求
狀態碼告訴瀏覽器發送的內容及格式狀態
Servlet API與容器進行通信
HttpServletResponse定義的常量來避免直接使用整數
在經過PrintWriter對象發送任何內容以前先調用 HttpServletResponse的setStatus()方法
爲了讓Servlet發揮最大的效能,HttpServletResponse對象用於操縱響應的HTTP頭
getWrite()或者getOutputStream()方法傳送文本或者二進制內容給客戶端
sendRedirect方法實現重定向
HTTP響應頭「Refresh」會根據時間來控制響應
Servlet請求總結
HttpServletRequest對象主要用於處理分析請求默認狀況下,使用HTTP協議的GET方法提交請求 HTML表單經過「method」屬性使瀏覽器使用HTTP POST方法 GET/POST方法適用於不一樣場合HttpServletRequest對象中最經常使用的方法是獲取請求表單參數HttpServletRequest對象也能夠獲得請求中參數的原始字節數據 重定向和請求派發之間最大的區別在於,重定向讓客戶端瀏覽器來完成,而請求派發是在服務器端作工做 HttpServletRequest能夠把一個對象用名字綁定在請求範圍內,而且進行訪問和刪除