首先创建一个servlet (在已创建的Dynamic Wed Project项目右击,找到other):
点击Next

java package (包名)可以不创建,
class name随意写。点击Next

可以勾选方法后续有部分方法说明.
sevlet 生命周期
1.加载和实例化。
2.初始化:调用init()方法。
3.请求处理:调用service()方法。
4.服务终止:调用destroy()方法.
加载和实例化
Servlet容器(wed服务器)负责加载和实例化。
Servlet 可以在用户访问 Servlet 映射地址时加载并运行Servlet,也可以有容器自动加载Servlet。
自动加载需在wed.xml中设置<load-on-startup>属性,
load-on-startup 元素取值规则如下:
- 它的取值必须是一个整数;
- 当值小于 0 或者没有指定时,则表示容器在该 Servlet 被首次请求时才会被加载;
- 当值大于 0 或等于 0 时,表示容器在启动时就加载并初始化该 Servlet,取值越小,优先级越高;
- 当取值相同时,容器就会自行选择顺序进行加载。
初始化
调用init()方法在处理用户请求前完成初始化工作(如建立数据库连接,通过ServletConfig对象获取配置信息)。如初始化失败会抛出ServletException或UnavailableException异常,实例销毁。
请求处理
Servlet实例化后接收客户端请求、作出响应,都是通过调用servlet()方法实现。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。
服务终止
服务器调用destroy()方法释放Servlet运行所占的资源,该方法不抛出异常。
Servlet配置

配置servlet的方法有两种:
1、在wed.xml文件中配置servlet
必须指定servlet的名称、servlet的 类的路径,其他信息可选择性添加。
<!-- <servlet> -->
<!-- <servlet-name>testServlet</servlet-name>注册servlet的名字,一般跟Servlet类名有关 -->
<!-- <servlet-class>baoming.testServlet</servlet-class>要注册的servlet 的类地址, 要带包路径 -->
<!-- </servlet> -->
<!-- <servlet-mapping> -->
<!-- <servlet-name>testServlet</servlet-name>类名 -->
<!-- <url-pattern>/Ex</url-pattern>随意路径映射可以设计多个映射地址 -->
<!-- </servlet-mapping> -->
2、采用注解配置Servlet
import javax.servlet.annotation.WedServlet;
@WedServlet(urlPatterns = {"/映射地址"},asyncSupported = true|false,
loadOnStsrtup = -1,name = "Servlet名称",displayName = "显示名称",
initParams = {@WedInitParam(name = "username",value= "值")})
以上语法中asyncSupported属性 是否支持异步操作模式,
loadOnStsrtup属性 指定Servlet的加载顺序,
name属性 servlet的name属性,
displayName属性 指定Servlet的显示名,
initParams属性 指定一组Servlet初始化参数。
本文详细介绍了Servlet的生命周期,包括加载和实例化、初始化、请求处理和服务终止四个阶段,并讲解了如何通过wed.xml配置Servlet以及使用注解的方式。强调了Servlet的加载时机,init()、service()和destroy()方法的作用,以及在web服务器中的应用。
3015

被折叠的 条评论
为什么被折叠?



