servlet中的Annoatation注解的學(xué)習(xí)
背景: Servlet3.0中提供了注解, 使得不再需要在web.xml文件中進(jìn)行servlet的部署描述, 簡(jiǎn)化開發(fā)流程.
- 創(chuàng)建一個(gè)servlet類, 在該類class上面添加注解
- 注解WebServlet用來描述一個(gè)Servlet
- 屬性name描述Servlet的名字--可選的
- 屬性u(píng)rlPatterns定義訪問的url, 或者使用屬性value定義訪問的url, 定義訪問的url是必選屬性.
代碼例子
@WebServlet(name="ServletDemo3", urlPatterns="/servletDemo3")
public class ServletDemo3 extends HttpServlet{}
使用注解進(jìn)行Servlet開發(fā)注意:
使用@WebServlet將一個(gè)繼承于javax.servlet.http.HttpServlet的類定義為servlet組件.
@WebServlet有很多屬性:
- asyncSupported 聲明Servlet是否支持異步操作模式
- description 關(guān)于servlet的描述
- displayName 關(guān)于servlet的顯示名稱
- initParams 這是servlet的init參數(shù)
- name 該servlet的名稱
- urlPatterns 該servlet的訪問url
- value 該servlet的訪問url
servlet中設(shè)置對(duì)外訪問的url是servlet必選屬性, 可以選擇使用URLPatterns或者value定義.
像上面的ServletDemo可以描述為@WebServlet(name="ServletDemo", value="/servletDemo")
也可以定義多個(gè)url訪問
如:
@WebServlet(name="ServeltDemo", urlPatterns={"/servletDemo", "/servletDemo1"})或者@WebServlet(name="ServletDemo", value={"/servletDemo", "/servletDemo1"})
同理: 過濾器和監(jiān)聽器也可以用相應(yīng)的注解
- @WebFilter(name="xxxx", value="/xxxx")
- @WebListener