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

Servlet的兩種創(chuàng)建方式(xml?注解)示例詳解

 更新時間:2023年08月31日 14:22:04   作者:Code技術分享  
這篇文章主要為大家介紹了Servlet的兩種創(chuàng)建方式(xml?注解)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

一、使用web.xml的方式配置(Servlet2.5之前使用)

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
        http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>java-servlet-demo02</display-name>
  <!-- servlet配置 -->
  <servlet>
    <!-- 名稱 -->
    <servlet-name>WebXmlServlet</servlet-name>
    <!-- servlet全稱類名 -->
    <servlet-class>com.mcode.servlet.controller.WebXmlServlet</servlet-class>
    <!-- 啟動的優(yōu)先級,數(shù)字越小越先起作用 -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <!-- 映射配置 -->
  <servlet-mapping>
    <!-- 對應名稱 -->
    <servlet-name>WebXmlServlet</servlet-name>
    <!-- 資源匹配規(guī)則:精確匹配 -->
    <url-pattern>/webxml</url-pattern>
  </servlet-mapping>
</web-app>

WebXmlServlet

package com.mcode.servlet.controller;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * ClassName: WebXmlServlet
 * Package: com.mcode.servlet.controller
 * Description:
 *
 * @Author robin
 * @Create 2023/8/30 20:49
 * @Version 1.0
 */
public class WebXmlServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //設置編碼方式
        resp.setCharacterEncoding("UTF-8");
        //指定客戶端解碼方式
        resp.setHeader("content-type", "text/html;charset=UTF-8");
        //輸出
        resp.getWriter().write("基于webxml方式配置的servlet");
    }
}

效果圖

url-pattern匹配規(guī)則

匹配規(guī)則取值說明
精確匹配/具體的名稱只有url路徑是具體的名稱的時候才會觸發(fā) Servlet
后綴匹配*.xxx只要是以xxx結尾的就匹配觸發(fā)Servlet
通配符匹配/*匹配所有請求,包含服務器的所有資源
通配符匹配/匹配所有請求,包含服務器的所有資源,不包括.jsp

load-on-startup說明

  • 元素標記容器是否應該在web應用程序啟動的時候就加載這個 servlet
  • 它的值必須是一個整數(shù),表示 servlet被加載的先后順序
  • 如果該元素的值為負數(shù)或者沒有設置,則容器會當serv1et被請求時再加載
  • 如果值為正整數(shù)或者0時,表示容器在應用啟動時就加載并初始化這個 servlet,值越小, servlet的優(yōu)先級越高,就越先被加載。值相同時,容器就會自己選擇順序來加載

二、使用注解的方式配置(Servlet3.0后支持,推薦)

AnnotationServlet

package com.mcode.servlet.controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * ClassName: AnnotationServlet
 * Package: com.mcode.servlet.controller
 * Description:
 *
 * @Author robin
 * @Create 2023/8/30 20:51
 * @Version 1.0
 */
@WebServlet("/annotation")
public class AnnotationServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //設置編碼方式
        resp.setCharacterEncoding("UTF-8");
        //指定客戶端解碼方式
        resp.setHeader("content-type", "text/html;charset=UTF-8");
        //輸出
        resp.getWriter().write("基于注解方式配置的servlet");
    }
}

效果圖

@WebServlet注解

屬性:下面是一些常用屬性,value和url一般是必須的,但是二者不能共存,若同時指定,一般自動忽略value。

屬性名類名屬性描述
nameString指定servlet的name屬性,等價于<servlet-name>,若沒有指定,則默認是類的全限定名
valueString[]等價于urlPatterns,兩者不能共存
urlPatternsString[]指定一組servlet的url的匹配模式,等價于<url-pattern>
loadOnStartupint指定servlet的加載順序,等價于<load-on-startup>
initParamsWebinitParams[]指定一組初始化參數(shù),等價于<init-params>
asyncSupportedboolean申明servlet是否支持異步操作模式,等價于<async-supported>
displayNameStringservlet的顯示名,等價于<display-name>
descriptionStringservlet的描述信息,等價于<description>

@WebServlet 屬于類級別的注解,標注在繼承了 HttpServlet 的類之上。常用的寫法是將 Servlet 的相對請求路徑(即 value)直接寫在注解內,

@WebServlet(urlPatterns = “/MyServlet”)。

@WebServlet(“/MyServlet”) 省略了 urlPatterns 屬性名

如果 @WebServlet 中需要設置多個屬性,則屬性之間必須使用逗號隔開.

通過實現(xiàn) Serlvet 接口或繼承 GenericServlet 創(chuàng)建的 Servlet 類無法使用 @WebServlet 注解。

使用 @WebServlet 注解配置的 Servlet 類,不要在 web.xml 文件中再次配置該 Servlet 相關屬性。若同時使用 web.xml 與 @WebServlet 配置同一 Servlet 類,則 web.xml 中 的值與注解中 name 取值不能相同,否則容器會忽略注解中的配置。

以上就是Servlet的兩種創(chuàng)建方式(xml 注解)示例詳解的詳細內容,更多關于Servlet創(chuàng)建方式的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot中自定義首頁(默認頁)及favicon的方法

    SpringBoot中自定義首頁(默認頁)及favicon的方法

    這篇文章主要介紹了SpringBoot中如何自定義首頁(默認頁)及favicon,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • 面試題:用 Java 逆序打印鏈表

    面試題:用 Java 逆序打印鏈表

    這篇文章主要介紹了面試題:用 Java 逆序打印鏈表,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Spring中Bean創(chuàng)建完后打印語句的兩種方法

    Spring中Bean創(chuàng)建完后打印語句的兩種方法

    這篇文章主要介紹了Spring中Bean創(chuàng)建完后打印語句的兩種方法,一個是實現(xiàn)InitializingBean接口,另一個使用@Bean注解和initMethod屬性,通過代碼示例介紹的非常詳細,感興趣的小伙伴可以參考閱讀
    2023-07-07
  • Spring?EnableAsync注解異步執(zhí)行源碼解析

    Spring?EnableAsync注解異步執(zhí)行源碼解析

    這篇文章主要為大家介紹了Spring?EnableAsync注解源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 基于Java內存溢出的解決方法詳解

    基于Java內存溢出的解決方法詳解

    本篇文章是對Java內存溢出的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • Java哈希表的概念及實現(xiàn)完整代碼

    Java哈希表的概念及實現(xiàn)完整代碼

    這篇文章主要介紹了Java哈希表的概念及實現(xiàn)的相關資料,哈希表是一種高效查找數(shù)據(jù)的結構,通過哈希函數(shù)將關鍵字映射到數(shù)組的索引位置,當發(fā)生沖突時,可以通過閉散列或開散列(鏈地址法)來解決,需要的朋友可以參考下
    2024-11-11
  • Java基于ShardingSphere實現(xiàn)分庫分表的實例詳解

    Java基于ShardingSphere實現(xiàn)分庫分表的實例詳解

    ShardingSphere?已于2020年4月16日成為?Apache?軟件基金會的頂級項目,?它們均提供標準化的數(shù)據(jù)水平擴展、分布式事務和分布式治理等功能,可適用于如?Java?同構、異構語言、云原生等各種多樣化的應用場景,對ShardingSphere分庫分表相關知識感興趣的朋友一起看看吧
    2022-03-03
  • Spring底層事務原理解析

    Spring底層事務原理解析

    Spring事務有可能會提交,回滾、掛起、恢復,所以Spring事務提供了一種機制,可以讓程序員來監(jiān)聽當前Spring事務所處于的狀態(tài),這篇文章主要介紹了Spring底層事務原理,需要的朋友可以參考下
    2022-12-12
  • java如何多線程批量更新10萬級的數(shù)據(jù)

    java如何多線程批量更新10萬級的數(shù)據(jù)

    在處理大數(shù)據(jù)量的批量更新時,直接使用mybatis的updateBatch可能導致效率低下甚至OOM,通過每次處理5000條數(shù)據(jù)的方式雖然安全但效率低,更優(yōu)的解決方案是使用多線程處理,將數(shù)據(jù)分批并多線程執(zhí)行,有效提高了處理速度并保證了系統(tǒng)穩(wěn)定性
    2024-10-10
  • 一篇文章弄懂Java和Kotlin的泛型難點

    一篇文章弄懂Java和Kotlin的泛型難點

    這篇文章主要給大家介紹了如何通過一篇文章弄懂Java和Kotlin的泛型難點的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05

最新評論