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

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

servlet重要的知識點

時間: 炎婷2 其它答案

  Java Servlet知識點歸納

  Servlet生命周期

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

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

  2.serlet初始化

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

  3.服務(wù)

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

  4.銷毀

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

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

  1. request。getParameter(“name”);

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

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

  For(int i=0;i

  out.print(size[0]);}

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

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

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

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

  Request對象的主要方法:

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

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

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

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

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

  getContentLength():返回請求的Body的長度

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

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

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

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

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

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

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

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

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

  getQueryString():獲得查詢字符串

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

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

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

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

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

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

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

  removeAttribute(String name):刪除請求中的一個屬性

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

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

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

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

  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)成的時間段.

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

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

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

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

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

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

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

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

  getInitParameterNames():返回一個Enumeration對象。

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

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

  web.xml文件

  web.xml文件是用來初始化配置信息:比如Welcome頁面、servlet、servlet-mapping、filter、listener、啟動加載級別等

  5、get 和post 比較

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

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

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

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

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

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

  7.用servelt向客戶端輸出

  1.以字符形式輸出

  PrintWrite pw=response.getWrite();

  pw.println(“acvbbb”);

  2.以流的形式輸出

  ServletOutStream out=response.getOutputSt();

  out.write(“sssssss”);

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

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

  看了“servlet重要的知識點”的還看了:

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

2.jsp基礎(chǔ)知識

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

4.java實習(xí)報告范文3篇

52003 通城县| 仁化县| 九台市| 永泰县| 濉溪县| 吉林省| 苍梧县| 长汀县| 西城区| 泸西县| 巢湖市| 湖口县| 永宁县| 正安县| 乌兰浩特市| 邵阳市| 常州市| 车险| 新野县| 上饶县| 江口县| 九龙城区| 河南省| 布尔津县| 湘潭市| 玉田县| 芮城县| 辽源市| 林芝县| 唐海县| 沛县| 新平| 和平区| 金阳县| 甘洛县| 百色市| 郯城县| 东源县| 聂拉木县| 常宁市| 中西区|