- 概念 server applet
- 快速入门
- Servlet执行原理
- Servlet的生命周期
- Servlet_3.0注解配置
- IDEA与tomcat的相关配置
- Servlet 的体系结构
- Servlet相关配置(注解)
运行在服务器端的小程序
- Servlet 就是一个接口,定义了一个Java类被浏览器访问到(tomcat识别)的规则。
- 写一个Java类实现Servlet接口,复写方法.
- 创建一个javaee项目
- 定义一个Java类实现Servlet方法
- 实现接口中的抽象方法
- 配置Servlet
在web.xml中配置
Servlet执行原理Servlet1 Servlet_1 Servlet1 /myServlet1
- 当服务器接受到浏览器请求时,会解析请求的URL路径,获取访问的Servlet的资源路径。
- 查找web.xml文件,是否有对应的< url-pattern>标签体内容;
- 如果有,则找到对应的< servlet-class>全类名
- tomcat会将字节码文件加载进内存(class,forName())
- 创建对象 cls.newInstance()
- 调用方法
-
被创建:init方法,只执行一次
默认情况下,第一次访问服务器时,Servlet被创建。
可以在配置文件中修改Servlet创建的时机。
在< Servlet>标签下配置:
第一次被访问时,创建:< load-on-startup>的值为负数
在服务器启动时,创建:< load-on-startup>的值为负数
init方法制备执行1次,说明Servlet在内存中只存在一个对象,Servlet是单例的。多个用户同时访问时,可能存在线程安全问题。
解决方法:尽量不要在Servlet中定义成员变量,即使定义了成员变量,也不要修改值。尽量设为局部变量。 -
提供服务:service方法,可执行多次。每次访问Servlet时,service都会执行一遍。
-
被销毁:Destory方法,只执行一次(在服务器正常关闭时)。
服务器关闭时,Servlet被销毁。destory在Servlet被销毁之前执行。 -
(了解)获取Servlet配置对象,getServletConfig对象
-
(了解)获取Servlet的一些信息,版本,作者…getServletInfo
不需要web.xml了
- 创建JacaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml
- 定义一个类,实现Servlet方法
- 复写方法
- 在类上使用@webServlet注解,进行配置(@webServlet/资源路径)
- IDEA会为每一个tomcat部署的项目简历一份配置文件(查看控制台的log:Using CATALINA_base:" ")
- 工作空间项目与tomcat部署项目(tomcat真正访问的是“tomcat部署项目”,“tomcat部署项目”对应着“工作空间项目”的web目录下的所有资源。WEB-INF目录下的资源不能被浏览器直接访问)
- 断点调试:使用“小虫子”启动,debug启动。
- Servlet接口
- GenericServlet抽象类(将Servlet接口中的其它方法做了默认空实现,支队service()做抽象,继承它时,只用实现service())
- HttpServlet:对http协议的一种封装,简化操作(复写doGet() doPost())
urlpatten:Servlet访问路径
- 一个Servlet可以定义多个访问路径(用{“”,“”,“”}括起来)
- 路径定义规则:(/xxx )(/xxx/xxx多层路径,目录结构)(*.do自定义后缀名,不能加/)



