Servlet实现原理
·~简单就好 人气:0servlet(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>
加载全部内容