亚洲伊人网站-亚洲伊人精品-亚洲伊人电影-亚洲一在线-久久国产一区二区-久久国产一区

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

servlet重要的知識點

時間: 炎婷2 其它答案

  Java Servlet知識點歸納

  Servlet生命周期

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

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

  2.serlet初始化

  當(dāng)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.銷毀

  當(dāng)容器檢測到某個servlet實例需要在服務(wù)中移除時,則容器將調(diào)用servlet實例的destroy()方法,以便釋放實例所使用的資源,并將數(shù)據(jù)存儲到持久存儲設(shè)備中。當(dāng)調(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對象中刪除匹配的屬性。

  訪問當(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():返回一個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ù)量較大,一般被默認(rèn)為不受限制。但理論上,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 主站蜘蛛池模板: 大器晚成第三季| 古天乐电影大全| 石锐| 卢靖姗照片| 杨功个人资料介绍| 美少女战士变身| 电影《神丐》| 孙婉| 法律援助中心免费写诉状| 守护大电影| 陈学冬演过的电视剧有哪些| 凌晨晚餐| 少年团时代成员| 小清水亚美| 浙江卫视跑男官网| cctv5+体育频道| 即便如此我依然爱着我的老婆| 大兵相声小品蠢得死| 羽毛球壁纸| 铠甲勇士第六部| 新红楼梦惊艳版| 日韩免费观看视频| 何时是读书天| 珠帘玉幕图片| 捉泥鳅的歌词| 日本大片网址| 乡村女教师 电影| 打手板心视频80下| 假男假女 电影| 暗黑破坏神2毁灭之王| 军犬麦克斯| 寒形近字| 《春天的故事》六年级的课本| 黑木美纱| 江湖儿女演员表全部| 性裸体视频| 武汉日夜| 姐妹微电影| 杨国| 永远的日本电影| city of stars歌词|