Servlet:java
概念:運行在服務器端端小程序web
本質:Servlet就是一個接口,定義了java類被瀏覽器訪問到(Tomcat識別)的規則小程序
使用:自定義一個類,實現servlet接口,複寫方法瀏覽器
快速入門:一、建立JavaEE項目tomcat
二、定義一個類,實現Servlet接口安全
public class ServletDemo1 implements Servlet
三、實現接口中的抽象方法服務器
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("hello"); }
四、配置Servletapp
<servlet> <servlet-name>demo1</servlet-name> <servlet-class>lianbang.wu.web.servlet.ServletDemo1</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/demo1</url-pattern> </servlet-mapping>
執行原理:url
一、當服務器接受到客戶端瀏覽器請求後,會解析請求URL路徑,獲取訪問的Servlet的資源路徑線程
二、查找web.xml文件,是否有對應的 <url-pattern>標籤體對象
三、若是有,則會找到對應的<servlet-class>全類名
四、tomcat會將字節碼文件加載進內存,而且建立其對象
五、調用其方法
servlet的生命週期:
一、init,初始化方法,在servlet被建立的時候執行一次,只執行一次
默認狀況下,第一次訪問時,servlet被建立
也能夠經過配置文件<servlet>標籤中添加標籤<load-on-startup>指定建立時機,負數第一次被訪問建立,整數服務器啓動建立
二、service,提供服務方法,每一次servlet被訪問時執行,執行屢次
三、destroy,銷燬方法,在服務器正常關閉時,執行,執行一次
注意:servlet是單例,儘可能不要在servlet中定義成員變量,即便定義了成員變量,也不要修改值,會形成線程安全問題
四、ServletConfig,servlet配置對象
五、getServletInfo,獲取servlet信息
servlet3.0:
支持註解配置,能夠不須要web.xml
步驟:一、建立JavaEE項目,選擇Servlet的版本3.0以上,能夠不建立web.xml
二、定義一個類,實現servlet接口
三、複寫方法
四、在類上使用@WebServlet註解,進行配置
@WebServlet(「資源路徑」)
Servlet體系:做爲接口,servlet有兩個實現類 GenericServlet,HttpServlet
GenericServlet:將Servlet接口中其餘的方法默認了空實現,只將service()方法做爲抽象,未來定義servlet類時,能夠繼承GenericServlet,實現service方法便可
HttpServlet:對Http協議對一種封裝,簡化操做,只須要複寫doGet或doPost方法
Servlet的urlpartten配置:一、一個servlet能夠定義多個訪問路徑,例如:
@WebServlet({"/d","/dd","/ddd"})
二、路徑定義規則:/XXX
/XXX/XXX
*.do