成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

多種Servlet接口介紹

開發 后端
本文介紹多種Servlet接口,包括GenericServlet類和HttpServlet類的多種Servlet接口的介紹。

Servlet接口:
public interface Servlet
它的生命周期由javax.Servlet.Servlet接口定義。當你在寫Servlet的時候必須直接或間接的實現這個接口。一般趨向于間接實現:通過從javax.Servlet.GenericServlet或javax.Servlet.http.HttpServlet派生。在實現Servlet接口時必須實現它的五個方法:

1.init():
public void init(ServletConfig config) throws ServletException
一旦對Servlet實例化后,容器就調用此方法。容器把一個ServletConfig對象傳統給此方法,這樣Servlet的實例就可以把與容器相關的配置數據保存起來供以后使用。如果此方法沒有正常結束就會拋出一個ServletException。一旦拋出該異常,Servlet就不再執行,而隨后對它的調用會導致容器對它重新載入并再次運行此方法。接口規定對任何Servlet實例,此方法只能被調用一次,在任何請求傳遞給Servlet之前,此方法可以在不拋出異常的情況下運行完畢。

2.service():
public void service(ServletRequest req,ServletResponse res) throws ServletException,IOException
只有成功初始化后此方法才能被調用處理用戶請求。前一個參數提供訪問初始請求數據的方法和字段,后一個提供Servlet構造響應的方法。

3.destroy():
public void destroy()
容器可以在任何時候終止Servlet服務。容器調用此方法前必須給service()線程足夠時間來結束執行,因此接口規定當service()正在執行時destroy()不被執行。

4.getServletConfig():
public ServletConfig getServletConfig()
在Servlet初始化時,容器傳遞進來一個ServletConfig對象并保存在Servlet實例中,該對象允許訪問兩項內容:初始化參數和ServletContext對象,前者通常由容器在文件中指定,允許在運行時向sevrlet傳遞有關調度信息,后者為Servlet提供有關容器的信息。此方法可以讓Servlet在任何時候獲得該對象及配置信息。

5.getServletInfo():
public String getServletInfo()
此方法返回一個String對象,該對象包含Servlet的信息,例如開發者、創建日期、描述信息等。該方法也可用于容器。

GenericServlet類
Public abstract class GenericServlet implants Servlet,ServletConfig,Serializable
此類提供了Servlet接口的基本實現部分,其service()方法被申明為abstract,因此需要被派生。init(ServletConfig conf)方法把ServletConfig對象存儲在一個private transient(私有臨時)實例變量里,getServletConfig()方法返回指向本對象的指針,如果你重載此方法,將不能使用getServletConfig來獲得ServletConfig對象,如果確實想重載,記住要包含對super.config的調用。2.1版的API提供一個重載的沒有參數的init()方法?,F在在init(ServletConfig)方法結束時有一個對init()的調用,盡管目前它是空的。2.1版API里面,此類實現了ServletConfig接口,這使得開發者不用獲得ServletConfig對象情況下直接調用ServletConfig的方法,這些方法是:getInitParameter(),getInitParameterNames(),getServletContext。此類還包含兩個寫日志的方法,它們實際上調用的是ServletContext上的對應方法。log(String msg)方法將Servlet的名稱和msg參數寫到容器的日志中,log(String msg,Throwable cause)除了包含Servlet外還包含一個異常。

HttpServlet類
該類擴展了GenericServlet類并對Servlet接口提供了與HTTP更相關的實現。

service():
protected void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
該方法作為HTTP請求的分發器,這個方法在任何時候都不能被重載。當請求到來時,service()方法決定請求的類型(GET,POST,HEAD,OPTIONS,DELETE,PUT,TRACE),并把請求分發給相應的處理方法(doGet(),doPost(),doHead(),doOptions(),doDelete(),doPut(),doTrace())每個do 方法具有和***個service()相同的形式。為了響應特定類型的HTTP請求,我們必須重載相應的do方法。如果Servlet收到一個HTTP請求而你沒有重載相應的do方法,它就返回一個說明此方法對本資源不可用的標準HTTP錯誤。

getLatModified():
protected long getLastModified(HttpServletRequest req)
該方法返回以毫秒為單位的的自GMT時間1970年1月1日0時0分0秒依賴的最近一次修改Servlet的時間,缺省是返回一個負數表示時間未知。當處理GET請求時,調用此方法可以知道Servlet的最近修改時間,服務器就可決定是否把結果從緩存中去掉。

HttpServletRequest接口
public interface HttpServletRequest extends ServletRequest
所有實現此接口的對象(例如從Servlet容器傳遞的HTTP請求對象)都能讓Servlet通過自己的方法訪問所有請求的數據。下面是一些用來獲取表單數據的基本方法。

getParameter()
public String getParameter(String key)
此方法試圖將根據查詢串中的關鍵字定位對應的參數并返回其值。如果有多個值則返回列表中的***個值。如果請求信息中沒有指定參數,則返回null。

getParametervalues():
public String[] getParametervalues(String key)
如果一個參數可以返回多個值,比如復選框集合,則可以用此方法獲得對應參數的所有值。如果請求信息中沒有指定參數,則返回null。

GetParameterNames():
Public Enumeration getParameterNames()
此方法返回一個Enumeration對象,包含對應請求的所有參數名字列表。
HttpServletResponse接口
public interface HttpServletResponse extends ServletResponse
Servlet容器提供一個實現該接口的對象并通過service()方法將它傳遞給Servlet。通過此對象及其方法,Servlet可以修改響應頭并返回結果。

setContentType():
public void setContentType(String type)
在給調用者發回響應前,必須用此方法來設置HTTP響應的MIME類型??梢允侨魏斡行У腗IME類型,當給瀏覽器返回HTML是就是”text/html”類型。

getWriter():
public PrintWriter getWriter()throws IOException
此方法將返回PrintWriter對象,把Servlet的結果作為文本返回給調用者。PrintWriter對象自動把Java內部的UniCode編碼字符轉換成正確的編碼以使客戶端能夠閱讀。

getOutputStream():
public ServletOutputStream getOutputStream() throws IOException
此方法返回ServletOutputStream對象,它是java.io.OutputStream的一個子類。此對象向客戶發送二進制數據。

setHeader():
public void setHeader(String name,String value)
此方法用來設置送回給客戶的HTTP響應頭。有一些快捷的方法用來改變某些常用的響應頭,但有時也需要直接調用此方法。
編譯條件
需要從http://java.sun.com/products/Servlet/ 獲得一份JSDK的拷貝,并把Servlet.jar移動到JDK安裝目錄下的\jre\lib\ext目錄下。如果是JDK1.1,則移動到\lib下,并在CLASSPATH中加入Servlet.jar的絕對路徑。
運行條件
需要Apache Jserv,Jrun Servlet Exec,Java Web Server,Weblogic,WebSphere,Tomcat,Resin等Servlet服務器端程序。
簡單范例

  1. import java.io.*;  
  2. import javax.servlet.*;  
  3. import javax.servlet.http.*;  
  4. public class HelloWorld extends HttpServlet {  
  5. public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException  
  6. {  
  7. response.setContentType("text/html");  
  8. PrintWriter out = response.getWriter();  
  9. out.println("<html>");  
  10. out.println("<body>");  
  11. out.println("<head>");  
  12. out.println("<title>Hello World!</title>");  
  13. out.println("</head>");  

【編輯推薦】

  1. Servlet和JSP新特性
  2. 淺談Servlet的Web服務器
  3. 在Weblogic環境中實現Servlet應用
  4. Servlet和CGI間的通訊
  5. 用MIDlet激活Servlet
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-07-09 13:39:52

Servlet Con

2009-07-07 17:32:31

HTTP Servle

2009-07-09 11:27:59

Servlet容器

2009-07-03 13:22:37

調用Servlet

2013-09-02 09:18:59

2009-07-07 09:51:49

Servlet實例

2009-07-07 15:24:49

Http Servle

2009-07-08 11:17:10

Servlet容器Servlet Con

2009-07-09 13:23:44

Servlet 2.4

2009-09-01 10:20:28

C#多種語句

2009-07-03 11:21:43

Servlet和JSPJSP路徑

2009-07-07 16:05:15

Servlet和Jav

2009-07-08 17:39:23

Servlet監聽器

2010-03-11 09:50:46

Linux VI命令

2010-02-03 09:43:16

C++單例模式

2009-07-07 14:04:55

JSP入門

2010-02-01 14:57:43

Python接口

2024-10-18 08:00:00

SpringBoot框架開發

2010-02-01 18:06:48

Python Edit

2010-02-06 18:04:21

Android 接口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久一区 | 99re国产视频 | 欧洲成人免费视频 | 国产小u女发育末成年 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 国产成人99久久亚洲综合精品 | www久久久 | 国产精品久久 | 国产成人av电影 | wwwxxx日本在线观看 | 国产精品久久久久久吹潮日韩动画 | 97国产精品视频人人做人人爱 | 精品国产91亚洲一区二区三区www | 色888www视频在线观看 | 亚洲三区在线 | 一区二区三区在线免费观看 | 日本不卡一区二区三区 | 国产午夜精品久久久 | 成人在线视频免费看 | 日韩一二区在线 | 精品无码三级在线观看视频 | 日韩av黄色 | 一区二区视频 | 一区二区在线看 | 欧美日韩综合一区 | 久久久久一区二区三区四区 | 色爱综合网 | 日韩毛片在线视频 | 中文字幕 亚洲一区 | 超碰在线人人 | 久久99网 | 国产91久久精品一区二区 | 黄色av观看 | 一区二区日韩 | 天天综合网7799精品 | 女人av | 欧美日韩一二三区 | 亚洲一区中文 | 一级黄色av电影 | 97精品超碰一区二区三区 | av免费网站在线 |