一:Servlet入门案例
1,创建一个WEB项目
2,创建一个类继承GenericServlet类
3,在web.xml配置Servlet
二:Servlet执行过程
三:Servlet关系视图
四:Servlet实现方式(三种)
1,实现Servlet接口
2,继承GenericServlet抽象类,必须重写service方法
3,继承HttpServlet抽象类,需要重写doGet和doPost方法
五:Servlet生命周期
1,对象创建到销毁的过程
2,Servlet对象只会创建一次,销毁一次(单例)
六:Servlet线程安全问题
1,结论:一个浏览器代表一个线程,多个浏览器代表多个线程,即Servlet代是线程不安全
2,解决:将成员变量写成局部变量;锁对象
七:Servlet映射方式
1,具体名称的方式。访问的路劲必须和映射配置完全相同
2,/开头+通配符的方式。只要符合目录结构即可
3,通配符+固定格式结尾的方式。只要符合固定结尾格式即可
八:Servlet多映射关系
九:Servlet的创建时机
1,第一次访问时创建:
- 优势:减少对服务器内存的浪费。提高了服务器启动的效率
- 弊端:如果有一些要在应用加载的就做的初始化操作,无法完成
2,服务器加载时创建
- 优势:提前创建好对象,提高了首次执行的效率。可以完成一些应用加载时要做的初始化操作
- 弊端:对服务器内存占用比较多,影响了服务器启动效率
3,修改Servlet创建时机
<servlet>
<servlet-name>servletDemo4</servlet-name>
<servlet-class>com.hanjie.servlet.ServletDemo4</servlet-class>
<load-on-startup>1</load-on-startup>//服务器加载时就创建对象
</servlet>