一、Overview
运行在服务器的小程序。
- Servlet 就是一个接口,定义了Java类被浏览器(tomcat识别)访问到的规则。
- 将来我们自定义一个类,实现Servlet接口,复写方法。
二、Priciple

- 1.当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问Servlet的资源路径
- 2.查找web.xml文件,是否有对应的标签体内容
- 3.如果有,则在找到对应的标签体内容
- 4.tomcat会将字节码文件加载进内存,并且创建其对象
- 5.调用其方法
三、LifeCycle
1.被创建
执行init方法,只执行一次。以下特点:
| No. | 特性 | 备注 |
|---|---|---|
| 1 | 默认情况,第一次被访问时,Servelt对象被创建 | 在标签下配置 1.第一次被访问时,创建的值为负数 2.在服务器启动时,创建为0或正数 |
| 2 | Servlet的init方法,只执行一次,说明Servlet是单例 | 1.多个用户同时访问时,可能存在线程安全问题 2.解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对其赋值 |
2.提供服务
每当有请求时Servlet被调用,会执行service方法。
3.被销毁
在服务器正常关闭时执行,只会执行一次。以下特点:
- 只有服务器正常关闭,才会执行destroy方法
- destroy方法在Servlet被销毁之前执行,一般用于释放资源
- init 在Servlet被创建时执行,只会执行一次
- getServletConfig
- service 每当有请求时Servlet被调用,会执行service方法
- destroy 在服务器正常关闭时执行,只会执行一次
四、Key Topics
4.1 Anno
Servlet API 3.0支持注解配置。可以不需要web.xml了。
注解配置的步骤如下:
- 创建JavaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml.
- 定义个类,实现Servlet接口
- 复写方法
- 在类上使用@WebServlet注解,尽心配置
4.2 Tomcat
主要讲IDEA与tomcat的相关配置。
1.IDEA会为每一个tomcat部署的项目单独建立一份配置文件。
查看控制台的log:Using CATALINA_BASE: “C:\Users\tmp.IntelliJIdea2018.1\system\tomcat_itdemo”
2.工作空间项目 和 tomcat部署的web项目 是两个位置
- tomcat真正访问的是"tomcat部署的web项目","tomcat部署的web项目"对应着“工作空间项目”的web目录下的所有资源。
- WEB-INF目录下的资源不能被浏览器直接访问,放在web目录下可访问
4.3 体系结构
1.软件架构
- C/S: 客户端/服务器端
- B/S: 浏览器/服务器端
2.资源分类
- 静态资源: 所有用户访问后,得到的结果都是一样的,称为静态资源
- 如: html,css, javascript
- 动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源
- 如: servlet/jsp,php,asp…
- 网络通信三要素
- IP : 电子设备(计算机)在网络中的唯一表示
- 端口 :应用程序在计算机的唯一标识。
0~65535 - 传输协议 : 规定了数据传输的规则
- 基础协议:
- TCP: 安全协议,三次握手。速度稍慢
- UDP:不安全协议。速度快
- 基础协议:
4.4 Servlet配置
urlpatten
servlet的访问路径,可以配置多个访问路径:@WebServlet({“/d4”,“/dd4”,“/ddd4”})。
路径定义规则:
/xxx/xxx/xxx多层路径,目录结构*.do通配符,可以匹配任意后缀名
487

被折叠的 条评论
为什么被折叠?



