2020-03-02
SERVLETJAVA

Servlet 使用教戰守則 – Annotation 篇

Servlet 使用教戰守則 Annotation 篇

basic tutorial

@WebServlet

被定義的 class 通常繼承 javax.servlet.http.HttpServlet 這個 class

|屬性名稱|類型|是否必填|描述|預設值|
|:---|:---|:---|:---|:---|
|value or urlPatterns   |String[]   |必填   |指定一個或多個 URL 匹配模式。value 跟 urlPatterns 是一模一樣的,可以選一個用,但不可以同時使用。   |   |
| name | String | 選填 | 名稱 |   |
| displayName | String | 選填 | 顯示名稱 |   |
| description | String | 選填 | Servlet 描述 |   |
| asyncSupported | boolean | 選填 | 是否支援異步操作模式。預設為不支援 | false |
| initParams | WebInitParam[]| 選填 | 指定 Servlet 初始化參數 |   |
| loadOnStartup | int | 選填 | 指定 Servlet 載入順序 | -1 |
| smallIcon | String | 選填 | small icon 名稱 |   |
| largeIcon | String | 選填 | large icon 名稱 |   |

---

## @MultipartConfig
@MultipartConfig
同時提供幾個屬性輔助我們做檔案處理

| 屬性名稱 | 類型 | 是否必填 | 描述 |    預設值 |
|:---|:---|:---|:---|:---|
| location | String | 選填 | 當檔案處理中、或檔案大小超過 fileSizeThreshold 定義時的暫存目錄 | "" |
| fileSizeThreshold | int | 選填 | 定義檔案暫存門檻 | 0 |
| maxFileSize | long | 選填 | 允許單個檔案最大大小;當上傳檔案大小超過定義會丟出 exception (IllegalStateException) | -1 無上限 |
| maxRequestSize | long | 選填 | 允許整個 multipart/form-data 要求最大大小;當上傳檔案大小超過定義會丟出 exception (IllegalStateException) | -1 無上限 |

---

## @WebFilter
@WebFilter``` 是用來定義這個 Servlet 的屬性, 被定義的 class 通常繼承 javax.servlet.http.HttpFilter 這個 class
屬性名稱類型是否必填描述預設值
filterNameString選填Filter 名稱
value or urlPatternsString[]必填指定一個或多個 URL 匹配模式。value 跟 urlPatterns 是一模一樣的,可以選一個用,但不可以同時使用。
asyncSupportedboolean選填是否支援異步操作模式。預設為不支援false