一、Servlet的傳統配置方式
web.xml中的servlet配置

發一個Servlet,都要在web.xml中配置Servlet才能夠使用,就比較麻煩。所以Servlet3.0之后提供了注解(annotation)
二、使用注解方式配置Servlet
@WebServlet注解用於標注在一個繼承了HttpServlet類之上,屬於類級別的注解。
用法形如:
@WebServlet("/RegistServlet")
public class RegistServlet extends HttpServlet{
//處理 GET 方法請求的方法
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
//處理POST方法請求的方法
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
}
該注解的作用等價於 在web.xml中配置的該servlet的<servlet-mapping>元素中<url-pattern>的配置
三、@WebServlet注解屬性

(1).loadOnStartup屬性:標記容器是否在啟動應用時就加載Servlet,默認不配置或數值為負數時表示客戶端第一次請求Servlet時再加載;0或正數表示啟動應用就加載,正數情況下,數值越小,加載該Servlet的優先級越高;
(2).name屬性:可以指定也可以不指定,通過getServletName()可以獲取到,若不指定,則為Servlet的完整類名
(3).urlPatterns/value屬性: String[]類型,可以配置多個映射,如:urlPatterns={"/user/test", "/user/example"}
(4).urlPatterns的常用規則:
- /*或者/:攔截所
- *.do:攔截指定后綴
- /user/test:攔截路徑
- /user/*.do、/*.do、test*.do都是非法的,啟動時候會報錯
