servlet
概念: 运行在服务端的程序,是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则
tomcat会读取web.xml文件中的配置
创建一个web项目
目录说明:
1.src:自动编译.java文件的目录
-
依赖的jdk版本
-
依赖的tomcat版本
-
build: 用来存放编译后的项目
-
web
META-INF:是存放工程自身相关的一些信息,元文件信息,通常由开发工具和环境自动生成。
MANIFEST.MF:配置清单文件
WEB-INF:
lib:用来存放依赖的第三方jar包
web.xml:web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射
导入tomcat的servlet-api包
实现servlet接口
配置web.xml
<servlet> <servlet-name>demo1</servlet-name> <servlet-class>com.web.test.MyServelt</servlet-class> </servlet> <servlet-mapping> <servlet-name>demo1</servlet-name> <url-pattern>/firstServlet</url-pattern> </servlet-mapping>
servlet执行原理
1.当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的servelt的资源路径 2.查找web.xml文件,判断是否否有对应的<ur1-pattern>标签体内容。 3.如果有,则在找到对应的<serv1et-class>全类名 4.tomcat会将字节码文件加进内存,并且创建其对象 5.调用其方法
servlet生命周期
1.被创建:执init方法,只执行一次
Servlet什么时候被创建?
默认情况下,第一次被访问时, Servlet被创建
可以配置执行 Servlet的创建时机,在(<servlet>这个标签内使用)
第一次被访问时,创建
<load-on-startup>的值为负数
在服务器后动时,创建
<load-on-startup>的值为0或正整数
注意点:
init只执行一次,说明servlet是一个单例对象。
2.提供服务:执行 service方法,执行多次
每次访问servlet时,service都会被调用一次
3.被销毁:执行 destroy方法,只执行一次
只有服务器正常关闭时,才会执行这个destroy方法。
destroy方法在servlet被销毁之前执行,一般用于释放资源