https://www.cnblogs.com/whgk/p/6399262.html
强势安利!!!
1.Servlet是为了解决实现动态页面而衍生的东西。用于处理请求和发送响应。
2.tomcat和servlet的关系
Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat 作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上的组件. Servlet最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品.
3. servlet生命周期
通常我们所说的servlet生命周期主要是指servlet对象的创建、servlet对象的初始化、servle对象的服务方法的执行、最后是servlet的销毁,可用下图表示
servlet整个生命周期的执行都是由web服务器所管理的,从servlet的创建到servlet服务的执行以及最后servlet的销毁都是由web服务器所执行的
重点掌握!!!
a. Servlet是单例的。多线程的
servlet创建后,调用init方法进行初始化,一个servlet实例只会执行一次无参构造方法和init方法,在第一访问对该servlet请求时执行。
servlet创建时机:第一次发送请求创建
谁创建的:Tomcat创建
init被谁调用:tomcat调用
调用几次:只会调用一次
b. 从客户端发送的请求,被service方法处理
执行几次:一(N)次请求,一(N)次调用
c. servlet销毁之前,调用destory方法做垃圾回收
servlet什么时候销毁:关闭服务器
执行几次:只会执行一次
4. 手动添加servlet,需要在web.xml中配置servlet
Servlet的配置路径
完全路径匹配:以/开头 怎么写,怎么访问(使用第一个)
目录匹配:以/开头,但是以*结尾 /*
扩展名匹配: *.do *.action 不能以.开头
web中路径问题
html
相对路径:
绝对路径:以项目名开头
jsp
绝对路径:${pageContext.request.contextPath}
servlet:
绝对路径:从服务器内部出发
6.servlet是线程非安全的。线程安全问题只存在多个线程并发操作同一个资源的情况下,所以在编写Servlet的时候,如果并发访问某一个资源(变量,集合等),就会存在线程安全问题。
https://www.cnblogs.com/whgk/p/6399262.html
强势安利!!!