调用流程
servelt创建后是需要在web.xml里注册的:
例如:
<servlet>
<servlet-name>df</servlet-name> <!-- 第三步 -->
<servlet-class>df</servlet-class> <!-- 第四步 -->
</servlet>
<servlet-mapping>
<servlet-name>df</servlet-name> <!-- 第二步 -->
<url-pattern>/servlet/df</url-pattern> <!-- 第一步 -->
</servlet-mapping>
jsp里通过超链接 访问 <a href = "/servlet/df"> .
1.超链接里写的是servelt的url,也就是<servlet-mapping>里面的<url-pattern>的值。
2.通过<url-pattern>找到<servlet-mapping>里对应的<servlet-name>
3.通过<servlet-name>去<servlet>里面找对应的<servlet-name>(因为<servlet>标签里面可以包含很多个servelt,例子里就一个。)
4.在<servlet>里通过<servlet-name>找到对应的<servlet-class>。这个就是servelt对应的Java类。
jsp里有说过,jsp会被转换成servelt,生成了一个Java类,其实servelt都有其对应的Java类。访问servelt就是通过web.xml里的注册信息,找到对应的Java类。
生命周期:
和jsp页面的生命周期类似。都是先调用init()初始化。
然后请求过来,调用service()方法。
根据请求方法,调用doGet或者dePost方法。这两个方法也是创建servelt时需要重写的(service方法不用重写,service方法是调用这两个方法)。
最后比如项目终止或者服务器关闭,调用destory()方法。