javaweb複習(一)

 學習網站開發通常都是3部走。一、基本的servlet、jsp、js、html的內容學習。二、ssm、ssh之類的框架學習。三、大型網站開發的框架和技術學習(目前我還沒學到),我學習這部分主要的書是李興華版《javaweb開發實戰經典》和其餘大牛的博客內容html

第一部分是基礎知識java

一、胖客戶端和瘦客戶端的區別web

程序運行時若是須要一個單獨的客戶端程序支持,通常爲畔客戶端,列如qq。而瘦客戶端不須要。數據庫

二、web插件主要目的區分用戶發出的請求是靜態仍是動態,靜態web和動態web的本質區別是可否進行數據庫操做,動態客戶端最大的特色就是具備交互性編程

企業開發架構api

 

 

mvc模式:用戶請求發給控制層處理,控制層調用模型層中的組件,經過組件進行持久層訪問再將結果保存在javaBean()最終由jsp和javabean一塊兒完成頁面顯示數組

2、servlet瀏覽器

servlet是java對CGI程序的實現,但與傳統CGI的多進程處理方式不一樣,servlet採用多線程,這就使得servlet的運行效率較高,並且servilet還具備java可移植的特色。cookie

servlet api概述session

javax.servlet包含了servlet和servlet容器之間的類和接口

主要成員:接口servlet、servletRequest、servletResponse、servletContext、servletConfig、Fileter、RequestDispatchar,類GenericServlet

javax.servlet.http包含了httpservlet和servlet容器之間的接口

javax.servlet.annocation包含了servlet、filter、listtener進行標註的註解

javax.servlet.descriptor包含了爲web應用程序的配置信息提供編程式訪問的類型

一、servlet接口定義了5個方法

init(ServletConfig config)初始化信息

service(setvletRequest request,ServletResponse response)響應請求,通常不會直接覆寫此方法,而是經過使用doGet()或doPost()方法操做

destroy()銷燬時調用

getServletinfo()返回java.long.string的返回值

getServletConfig()返回 servletConfig的返回值

每個Http請求,servlet容器都會建立一個servletequest實例,並將它傳給servlet的service方法。servletRequest封裝了請求信息

二、servletRequest接口中的方法:

(1)int getContentLength()返回請求主體中的字節數

(2)String getContType()返回主體的類型

(3)String getParameter(java.long.Stringname)返回指定請求參數的值(重要)

(4)String getProtocol()返回這個http請求的協議名稱及版本號

三、Servletresponse

Servletresponse接口表示一個servlet響應。在調用一個servlet的service方法以前,servlet容器會先建立一個servletResponse,並將它做爲service的第二個參數傳給他。serviceResponse隱藏了響應發給瀏覽器的複雜性

servletresponse中定義的其中一個方法getwriter方法,他返回能夠將文本傳給客戶端的java.io.printwriter流,在默認狀況下,Printwriter對象採用ISO-8859-1編碼

在servlet容器初始化servlet時,servlet容器將servletConfig傳遞給servlet中info方法

在web.xml中配置初始化參數。

<init-param>

           <param-name>paramname</param-name><!--參數名-->

           <param-value>db1</param-value><!--參數內容-->

</init-param>

爲了從一個Servlet內部得到初始化的值,應該在Servlet容器傳遞給Servlet的init方法的ServletConfig中調用getInitParameter(參數)得到值。

config對象也能夠從web.xml文檔得到配置信息,由於config是servletConfig的實例

每個servlet能夠配置多個初始化參數,配置直接使用<init-param>元素,其中<param-name>表示參數名<param-value>表示參數內容,servlet讀取時經過參數名稱取得參數內容取得其內置對象

四、servletContext

servletContext表示servlet應用程序,每一個web應用程序只有一個Context

在servletconfig中調用getservletcontext方法能夠得到ServletServletContext。

application是servletcontext接口的實例,表示servlet的上下文,若是在一個servlet中使用此對象直接經過genericservlet類的方法

ServletContext中處理屬性的一些方法:

java.lang.Object  getAttribute(java.lang.String name)

java.util.Enumeration<java.lang.String> getAttributeNames()

setAttribute(java.lang.String name,java.lang.Object object)

removeAttribute(java.lang.String name)

五、GenericServlet

GenericServlet是繼承了Servlet接口的類。

六、HttpServlet

servlet應用程序大多數都會用到http協議,servlet.http包包含了servlet應用程序的類和接口,大部分都覆蓋了servlet的接口和類

httpservlet(繼承Generic)、httpServletRequest(繼承servletrequest)、httpservletresponse、httpsession、cookie

HttpServlet類覆蓋了GenericServlet類。在使用HttpServlet時,還用使用到HttpServletRequest和HttpServletResponse對象,它們分別表示Servlet請求和響應。

doGet(HttpServletRequest request,HttpServletResponse response)

doPost(HttpServletRequest request,HttpServletResponse response)

HttpServletRequest表示HTTP環境中的Servlet請求,它繼承ServletRequest接口。增長的幾個方法:

(1)java.lang.String getContextPath():返回表示請求context請求URL部分。

(2)Cookie[]  getCookies():返回一個Cookie對象數組。

(3)java.lang.String getHeader(java.lang.String name):返回指定HTTP標頭的值。

(4)java.lang.String  getMethod():返回發出這條請求的HTTP方法的名稱。

(5)java.lang.String  getQueryString():返回請求URL中的查詢字符串。

(6)HttpSession getSession():返回與這個請求有關的session對象。若是沒有找到,則新建一個session對象。

(7)HttpSession getSession(boolean create):當參數create爲true時,與上面方法相似。

HttpServletResponse表示HTTP環境下的Servlet響應。主要方法:

addCookie(Cookie cookie):給響應對象添加cookie。

addHeader(java.lang.String name,java.lang.String value):給響應對象添加標頭。

sendRedirect(java.lang.String location):發送響應代號,將瀏覽器重定向到指定的位置。

在servlet實現頁面跳轉能夠直接使用HttpServletResponse接口的sendRedirect()也可使用RequestDispatcher接口的froward()方法

servlet處理流程

servlet的生命週期

 

加載程序:加載servlet,當web容器啓動或者是在第一次使用這個servlet是,容器負責建立servlet實例,成功加載後web用反射方式進行實例化

初始化:當一個servlet被實例化後,容器將調用init()方法初始化這個對象,初始化的目的是爲了讓servlet對象在處理客戶端請求前完成一些初始化的工做,初始化失敗,servlet將直接被卸載

服務:service()方法(經常使用doget和dopost)

銷燬:當web容器關閉或檢測一個servlet要被刪除時會自動調用destroy()方法

卸載:調用完destroy後,實例將等待垃圾收集器回收

相關文章
相關標籤/搜索