1. 程式人生 > >java Web(3)

java Web(3)

並不是 html api 內容 適用於 addheader content 創建 get方法

Servlet

  是運行在Web服務器或應用服務器上的Java程序
  在Web上創建動態內容的有效而強大的解決方案
  由容器來管理生命周期與Web服務器交互
  由Sun規範了其功能

Servlet部署:

  一個Servlet必須有三個名稱:
  1:是Servlet的名稱,
  2:是Servlet類的完整名稱,
  3:是映射的邏輯名稱

總結:

  Java Servlet是運行在Web服務器或應用服務器上的Java程序
  Servlet規範對Servlet功能進行了嚴格定義
  Servlet API與容器進行通訊
  Servlet的編碼和部署需要在web.xml中進行註冊
  Servlet的生命周期由4個階段組成
  SevletConfig對象為Servlet提供初始化參數
  ServletContext對象屬於整個Web應用程序

使用Servlet處理Http的響應

  HttpServletResponse對象用於操縱響應的HTTP頭 

  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可以把一個對象用名字綁定在請求範圍內,並且進行訪問和刪除

  

java Web(3)