Ⅰ java servlet的工作原理是什麼
servlet 編程,需要引用以下兩個類和介面:javax.servlet 和 javax.servlet.http,在這些類和介面中,javax.servlet.Servlet介面尤為重要。所有的 servlet 必須實現這個介面或繼承已實現這個介面的類。
Servlet 介面有五個方法,如下:
public void init(ServletConfig config) throws ServletException public void service(ServletRequest request, ServletResponse response) throws ServletException, java.io.IOException public void destroy() public ServletConfig getServletConfig() public java.lang.String getServletInfo()
init、service和 destroy 方法是 Servlet 生命周期的方法。當 Servlet 類實例化後,容器載入 init,以通知 servlet 它已進入服務行列。init 方法必須被載入,Servelt 才能接收和請求。如果要載入資料庫驅動程序、初始化一些值等等,程序員可以重寫這個方法。在其他情況下,這個方法一般為空。
從service 中刪除 Servlet 實例之前,容器調用 destroy 方法。在 servlet 容器關閉或servlet 容器需要更多的內存時,就調用它。這個方法只有在servlet 的service 方法內的所有線程都退出的時候,或在超時的時候才會被調用。destroy 方法給了 servlet 機會,來清除所有候住的資源(比如:內存,文件處理和線程),以確保在內存中所有的持續狀態和 servlet的當前狀態是同步的
Ⅱ 什麼是severlet,及在Java開發中的作用
Servlet是用Java編寫的Server端程序,它與協議和平台無關。Servlet運行於Java-enabled Web Server中。Java Servlet可以動態地擴展Server的能力,並採用請求-響應模式提供Web服務。 JSP是JavaServer Page的縮寫,是Sun公司出品的Web開發語言,它類似於Microsfot公司的ASP,但由於它的跨平台性,愈來愈受到廣泛的應用。 Servlet與Jsp之間的交互為開發Web服務提供了優秀的解決方案。 說白了就是先有的JSP,但是後來發現JSP不科學,因為他把編輯頁面視圖的東西和業務邏輯的編程的東西都混在一起了.讓做頁面的也要會些編程,做編程的也要會些頁面,某部分一改動就很容易牽扯其它部分. 所以後來就開發了SERVLET,用來做中間層,把視圖和業務邏輯分開實現,就是MVC.
Ⅲ java中servlet 是怎麼調用的能詳細說明一下嗎
Servlet是一種獨立於平台和協議的伺服器端的Java應用程序,可以生成動態的Web頁面。
Servlet是位於Web 伺服器內部的伺服器端的Java應用程序,與傳統的從命令行啟動的Java應用程序不同,Servlet由Web伺服器進行載入,該Web伺服器必須包含支持Servlet的Java虛擬機。
在傳統的CGI中,每個請求都要啟動一個新的進程,如果CGI程序本身的執行時間較短,啟動進程所需要的開銷很可能反而超過實際執行時間。而在Servlet中,每個請求由一個輕量級的Java線程處理(而不是重量級的操作系統進程)。
在傳統CGI中,如果有N個並發的對同一CGI程序的請求,則該CGI程序的代碼在內存中重復裝載了N次;而對於Servlet,處理請求的是N個線程,只需要一份Servlet類代碼。在性能優化方面,Servlet也比CGI有著更多的選擇。
Java Servlet API 2.2 簡介
Java Servlet API 2.2 的類和介面組成兩個Java 包,即:javax.servlet 和 javax.servlet.http(還包括javax.servlet.jsp包,不在本篇文章討論范圍之內)。
javax.servlet 包提供了控制 Servlet 生命周期所必需的 Servlet 介面,是編寫 Servlet 時必須要實現的。
javax.servlet.http 包提供了從Servlet 介面派生出的專門用於處理 HTTP 請求的抽象類和一般的工具類。所有的Servlet 對象都要實現Servlet 介面,大多數情況下是作為已經實現了Servlet 介面的javax.servlet.GenericServlet 和 javax.servlet.http.HttpServlet 這兩個抽象類的子類來間接實現Servlet 介面。
javax.servlet 包定義的類和介面:
interface RequestDispatcher
//定義一種對象,用於從客戶接受請求,並將請求發送到伺服器上任何指定的資源,如一個Servlet 、JSP 或 HTML 文件。
interface Servlet
//定義了所有 Servlet 必須實現的方法。
interface ServletConfig
//定義Servlet config 對象,由Servlet 引擎用在 Servlet 初始化時,向 Servlet 傳遞信息。
interface ServletContext
//定義了一系列方法,以便Servlet與其運行的環境通信。
interface ServletRequest
//定義了用於向Servlet傳遞客戶請求信息的對象。
interface ServletResponse
//定義了一個對象,由Servlet用於向客戶發送響應。
interface SingleThreadModel
//用於保證Servlet在任一時刻,只處理一個請求。
class GenericServlet
//繼承Servlet介面,定義了一個通用的,與協議無關的Servlet。
class ServletInputStream
//定義了一個輸入流,用於由Servlet從中讀取客戶請求的二進制數據。
class ServletOutputStream
//定義了一個輸出流,用於由Servlet向客戶發送二進制數據。
class ServletException
//定義了一個當Servlet遇到問題時可以拋出的異常。
class UnavailableException
//定義了一種異常,用於由Servlet指明它永遠或暫時不可用。
javax.servlet.http 包定義的類和介面:
interface HttpServletRequest
//繼承了ServletRequest 介面,為HTTPServlet 提供請求信息。
interface HttpServletResponse
//繼承了ServletResponse 介面,為HTTPServlet 輸出響應信息提供支持。
interface HttpSession
//為維護 HTTP 用戶的會話狀態提供支持。
interface HttpSessionBindingListener
//使得某對象在加入一個會話或從會話中刪除時能夠得到通知。
interface HttpSessionContext
//由Servlet 2.1 定義,該對象在新版本已不被支持。
class Cookie
//用在Servlet 中使用Cookie 技術
class HttpServlet
//定義了一個抽象類,繼承 GenericServlet 抽象類,應被 HTTPServlet 繼承。
class HttpSessionBindingEvent
//定義了一種對象,當某一個實現了HttpSessionBindingListener介面的對象被加入會話或從會//話中刪除時,會收到該類對象的一個句柄
class HttpUtils
//提供了一系列便於編寫HTTPServlet 的方法。
下面主要介紹javax.servlet.http提供的HTTP Servlet應用編程介面。
HTTP Servlet 使用一個 HTML 表格來發送和接收數據。要創建一個 HTTP Servlet,請擴展 HttpServlet 類,該類是用專門的方法來處理 HTML 表格的 GenericServlet 的一個子類。 HTML 表單是由和標記定義的。表單中典型地包含輸入欄位(如文本輸入欄位、復選框、單選按鈕和選擇列表)和用於提交數據的按鈕。當提交信息時,它們還指定伺服器應執行哪一個Servlet(或其它的程序)。 HttpServlet 類包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。
(1) init() 方法
在 Servlet 的生命期中,僅執行一次 init() 方法。它是在伺服器裝入 Servlet 時執行的。 可以配置伺服器,以在啟動伺服器或客戶機首次訪問 Servlet 時裝入 Servlet。 無論有多少客戶機訪問 Servlet,都不會重復執行 init() 。
預設的 init() 方法通常是符合要求的,但也可以用定製 init() 方法來覆蓋它,典型的是管理伺服器端資源。 例如,可能編寫一個定製 init() 來只用於一次裝入 GIF 圖像,改進 Servlet 返回 GIF 圖像和含有多個客戶機請求的性能。另一個示例是初始化資料庫連接。預設的 init() 方法設置了 Servlet 的初始化參數,並用它的 ServletConfig 對象參數來啟動配置, 因此所有覆蓋 init() 方法的 Servlet 應調用 super.init() 以確保仍然執行這些任務。在調用 service() 方法之前,應確保已完成了 init() 方法。
(2) service() 方法
ervice() 方法是 Servlet 的核心。每當一個客戶請求一個HttpServlet 對象,該對象的service() 方法就要被調用,而且傳遞給這個方法一個"請求"(ServletRequest)對象和一個"響應"(ServletResponse)對象作為參數。在 HttpServlet 中已存在 service() 方法。預設的服務功能是調用與 HTTP 請求的方法相應的 do 功能。例如, 如果 HTTP 請求方法為 GET,則預設情況下就調用 doGet() 。Servlet 應該為 Servlet 支持的 HTTP 方法覆蓋 do 功能。因為 HttpServlet.service() 方法會檢查請求方法是否調用了適當的處理方法,不必要覆蓋 service() 方法。只需覆蓋相應的 do 方法就可以了。
當一個客戶通過HTML 表單發出一個HTTP POST請求時,doPost()方法被調用。與POST請求相關的參數作為一個單獨的HTTP 請求從瀏覽器發送到伺服器。當需要修改伺服器端的數據時,應該使用doPost()方法。
當一個客戶通過HTML 表單發出一個HTTP GET請求或直接請求一個URL時,doGet()方法被調用。與GET請求相關的參數添加到URL的後面,並與這個請求一起發送。當不會修改伺服器端的數據時,應該使用doGet()方法。
Servlet的響應可以是下列幾種類型:
一個輸出流,瀏覽器根據它的內容類型(如text/HTML)進行解釋。
一個HTTP錯誤響應, 重定向到另一個URL、servlet、JSP。
(3) destroy() 方法
destroy() 方法僅執行一次,即在伺服器停止且卸裝Servlet 時執行該方法。典型的,將 Servlet 作為伺服器進程的一部分來關閉。預設的 destroy() 方法通常是符合要求的,但也可以覆蓋它,典型的是管理伺服器端資源。例如,如果 Servlet 在運行時會累計統計數據,則可以編寫一個 destroy() 方法,該方法用於在未裝入 Servlet 時將統計數字保存在文件中。另一個示例是關閉資料庫連接。
當伺服器卸裝 Servlet 時,將在所有 service() 方法調用完成後,或在指定的時間間隔過後調用 destroy() 方法。一個Servlet 在運行service() 方法時可能會產生其它的線程,因此請確認在調用 destroy() 方法時,這些線程已終止或完成。
(4) GetServletConfig()方法
GetServletConfig()方法返回一個 ServletConfig 對象,該對象用來返回初始化參數和ServletContext。ServletContext 介面提供有關servlet 的環境信息。
(5) GetServletInfo()方法
GetServletInfo()方法是一個可選的方法,它提供有關servlet 的信息,如作者、版本、版權。
當伺服器調用sevlet 的Service()、doGet()和doPost()這三個方法時,均需要 "請求"和"響應"對象作為參數。"請求"對象提供有關請求的信息,而"響應"對象提供了一個將響應信息返回給瀏覽器的一個通信途徑。
javax.servlet 軟體包中的相關類為ServletResponse和ServletRequest,而javax.servlet.http 軟體包中的相關類為HttpServletRequest 和 HttpServletResponse。
Servlet 通過這些對象與伺服器通信並最終與客戶機通信。Servlet 能通過調用"請求"對象的方法獲知客戶機環境,伺服器環境的信息和所有由客戶機提供的信息。Servlet 可以調用"響應"對象的方法發送響應,該響應是准備發回客戶機的。
<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.neusoft.ehr.common.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>/WEB-INF/classes/property/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Ⅳ Servlet和Java有什麼區別
Servlet其實可以看作是一種特殊的java類
Servlet是使用Java Servlet 應用程序設計介面(API)及相關類和方法的 Java 程序。除了 Java Servlet API,Servlet 還可以使用用以擴展和添加到 API 的 Java 類軟體包。Servlet 在啟用 Java 的 Web 伺服器上或應用伺服器上運行並擴展了該伺服器的能力。
Java servlet對於Web伺服器就好象Java applet對於Web瀏覽器。Servlet裝入Web伺服器並在Web伺服器內執行,而applet裝入Web瀏覽器並在Web瀏覽器內執行。Java Servlet API 定義了一個servlet 和Java使能的伺服器之間的一個標准介面,這使得Servlets具有跨伺服器平台的特性。
Servlet 通過創建一個框架來擴展伺服器的能力,以提供在 Web 上進行請求和響應服務。當客戶機發送請求至伺服器時,伺服器可以將請求信息發送給 Servlet,並讓 Servlet 建立起伺服器返回給客戶機的響應。 當啟動 Web 伺服器或客戶機第一次請求服務時,可以自動裝入 Servlet。裝入後, Servlet 繼續運行直到其它客戶機發出請求。Servlet 的功能涉及范圍很廣。例如,Servlet 可完成如下功能:
(1) 創建並返回一個包含基於客戶請求性質的動態內容的完整的 HTML頁面。
(2) 創建可嵌入到現有 HTML 頁面中的一部分 HTML 頁面(HTML 片段)。
(3) 與其它伺服器資源(包括資料庫和基於 Java 的應用程序)進行通信。
(4) 用多個客戶機處理連接,接收多個客戶機的輸入,並將結果廣播到多個客戶機上。例如,Servlet 可
以是多參與者的游戲伺服器。
(5) 當允許在單連接方式下傳送數據的情況下,在瀏覽器上打開伺服器至applet的新連接,並將該連
接保持在打開狀態。當允許客戶機和伺服器簡單、高效地執行會話的情況下,applet也可以啟動客戶瀏覽器和伺服器之間的連接。可以通過定製協議或標准(如 IIOP)進行通信。
(6) 對特殊的處理採用 MIME 類型過濾數據,例如圖像轉換和伺服器端包括(SSI)。
(7) 將定製的處理提供給所有伺服器的標準例行程序。例如,Servlet 可以修改如何認證用戶。
Ⅳ 學JAVA時,有個叫SERVLET是什麼東西
詞霸網上查詢 即小伺服器應用程序。
Servlet
Servlet是用Java編寫的Server端程序,它與協議和平台無關。Servlet運行於Java-enabled Web Server中。Java Servlet可以動態地擴展Server的能力,並採用請求-響應模式提供Web服務。
最早支持Servlet技術的是JavaSoft的Java Web Server。此後,一些其它的基於Java的Web Server開始支持標準的Servlet API。
一、Servlet的特點
Servlet是Java技術對CGI編程的回答。Servlet程序在伺服器端運行,動態地生成Web頁面。與傳統的CGI和許多其他類似CGI的技術相比,Java Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節省投資(更重要的是, Servlet程序員收入要比Perl程序員高:-)
高效
在傳統的CGI中,每個請求都要啟動一個新的進程,如果CGI程序本身的執行時間較短,啟動進程所需要的開銷很可能反而超過實際執行時間。而在 Servlet中,每個請求由一個輕量級的Java線程處理(而不是重量級的操作系統進程)。在傳統CGI中,如果有N個並發的對同一CGI程序的請求,則該CGI程序的代碼在內存中重復裝載了N次;而對於Servlet,處理請求的是N個線程,只需要一份Servlet類代碼。在性能優化方面,Servlet也比CGI有著更多的選擇,比如緩沖以前的計算結果,保持資料庫連接的活動,等等。
方便
Servlet提供了大量的實用工具常式,例如自動地解析和解碼HTML表單數據、讀取和設置HTTP頭、處理Cookie、跟蹤會話狀態等。
功能強大
在Servlet中,許多使用傳統CGI程序很難完成的任務都可以輕松地完成。例如,Servlet能夠直接和Web伺服器交互,而普通的CGI程序不能。Servlet還能夠在各個程序之間共享數據,使得資料庫連接池之類的功能很容易實現。
可移植性好
Servlet用Java編寫,Servlet API具有完善的標准。因此,為I-Planet Enterprise Server寫的Servlet無需任何實質上的改動即可移植到Apache、Microsoft IIS或者WebStar。幾乎所有的主流伺服器都直接或通過插件支持Servlet。
節省投資
不僅有許多廉價甚至免費的Web伺服器可供個人或小規模網站使用,而且對於現有的伺服器,如果它不支持Servlet的話,要加上這部分功能也往往是免費的(或只需要極少的投資)。
二、Servlet的主要功能
Servlet的主要功能在於互動式地瀏覽和修改數據,生成動態Web內容。這個過程為:
客戶端發送請求至伺服器端;
伺服器將請求信息發送至Servlet
Servlet生成響應內容並將其傳給Server。響應內容動態生成,通常取決於客戶端的請求
伺服器將響應返回給客戶端
Servlet看起來像是通常的Java程序。Servlet導入特定的屬於Java Servlet API的包。因為是對象位元組碼,可動態地從網路載入,可以說Servlet對Server就如同Applet對Client一樣,但是,由於 Servlet運行於Server中,它們並不需要一個圖形用戶界面。從這個角度講,Servlet也被稱為Faceless Object。
三、JAVA Servlet的優勢
Servlet可以和其他資源(文件、資料庫、Applet、Java應用程序等)交互,以生成返回給客戶端的響應內容。如果需要,還可以保存請求-響應過程中的信息。
採用Servlet,伺服器可以完全授權對本地資源的訪問(如資料庫),並且Servlet自身將會控制外部用戶的訪問數量及訪問性質
Servlet可以是其它服務的客戶端程序,例如,它們可以用於分布式的應用系統中,可以從本地硬碟,或者通過網路從遠端硬碟激活Servlet。
Servlet可被鏈接(chain)。一個Servlet可以調用另一個或一系列Servlet,即成為它的客戶端。
採用Servlet Tag技術,可以在HTML頁面中動態調用Servlet。
Servlet API與協議無關。它並不對傳遞它的協議有任何假設。
像所有的Java程序一樣,Servlet擁有面向對象Java語言的所有優勢
Servlet提供了Java應用程序的所有優勢——可移植、穩健、易開發。使用Servlet 的Tag技術,Servlet能夠生成嵌於靜態HTML頁面中的動態內容。
一個Servlet被客戶端發送的第一個請求激活,然後它將繼續運行於後台,等待以後的請求。每個請求將生成一個新的線程,而不是一個完整的進程。多個客戶能夠在同一個進程中同時得到服務。一般來說,Servlet進程只是在Web Server卸載時被卸載。
四、Servlet生命周期
裝載Servlet。這項操作一般是動態執行的。然而,Server通常會提供一個管理的選項,用於在Server啟動時強制裝載和初始化特定的Servlet。
Server創建一個Servlet的實例
Server調用Servlet的init()方法
一個客戶端的請求到達Server
Server創建一個請求對象
Server創建一個響應對象
Server激活Servlet的service()方法,傳遞請求和響應對象作為參數
service()方法獲得關於請求對象的信息,處理請求,訪問其他資源,獲得需要的信息
service()方法使用響應對象的方法,將響應傳回Server,最終到達客戶端。service()方法可能激活其它方法以處理請求,如doGet()或doPost()或程序員自己開發的新的方法
對於更多的客戶端請求,Server創建新的請求和響應對象,仍然激活此Servlet的 service()方法,將這兩個對象作為參數傳遞給它。如此重復以上的循環,但無需再次調用init()方法。一般Servlet只初始化一次 ,當Server不再需要Servlet時(一般當Server關閉時),Server調用Servlet的Destroy()方法。
在美國,EJB+Servlet+JSP幾乎成為電子商務的開發標准。本來 ASP 也很有希望,但微軟最近可能把精力都集中在打官司和Win2000上, 因此電子商務發展得太少。PHP由於其模式和一些天生缺陷,毫無希望。 在美國,很少有商業站點用PHP的。
Ⅵ JAVA中servlet有那些作用具體怎麼用
你這個問題問的太廣了,建議你先看看書。
servlet簡單點說就是一個服務類,你把這個servlet配置給servlet容器後,就相當於給別人提供了一個服務,至於你這個服務的具體業務是什麼,就得看你在servlet的service方法中實現了什麼。常見的網站業務,下載,瀏覽網頁,都可以使用servlet來實現。
Ⅶ java servlet 主要用來做什麼
簡單一點說吧:
1.比如說你在一個網頁上輸入姓名和密碼,然後點擊提交。這時候頁面就會跳轉(跳轉方法有post和get)。
2.跳轉到哪呢,這就通過web.xml文件配置你的跳轉,一般就跳轉到servlet來處理。
3.servlet說白了,就是一個java類,繼承HttpServlet,主要有doGet和doPost方法,你在頁面代碼寫的是get方法跳轉,那麼就運行servlet里doGet方法裡面的代碼(post同理)。
4.doGet裡面的代碼就處理操作,一般首先用特定方法獲得頁面提交的姓名和密碼,然後進行處理(判斷是否合法等等),處理玩之後,決定是直接顯示信息,還是跳轉到其他頁面。
servlet就是接受頁面信息,然後進行邏輯處理的一個java類。
至於學習資料,網上找一個servlet的小例子很多,有java基礎很容易看懂,沒有基礎也可以學會
Ⅷ Java中的Servlet的定義,Servlet的具體用途
Servlet是一個實現了Servlet介面的類,一個與訪問協議和平台無關的、運行在Servlet容器中的Java程序。
針對Servlet實現技術,SUN公司提供了一套標準的Java Servlet API以便於更快速、規范地開發Servlet程序。這套Servlet API中,最重要的兩個軟體包是:javax.servlet、javax.servlet.http。
javax.servlet是一個與通信協議無關的通用軟體包;javax.servlet.http是一個支持HTTP訪問協議的軟體包,這兩個軟體包的同時存在,使得Servlet API能支持任何協議的請求/響應。
在javax.servle中,包含著一套常用介面,負責承擔指定的任務。下表中列出了常用的類和介面:
javax.servlet軟體包:
javax.servlet包中定義了與通信協議無關的介面和類。
常用介面:
RequestDispatcher、Servlet、ServletConfig、ServletContext、ServletRequest、ServletResponse。
常用類:
GenericServlet、ServletInputStream、ServletOutputStream。
1、RequestDispatcher介面
public interface RequestDispatcher;
資源調度器介面,用於定義一個在伺服器內部直接實現資源轉發的對象。
RequestDispatcher對象由Servlet容器創建,用於封裝並調度由一個特定的URL定義的伺服器資源。
(1)請求傳遞方法
public void forward(ServletRequest request,
ServletReponse response) throws ServletException,IOException
從一個Servlet向伺服器上的另一個資源傳遞請求。
將請求轉發給其他資源時,將由被調用的資源負責對請求作出響應,而原先Servlet的執行則終止。
public void include(ServletRequest request,
ServletResponse response) throws ServletException,IOException
從一個Servlet向伺服器上的另一個資源傳遞請求。
將請求轉發給其他資源時,被調用的Servlet對該請求作出的響應將並入原先的響應對象中,原先的Servlet還可以繼續輸出響應消息。
2、Servlet介面
public interface Servlet;
開發一個Servlet需要實現的基礎介面。
介面中定義了5個方法:
init():Servlet初始化方法,通過init()方法可以獲得容器創建的ServletConfig對象
service():請求處理方法
destroy():Servlet實例銷毀方法
getServletConfig():獲取ServletConfig配置對象方法
getServletInfo():獲取Servlet相關信息方法
(1)初始化方法
public void init(ServletConfig config) throws ServletException
Servlet容器會在Servlet實例化之後,調用init方法對Servlet對象進行初始化,該方法由Servlet容器順序調用,無需Servlet自身考慮何時執行。
(2)服務方法
public void service(ServletRequest request,
ServletResponse response) throws ServletException,IOException
當Servlet容器接收到客戶請求時,調用service方法響應客戶請求,service方法在Servlet實例化、初始化之後被調用,並且可以被多次調用。
(3)銷毀方法
public void destroy()
當Servlet實例從伺服器中移除或服務停止時,Servlet容器調用destroy方法銷毀Servlet實例。
(4)獲取Servlet配置對象方法
public ServletConfig getServletConfig()
獲取一個由Servlet容器創建的ServletConfig配置對象,這個對象常常用在Servlet初始化方法中,將初始化參數封裝在ServletConfig對象中,然後傳遞給Servlet。
(5)獲取Servlet相關信息方法
public String getServletInfo()
獲取關於Servlet的一些相關信息,返回的字元串是純文本格式而不帶有任何標記(例如:HTML、XML等)。
3、ServletConfig介面
public interface ServletConfig;
Servlet配置信息介面,在Servlet初始化時,Servlet容器將Servlet初始化參數封裝在ServletConfig對象中,並傳遞給Servlet,一個Servlet實例只有一個ServletConfig對象。
介面中,只定義了4個方法:
getInitParameter():獲取Servlet指定初始化參數的值
getInitParameterNames():獲取Servlet所有初始化參數名稱
getServletContext():獲取Servlet容器為WEB應用創建的Servlet上下文環境對象ServletContext
getServletName():獲取Servlet名稱
(1)獲取初始化參數方法
public String getInitParameter(String name)
根據初始化參數名稱,獲取Servlet指定初始化參數的值,如果指定的參數不存在,返回空值null。
public Enumeration getInitParameterNames()
獲取Servlet所有初始化參數名稱,如果Servlet沒有初始化參數,返回一個空列表。
(2)獲取Servlet上下文環境方法
public ServletContext getServletContext()
獲取Servlet容器為WEB應用創建的Servlet上下文環境對象ServletContext,WEB伺服器啟動的時候,在載入WEB應用時,為每個載入的WEB應用創建一個代表WEB應用Servlet上下文環境對象。
(3)獲取Servlet名稱方法
public String getServletName()
獲取正在訪問的這個Servlet的名稱。
以上就是Servlet相關問題的解答,更多關於Java Web方面的問題可以看下這個詳細的視頻教程網頁鏈接,希望我的回答能幫到你。
Ⅸ java 怎麼配置servlet
部署Servlet環境(大體分2個步驟):
第一步:在Tomcat根目錄下的webapps目錄下創建如下目錄,並且放相應的文件:
• /FirstWebApp
• /FirstWebApp/WEB-INF/classes:存放servlet類編譯後的.class文件
• /FirstWebApp/WEB-INF/web.xml:存放servlet的配置文件
第二步:配置web.xml文件,如下圖:
Ⅹ java servlet的工作原理是什麼
配置:編輯好的servlet源文件並不能響應用戶請求,還必須將其編譯成class文件,將編譯好的class文件放到WEB-INF/classes路徑下,如果servlet有包,則還需要將class文件放到包路徑下。
2.運行原理:當Web伺服器接收到一個HTTP請求時,它會先判斷請求內容——如果是靜態網頁數據,Web伺服器將會自行處理,然後產生響應信息;如果牽涉到動態數據,Web伺服器會將請求轉交給Servlet容器。此時Servlet容器會找到對應的處理該請求的Servlet實例來處理,結果會送回W
3.用戶請求一個Servlet,Servlet容器自動構建請求和響應對象,然後執行Servlet的service()方法,該方法會接收請求和響應對象,通過響應對象將處理結果發送給用戶。
4.servlet 編程,需要引用以下兩個類和介面:javax.servlet 和 javax.servlet.http,在這些類和介面中,javax.servlet.Servlet介面尤為重要。所有的 servlet 必須實現這個介面或繼承已實現這個介面的類。Servlet 介面有五個方法,如下:public void init(ServletConfig config) throws ServletException public void service(ServletRequest request, ServletResponse response) throws ServletException,