通過注釋無需在web.xml中Servlet或者過濾器進行配置。Servlet3.0新增的注釋有@WebServlet、@WebListener、@WebInitParam等。下面分別介紹
@WebServlet注釋定義在Servlet的類聲明之前,用於定義Servlet組件。使用該注釋,就無需在web.xml中對Servlet進行配置。@WebServlet注釋包含的屬性:
屬性名
類型
描述
name
String
指定Servlet的name屬性,等價於
value
String[]
等價於urlPatterns屬性,但兩者不能同時使用
urlPatterns
String[]
指定一組Servlet的URL匹配模式。等價於
loadOnStartup
int
指定Servlet的加載順序,等價於
initParams
WebInitParam[]
指定一組Servlet初始化參數,等價於
asyncSupported
Boolean
指定Servlet是否支持異步操作,等價於
description
String
Servlet的描述信息,等價於
diaplayName
Sting
Servlet顯示名,通常配合工具使用,等價於
@WebFilter注釋用於聲明過濾器,該注釋會在部署是被容器處理,容器根據具體的實行配置將相應的類部署為過濾器。@WebFilter的屬性列表:
屬性名
類型
描述
filterName
String
指定過濾器的name屬性,等價於
Value
Sring[]
等價於urlPatterns屬性,但是兩者不能同時使用
urlPatterns
String[]
指定過濾器的URL匹配模式,等價於
servletNames
String[]
指定過濾器將應用於哪些Servlet.是@WebServlet中的name屬性的取值或者是web.xml中
initParams
WebInitParam[]
指定一組過濾器的初始化參數,等價於
asyncSupported
Boolean
聲明過濾器是否支持異步操作,等價於
Description
String
過濾器的描述信息,等價於
displayName
String
該過濾器的顯示名,通常配合工具使用,等價於
dispatcherTypes
DispatcherType
指定過濾器的轉發模式,具體包括ASYNC/ERROR/FORWADR/INCLUDE/REQUEST
該注釋用於聲明監聽器,還可以用於充當給定Web應用上下文中各種Web事件的監聽器類。可以使用@WebListener來標注一個實現ServletContextListener/Servlet
ContextAttributeListener/ServletRequestListner/ServletRequestAttributeListener/HttpSessionListener/HttpSessionAttributeListener的類。@WebListener注釋有一個value屬性,該屬性為可選屬性,用於描述監聽器信息。使用該注釋就不需在web.xml中配置
該注釋等價於web.xml中的
屬性名
類型
是否可選
描述
Name
String
否
指定參數的名字,等價於
Value
String
否
指定參數的值,等價於
Description
String
是
關於參數的描述,等價於