Servlet:
1. 概念
2. 步骤
3. 执行原理
4. 生命周期
*默认第一次访问的时候创建Servlet对象,执行init方法,每次请求过来之后执行Service方法,在service方法内部,根据请求方式的不同调用了不同的doXXX方法,当服务器关闭或者项目被移除了就销毁Servlet对象,执行destroy方法,初始化和销毁方法都只执行一次;Servlet是单例,也就是说在Servlet整个生命周期中,Servlet对象有且仅有一个。
5. Servlet3.0 注解配置
配置启动时创建Servlet对象:
loadOnStartup:给一个正整数
程序优化的思想:需要去加载一些资源:加载配置文件,解析配置文件,数据的初始化操作:耗时的操作(一次性的操作)
*将一次性的耗时的资源初始化操作放到服务器启动的时候来做(比如:spring框架配置文件的加载)
6. Servlet的体系结构
Servlet -- 接口
|
GenericServlet -- 抽象类(与协议无关的Servlet)(以后可能会用其他协议,可以继续用此抽象类)
|
HttpServlet -- 抽象类
* GenericServlet:将Servlet接口中其他的方法做了默认空实现,只将service()方法作为抽象
* 将来定义Servlet类时,可以继承GenericServlet,实现service()方法即可
* HttpServlet:对http协议的一种封装,简化操作
+ 简化的操作:
//判断请求方式
string method=req.getMethod();
if("GET".equals(method)){
//get方式获取数据
doGet();//service方法里调用doGet方法
} else if(){
//post方式获取数据
doPost();//service方法里调用doPost方法
}
1. 定义类继承HttpServlet
2. 复写doGet/doPost方法
+3. 配置资源路径@WebServlet("资源路径")
7. Servlet相关配置
1. urlpartten:Servlet访问路径
1. 一个Servlet可以定义多个访问路径 : @WebServlet({"/d4","/dd4","/ddd4"})
2. 路径定义规则:
1. /xxx:路径匹配
2. /xxx/xxx:多层路径,目录结构
3. *.do:扩展名匹配
+:完全路径匹配(以/开头):/aa,/aa/dsdas
目录匹配(以/开头,*结尾):/aa/*
*.do,*.action(开头不写/):asdasd.do,aaaa.action |
|