编辑好的Servlet源文件并不能响应用户请求,还必须将其编译成class文件。
为了让servlet能响应用户请求,还必须将servlet配置在Web应用中。配置Servlet时,需要修改web.xml文件。
从servlet3.0开始,配置servlet 有两种方式:
1.在servlet类中使用@WebServlet Annotation进行配置;
2.通过web.xml文件配置
@WebServlet 支持的常用属性:
属性 | 是否必须 | 说明 |
asyncSupported | 否 | 指定该Servlet是否支持异步操作 |
displayName | 否 | 指定该servlet的显示名 |
initParams | 否 | 用于该servlet配置参数 |
loadOnStartUp | 否 | 用于servlet配置成 load-on-startup的servlet |
name | 否 | 指定该servlet的名称 |
urlPatterns/value | 否 | 这两个属性的作用完全相同。指定该servlet的处理的url |
2.Jsp/Servlet的生命周期
2.1创建servlet实例有两个时机
1. 客户端第一次请求某个servlet的时候,系统创建该servlet的实例:大部分的servlet都是这种servlet
2.Web应用启动时立即创建servlet实例,即load-on-startup
每个servlet的生命周期如下:
1.创建servlet实例
2.Web容器调用servlet的init方法,对servlet进行初始化
3.servlet初始化后,将一直存于容器中,用于响应客户端请求。如果客户端发送get请求。容器调用doget方法,如果客户端发送post请求,调用dopost方法,或者统一使用service()方法
4.web容器决定销毁servlet时,先调用destory方法,通常在关闭web应用时销毁servlet
2.2 load-on-startup Servlet
配置load-on-startup有两种方式:
1.在web.xml 在<servlet><load-on-startup>1</load-on-startup> </servlet>
2.@WebServlet(loadOnStartup=1)
loadOnStartup属性只接收一个整数型,这个整数型越小,servlet就越优先实例化。
2.3 访问servlet的配置参数
配置参数有两种方法:
1.@WebServlet的initParams属性来指定
2.web.xml 文件中 <servlet>-</servlet>