Servlet服务端实现原理详解

2022-07-31

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实现原理内容请搜索北冥有鱼以前的文章或继续浏览下面的相关文章希望大家以后多多支持北冥有鱼!

《Servlet服务端实现原理详解.doc》

下载本文的Word格式文档,以方便收藏与打印。