丰满少妇女人a毛片视频-酒色成人网-日韩欧美一-日韩精品一区二区av在线观看-成人久久免费-欧美精品一二三四区-国产午夜免费-亚洲男人第一天堂-一区二区三区福利视频-午夜激情影院-av中文天堂在线-免费一区二区-欧美日韩xxx-91区视频-亚洲另类激情专区小说图片-黄色的网站在线观看-香蕉精品在线

高分網(wǎng) > 答案大全 > 其它答案 >

servlet重要的知識(shí)點(diǎn)

時(shí)間: 炎婷2 其它答案

  Java Servlet知識(shí)點(diǎn)歸納

  Servlet生命周期

  1.servlet容器完成加載Servlet類加載和實(shí)例化:

  當(dāng)servlet容器啟動(dòng)時(shí),或者servlet容器檢測(cè)到需要這個(gè)servlet服務(wù)的第一個(gè)請(qǐng)求時(shí), servlet容器會(huì)加載這個(gè)servlet,并生成servlet實(shí)例。也可以在兩者之間的任何時(shí)候執(zhí)行(配置為load on start up的 servlet是在容器啟動(dòng)時(shí)被加載的)。

  2.serlet初始化

  當(dāng)servlet實(shí)例化后,容器將調(diào)用這個(gè)對(duì)象的init()方法進(jìn)行初始化,初始化的目的是在這個(gè)實(shí)例為請(qǐng)求提供服務(wù)前完成初始化工作,如建立配置連接,獲取配置信息等。servlet實(shí)例可以使用容器為其提供的ServletConfig對(duì)象,從web應(yīng)用程序的配置信息中(即web.xml文件),獲取初始化的參數(shù)信息

  3.服務(wù)

  Servlet容器調(diào)用servlet實(shí)例的service()方法來對(duì)請(qǐng)求進(jìn)行處理。在service()方法中,servlet實(shí)例通過ServletRequest對(duì)象,來獲取客戶端的相關(guān)信息和請(qǐng)求信息;處理完成后,servlet實(shí)例通過ServletResponse對(duì)象來設(shè)置相應(yīng)信息。

  4.銷毀

  當(dāng)容器檢測(cè)到某個(gè)servlet實(shí)例需要在服務(wù)中移除時(shí),則容器將調(diào)用servlet實(shí)例的destroy()方法,以便釋放實(shí)例所使用的資源,并將數(shù)據(jù)存儲(chǔ)到持久存儲(chǔ)設(shè)備中。當(dāng)調(diào)用destroy()方法后,容器將釋放此servlet實(shí)例,該實(shí)例隨后將由垃圾回收器進(jìn)行垃圾回收處理。如果再有對(duì)此實(shí)例的服務(wù)請(qǐng)求時(shí),容器將重新創(chuàng)建一個(gè)新的servlet實(shí)例。

  如何獲得請(qǐng)求參數(shù)?

  1. request。getParameter(“name”);

  2. 如果一個(gè)請(qǐng)求參數(shù)有多個(gè)值,需要返回一個(gè)數(shù)組!

  String []size=request.getParameter(“name”);

  For(int i=0;i

  out.print(size[0]);}

  除了參數(shù),還可以獲得其他

  1與請(qǐng)求相關(guān)的cookie Cookie [] cookies=request.getCookies();

  2與會(huì)話相關(guān)的session Session session=request.getSession();

  3請(qǐng)求的HTTP方法 String methed=request.getMethed();

  Request對(duì)象的主要方法:

  setAttribute(String name,Object):設(shè)置名字為name的request的參數(shù)值

  getAttribute(String name):返回由name指定的屬性值

  getAttributeNames():返回request對(duì)象所有屬性的名字集合,結(jié)果是一個(gè)枚舉的實(shí)例

  getCookies():返回客戶端的所有Cookie對(duì)象,結(jié)果是一個(gè)Cookie數(shù)組

  getCharacterEncoding():返回請(qǐng)求中的字符編碼方式

  getContentLength():返回請(qǐng)求的Body的長(zhǎng)度

  getHeader(String name):獲得HTTP協(xié)議定義的文件頭信息

  getHeaders(String name):返回指定名字的request Header的所有值,結(jié)果是一個(gè)枚舉的實(shí)例

  getHeaderNames():返回所以request Header的名字,結(jié)果是一個(gè)枚舉的實(shí)例

  getInputStream():返回請(qǐng)求的輸入流,用于獲得請(qǐng)求中的數(shù)據(jù)

  getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法

  getParameter(String name):獲得客戶端傳送給服務(wù)器端的有name指定的參數(shù)值

  getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個(gè)枚舉的實(shí)例

  getParametervalues(String name):獲得有name指定的參數(shù)的所有值

  getProtocol():獲取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱

  getQueryString():獲得查詢字符串

  getRequestURI():獲取發(fā)出請(qǐng)求字符串的客戶端地址

  getRemoteAddr():獲取客戶端的IP地址

  getRemoteHost():獲取客戶端的名字

  getSession([Boolean create]):返回和請(qǐng)求相關(guān)Session

  getServerName():獲取服務(wù)器的名字

  getServletPath():獲取客戶端所請(qǐng)求的腳本文件的路徑

  getServerPort():獲取服務(wù)器的端口號(hào)

  removeAttribute(String name):刪除請(qǐng)求中的一個(gè)屬性

  RequestDispacherciew=request getRequestDispacher(“result.jsp”);

  view.forword(request, response); 請(qǐng)求派發(fā)向客戶端輸出的方法:

  Response.setContentType(“application/jar”); 設(shè)置返回瀏覽器內(nèi)容類型!

  response.getOutputStream(); 初始化一個(gè)輸出流對(duì)象。

  response.getWrite();

  response.secdredirect(); 重定向

  response.setHead(”foo”,”bar”);

  response.addHead(”foo”,”bar”);

  用于在Web應(yīng)用范圍內(nèi)存取共享數(shù)據(jù)的方法。

  注:web應(yīng)用范圍具有以下兩層含義:

  (1) 表示有web應(yīng)用的生命周期構(gòu)成的時(shí)間段.

  (2) 表示在web應(yīng)用的生命周期內(nèi)所有web組件的集合。

  Ø setAttribute(String name,java.lang.Object object):把一個(gè)java對(duì)象和一個(gè)屬性名綁定,并存放到ServletContext中,參數(shù)name指定屬性名,參數(shù)Object表示共享數(shù)據(jù)。 Ø

  getAttribute(String name):根據(jù)參數(shù)給定的屬性名,返回一個(gè)Object類型的對(duì)象。

  Ø getAttributeNames():返回一個(gè)Enumeration對(duì)象,該對(duì)象包含了所有存放在ServletContext中的屬性名。

  Ø removeAttribute(String name):根據(jù)參數(shù)指定的屬性名,從servletContext對(duì)象中刪除匹配的屬性。

  訪問當(dāng)前Web應(yīng)用的資源

  Ø getContextpath():返回當(dāng)前web應(yīng)用的URL入口。

  Ø getInitParameter(String name):返回web應(yīng)用方位內(nèi)的匹配的初始化參數(shù)值。在web.xml中元素中元素表示應(yīng)用范圍內(nèi)的初始化參數(shù)。 Ø

  getInitParameterNames():返回一個(gè)Enumeration對(duì)象。

  Ø getServletContextName():返回web應(yīng)用的名字。即元素中元素的值。

  Ø getRequestDispatcher(String path):返回一個(gè)用于向其他web組件轉(zhuǎn)發(fā)請(qǐng)求的RequestDispatcher對(duì)象。

  web.xml文件

  web.xml文件是用來初始化配置信息:比如Welcome頁(yè)面、servlet、servlet-mapping、filter、listener、啟動(dòng)加載級(jí)別等

  5、get 和post 比較

  1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。

  2. get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到。post是通過HTTP post機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個(gè)過程。

  3. 對(duì)于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對(duì)于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。

  4. get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。

  5. get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好。

  6.response.setContentType(“Application/jar”); 說明要返回給客戶一個(gè)jar文件。

  7.用servelt向客戶端輸出

  1.以字符形式輸出

  PrintWrite pw=response.getWrite();

  pw.println(“acvbbb”);

  2.以流的形式輸出

  ServletOutStream out=response.getOutputSt();

  out.write(“sssssss”);

  8.監(jiān)聽器:Listener

  它是實(shí)現(xiàn)了javax.servlet.ServletContextListener 接口的服務(wù)器端程序,它也是隨web應(yīng)用的啟動(dòng)而啟動(dòng),只初始化一次,隨web應(yīng)用的停止而銷毀。主要作用是: 做一些初始化的內(nèi)容添加工作、設(shè)置一些基本的內(nèi)容、比如一些參數(shù)或者是一些固定的對(duì)象等等。

  看了“servlet重要的知識(shí)點(diǎn)”的還看了:

1.java web基礎(chǔ)知識(shí)

2.jsp基礎(chǔ)知識(shí)

3.java實(shí)習(xí)日記范文3篇

4.java實(shí)習(xí)報(bào)告范文3篇

52003 瑞昌市| 房产| 勃利县| 株洲县| 临武县| 射阳县| 哈尔滨市| 五大连池市| 永安市| 大名县| 平泉县| 宣武区| 朝阳市| 潜山县| 武强县| 七台河市| 九江市| 万荣县| 乌兰察布市| 临颍县| 景东| 成安县| 贡嘎县| 皮山县| 开远市| 县级市| 科尔| 黄浦区| 英超| 四平市| 淄博市| 比如县| 隆尧县| 岐山县| 随州市| 巧家县| 乾安县| 吴江市| 沂源县| 孙吴县| 新兴县|