Servlet服務端實現原理詳解

servlet(serverapplet)(服務端程序)

作用:作用在於交互式的瀏覽和修改數據,生成動態數據

狹義的servlet就是java提供的一個接口,廣義的servlet是任何實現servlet接口的實現類,一般情況下,servlet為後者。

servlet接口:

init()當servlet第一次被請求時,初始化Servlet對象,

service()每次請求時,service方法調用

destroy()當銷毀Servlet對象,destroy方法調用

getServletlnfo ()這個方法一段描述,是一段字符串

getServletConfig()這個方法返回ServletConfig對象

GenerivServlet抽象類:

GenericServlet抽象類作用,實現瞭init(),destroy(),getServletConfig(),getServletlnfo(),相當於屏蔽掉這些不常用的方法,簡化開發流程

HttpServlet抽象類:

為瞭匹配Http請求,實質就是把service根據請求方式拆成對應的方法

web配置文件中:

<load-on-startup>0</load-on-startup>   <!-- 該標簽代表servlet實例加載的順序,如果負數或者沒有值,等請求的時候再加載;如果是0或者整數,代表著隨著tomcate的啟動而加載;數字越小越早加載,加載優先級越高 -->

註解:@WebServlet(value= {“/gs”},loadOnStartup = 0)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>duxingweb</display-name>
  <servlet>
  	<servlet-name>myservlet</servlet-name>
  	<servlet-class>com.qcby.servlet.MyServlet</servlet-class>
  	<load-on-startup>-1</load-on-startup>   
      <!-- 該標簽代表servlet實例加載的順序,
			如果負數或者沒有值:等請求的時候再加載 ;
			如果是0或者正數:代表著隨著tomcate的啟動而加載;
			數字越小越早加載;
	  -->
  </servlet>
  <servlet-mapping>
  	<servlet-name>myservlet</servlet-name>
    <!--精確匹配--> 
  	<url-pattern>/myservlet</url-pattern>
    <!--後綴匹配:例如隻要後綴為.do的都可以訪問到,出發servlet--> 
    <url-pattern>*.do</url-pattern>
    <!--通配匹配-->
    <url-pattern>/*</url-pattern>
    <!--通配匹配/:匹配所有請求,但是不包含jsp和html-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

到此這篇關於Servlet服務端實現原理詳解的文章就介紹到這瞭,更多相關Servlet實現原理內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: