亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaWeb組件Servlet使用實例解析

 更新時間:2019年11月07日 08:30:04   作者:Demrystv  
這篇文章主要介紹了JavaWeb組件Servlet使用實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

在JavaWeb中有三大組件,分別是Servlet、Filter和Listener。其中Servlet的作用是處理請求,服務器會把接收到的請求交給Servlet來處理,即接收請求數(shù)據(jù)、處理請求和完成響應。

1. 實現(xiàn)Servlet的方式

主要有三種實現(xiàn)方式:1)實現(xiàn)javax.servlet.Servlet接口;2)繼承javax.servlet.GenericServlet類;3)繼承javax.servlet.http.HttpServlet類;其中最常用的繼承HttpServlet類來實現(xiàn)。

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只有一個實例對象,那么就有可能會現(xiàn)時出一個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>這個元素關聯(lián)在一起。

<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類是一個抽象類,但是沒有抽象方法,必須繼承,實現(xiàn)doGet或者doPost,但是doGet()或doPost()方法不是抽象方法,默認的實現(xiàn)是給客戶一個405。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java Spring詳解如何配置數(shù)據(jù)源注解開發(fā)以及整合Junit

    Java Spring詳解如何配置數(shù)據(jù)源注解開發(fā)以及整合Junit

    Spring 是目前主流的 Java Web 開發(fā)框架,是 Java 世界最為成功的框架。該框架是一個輕量級的開源框架,具有很高的凝聚力和吸引力,本篇文章帶你了解如何配置數(shù)據(jù)源、注解開發(fā)以及整合Junit
    2021-10-10
  • 教你Spring如何使用三級緩存解決循環(huán)依賴

    教你Spring如何使用三級緩存解決循環(huán)依賴

    這篇文章主要介紹了Spring使用三級緩存解決循環(huán)依賴的過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 你應該知道的java中的5個注解

    你應該知道的java中的5個注解

    自Java5.0版本引入注解之后,它就成為了Java平臺中非常重要的一部分。開發(fā)過程中,我們也時常在應用代碼中會看到像@Override,@Deprecated這樣的注解。下面小編和大家來一起學習一下吧
    2019-05-05
  • SpringBoot混合使用StringRedisTemplate和RedisTemplate的坑及解決

    SpringBoot混合使用StringRedisTemplate和RedisTemplate的坑及解決

    這篇文章主要介紹了SpringBoot混合使用StringRedisTemplate和RedisTemplate的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java 實戰(zhàn)范例之線上婚紗攝影預定系統(tǒng)的實現(xiàn)

    Java 實戰(zhàn)范例之線上婚紗攝影預定系統(tǒng)的實現(xiàn)

    讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+javaweb+SSM+springboot+mysql實現(xiàn)一個線上婚紗攝影預定系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • Springboot 如何關閉自動配置

    Springboot 如何關閉自動配置

    這篇文章主要介紹了Springboot 如何關閉自動配置的操作,具有很好的開車價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java 線程池ThreadPoolExecutor源碼解析

    Java 線程池ThreadPoolExecutor源碼解析

    這篇文章主要介紹了Java 線程池ThreadPoolExecutor源碼解析
    2022-03-03
  • Java?ObjectMapper的使用和使用過程中遇到的問題

    Java?ObjectMapper的使用和使用過程中遇到的問題

    在Java開發(fā)中,ObjectMapper是Jackson庫的核心類,用于將Java對象序列化為JSON字符串,或者將JSON字符串反序列化為Java對象,這篇文章主要介紹了Java?ObjectMapper的使用和使用過程中遇到的問題,需要的朋友可以參考下
    2024-07-07
  • mybatis Interceptor對UpdateTime自動處理的實現(xiàn)方法

    mybatis Interceptor對UpdateTime自動處理的實現(xiàn)方法

    這篇文章主要給大家介紹了關于使用mybatis Interceptor對UpdateTime自動處理的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2018-12-12
  • JAVA之讀取properties時路徑的注意問題

    JAVA之讀取properties時路徑的注意問題

    這篇文章主要介紹了JAVA之讀取properties時路徑的注意問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論