本文目錄一覽:
- 1、java servlet 主要用來做什麼
- 2、java servlet怎麼學
- 3、java servlet的工作原理是什麼?
- 4、Java中的Servlet的定義,Servlet的具體用途
- 5、java servlet的工作原理是什麼
- 6、java 怎麼配置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介面的類,一個與訪問協議和平台無關的,運行在Servlet容器中的Java程序。
Servlet沒有main方法,不能獨立運行;它只有實例化、初始化、運行、銷毀方法,被編譯成與平台無關的位元組碼文件後,需要載入到Servlet容器中才能執行,並且由Servlet容器管理Servlet的整個生命周期,所以,也常常稱Servlet是Servlet容器上運行的伺服器小程序。
Servlet推出初期,主要是作為支持HTTP協議的WEB伺服器上的一種動態網頁技術;隨著Servlet技術的不斷發展,Servlet可以作為支持任何協議的、實現Java API的伺服器上的服務程序。
Servlet運行在伺服器上,它可以接受來自客戶端的請求,並將處理結果返回給客戶端,於是,在許多應用中,Servlet主要用於實現動態網頁,亦或作為前端頁面與後台資料庫或者後台伺服器程序之間的中間件。
二、Servlet容器
Servlet容器作為支撐Servlet運行的平台,是一個非常重要的部件。也可以把Servlet容器看成是一個裝載著許多Servlet對象的容器,Servlet容器負責管理這些Servlet對象。
Servlet容器運行在JVM(Java虛擬機)之上,管理Servlet的實例化、初始化、實例對象的運行和銷毀,並提供最基礎的運行支撐,例如:Servlet容器負責接收請求、轉發請求、發送響應、管理會話狀態、實現數據共享等等。
Servlet容器至少支持通過HTTP協議訪問Servlet,也可以支持其他協議,例如:HTTPS、FTP、POP、SMTP等。
訪問Servlet容器中Servlet的過程如下:
(1)客戶發送訪問請求至Servlet容器
(2)Servlet容器接收請求,解析,然後將請求發送給相應的Servlet處理
(3)Servlet執行,將處理結果返回給Servlet容器
(4)Servlet容器接收處理結果,將處理結果返回給客戶
從以上訪問Servlet的過程,可以看出,Servlet容器的作用如下:
(1)接收請求:當客戶請求來到時,Servlet容器負責接收請求
(2)管理與調用Servlet:Servlet容器管理Servlet的載入、實例化、初始化、調用與垃圾回收,根據請求的Servlet地址,調用要訪問的Servlet
(3)返迴響應結果:將Servlet的執行結果返回給客戶
Servlet運行在Servlet容器中,容器為Servlet提供運行時的平台支撐,於是,在Servlet中,只需要專註於業務邏輯功能實現,而無需考慮網路通訊、垃圾回收等功能,這些基本功能由Servlet容器提供。
Servlet容器主要提供了如下功能:
(1)基本通信支持:Servlet容器提供了與WEB伺服器之間的通信方法,使Servlet可以與WEB伺服器輕鬆對話,並藉助WEB伺服器與客戶端瀏覽器之間的通信機制,使Servlet容器無需自己建立Socket服務、監聽通信埠、創建數據流對象等;Servlet容器定義了與WEB伺服器之間的通信協議,所以,在Servlet中,無需考慮WEB伺服器(例如:Tomcat)和自己的功能代碼之間的API介面,只需要考慮如何在Servlet中實現業務邏輯功能(例如:處理一個訂單)。
(2)管理Servlet生命周期:Servlet容器管理著Servlet的整個生命周期,負責查找、載入、實例化、初始化、調用Servlet方法,以及銷毀,有了Servlet容器,就不需要考慮Servlet資源的管理。
(3)支持多線程:Servlet容器會自動為它所接收的每一個客戶請求創建一個新的Java線程,以處理該請求;對於每一個客戶請求,Servlet服務方法執行結束,則Servlet容器就會結束立即這個線程。
(4)聲明方式實現安全:按照Servlet容器要求,使用web.xml部署描述文件或註解來配置和修改安全性,而不必將其硬編碼寫到Servlet類代碼中。
(5)支持JSP動態頁面:Servlet容器負責將JSP頁面翻譯成Java Servlet代碼,按Servlet來管理JSP頁面的運行。
根據Servlet應用模式,Servlet最常用的模式是通過Servlet容器運行在WEB伺服器中,以執行請求和響應,請求與響應的典型範例是用動態網頁技術實現動態網頁,或者作為前端頁面與後台資料庫/後台伺服器程序之間的中間件,於是,Servlet容器需要與WEB伺服器或應用伺服器結合,才能為WEB應用程序的訪問提供服務。
Servlet容器可以在WEB伺服器內部實現,也可以作為WEB伺服器的附加構件提供,還可以實現在有WEB使能的應用伺服器上,為Servlet的訪問提供運行支撐。
WEB伺服器啟動時,Servlet容器也會隨之啟動。
關於WEB方面更詳細的講解可以看下這個視頻教程網頁鏈接
希望我的回答能幫到你
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,
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是運行在Servlet容器中的,由Servlet容器來負責Servlet實例的查找、創建以及整個生命周期的管理,Servlet整個生命周期可以分為四個階段:類裝載及實例創建階段、實例初始化階段、服務階段以及實例銷毀階段。
類裝載及實例創建階段
默認情況下,Servlet實例是在接受到第一個請求時進行創建並且以後的請求進行復用,如果有Servlet實例需要進行一些複雜的操作,需要在初始化時就完成,比如打開文件、初始化網路連接等,可以配置在伺服器啟動時就創建實例,具體配置方法為在聲明servlet標籤中添加load-on-startup1/load-on-startup標籤。
初始化 init(ServletConfig config)
一旦Servlet實例被創建,將會調用Servlet的inint方法,同時傳入ServletConfig實例,傳入Servlet的相關配置信息,init方法在整個Servlet生命周期中只會調用一次。
服務 services()
為了提高效率,Servlet規範要求一個Servlet實例必須能夠同時服務於多個客戶端請求,即service()方法運行在多線程的環境下,Servlet開發者必須保證該方法的線程安全性。
銷毀 destory()
當Servlet容器將決定結束某個Servlet時,將會調用destory()方法,在destory方法中進行資源釋放,一旦destory方法被調用,Servlet容器將不會再發送任何請求給這個實例,若Servlet容器需再次使用該Servlet,需重新再實例化該Servlet實例。
二、Servlet執行流程
web伺服器接受到一個http請求後,web伺服器會將請求移交給servlet容器,servlet容器首先對所請求的URL進行解析並根據web.xml 配置文件找到相應的處理servlet,同時將request、response對象傳遞給它,servlet通過request對象可知道客戶端的請求者、請求信息以及其他的信息等,servlet在處理完請求後會把所有需要返回的信息放入response對象中並返回到客戶端,servlet一旦處理完請求,servlet容器就會刷新response對象,並把控制權重新返回給web伺服器。
三、與其它技術的比較
與其它服務相比servlet有以下的一些優點:
1、運行速度上比CGI快,因為使用了多線程
2、servlet使用了標準的api,可被許多web服務支持
3、與系統無關性,一次編譯多次使用
轉自
java 怎麼配置servlet?
Servlet是組件,必須放在容器中,使用容器訪問。訪問Servlet之前,必須在web.xml中配置Servlet。
部署Servlet環境(大體分2個步驟):
第一步:在Tomcat根目錄下的webapps目錄下創建如下目錄,並且放相應的文件:
• /FirstWebApp
• /FirstWebApp/WEB-INF/classes:存放servlet類編譯後的.class文件
• /FirstWebApp/WEB-INF/web.xml:存放servlet的配置文件
第二步:配置web.xml文件,如下圖:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249677.html