3四、Servlet

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

相關文章
相關標籤/搜索