這篇文章將為大家詳細講解有關JavaWeb中Servlet組件如何使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新互聯公司-專業(yè)網站定制、快速模板網站建設、高性價比南山網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式南山網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋南山地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
1. 實現Servlet的方式
主要有三種實現方式:1)實現javax.servlet.Servlet接口;2)繼承javax.servlet.GenericServlet類;3)繼承javax.servlet.http.HttpServlet類;其中最常用的繼承HttpServlet類來實現。
2. 關于Servlet接口
public interface Servlet { public void init(ServletConfig config) throws ServletException; public ServletConfig getServletConfig(); public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException; public String getServletInfo(); public void destroy();}
如上是Servlet接口的源碼,內部主要有五個方法,其中與Servlet生命周期有關的方法有 init方法、service方法和destroy方法。
1) void init(ServletConfig);它會在Servlet對象創(chuàng)建之后馬上執(zhí)行,并且只執(zhí)行一次。
2) void service(ServletRequest,ServletResponse);它會被調用多次,每次處理請求都被調用。
3) void destroy();它會在Servlet被銷毀之前被Tomcat調用,并且只執(zhí)行一次。
3. Servlet的創(chuàng)建
服務器會在Servlet第一次被訪問時創(chuàng)建Servlet,或者是在服務器啟動時創(chuàng)建Servlet。如果服務器啟動時就創(chuàng)建Servlet,那么還需要在web.xml文件中配置。如果 Servlet 的 load-on-startup 配置項大于 0,那么在 Context 容器啟動的時候就會被實例化,也就是說默認情況下,Servlet是在第一次被訪問時由服務器創(chuàng)建的。而且一個Servlet類型,服務器只創(chuàng)建一個實例對象。
4. Servlet與線程安全
因為一個類型的Servlet只有一個實例對象,那么就有可能會現時出一個Servlet同時處理多個請求,那么Servlet是否為線程安全的呢?答案是:“不是線程安全的”。這說明Servlet的工作效率很高,但也存在線程安全問題!
所以我們不應該在Servlet中隨便創(chuàng)建成員變量,因為可能會存在一個線程對這個成員變量進行寫操作,另一個線程對這個成員變量進行讀操作。
5. Servlet的使用
如果想要瀏覽器可以訪問Servlet,需要給Servlet綁定一個路徑,這個需要在web.xml中進行配置。其中<servlet> 指定HelloServlet這個Servlet的名稱為hello;<servlet-mapping>:指定/helloworld訪問路徑所以訪問的Servlet名為hello。<servlet>和<servlet-mapping>通過<servlet-name>這個元素關聯在一起。
<servlet> <servlet-name>hello</servlet-name> <servlet-class>com.Demrystv.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/helloworld</url-pattern> </servlet-mapping>
6. 關于HttpServlet
HttpServlet類是GenericServlet的子類,它提供了對HTTP請求的特殊支持,所以通常我們都會通過繼承HttpServlet來完成自定義的Servlet。
HttpServlet類是一個抽象類,但是沒有抽象方法,必須繼承,實現doGet或者doPost,但是doGet()或doPost()方法不是抽象方法,默認的實現是給客戶一個405。
關于JavaWeb中Servlet組件如何使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網頁題目:JavaWeb中Servlet組件如何使用
文章鏈接:http://aaarwkj.com/article16/jeesdg.html
成都網站建設公司_創(chuàng)新互聯,為您提供外貿建站、微信小程序、響應式網站、網站內鏈、、網頁設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯