Servlet的学习

初识Servlet

概念:运行在服务器端的小程序
注意:Servlet就是一个接口,定义了java类被浏览器访问(Tomcat识别)的规则。将来我们自定义一个类,要实现Servlet接口,重写里面的方法。
快速入门:快速认识Servlet,从以下几个方面开始
1:创建一个javaEE项目
2:定义一个类,实现Servlet接口
3:实现接口中的抽象方法
4:配置Servlet
前面三个很好理解,这里说一下配置Servlet,,下面这张图就简单说一下Tomcat是怎么从URL地址可以访问到这里,通过ip地址/端口号/项目部署名/访问的服务路径可以找到下面1这里,它就是一个url-pattern,然后就可以访问到2,然后可以映射到3,最后可以访问到serlet-class。
在这里插入图片描述
注意:这是配置的一种方式,还有一种方式就是在这里插入图片描述
像这种,注意一定不能把 / 漏掉,否则启动Tomcat会报错的。
在这里插入图片描述
在这里插入图片描述
这就是执行原理,当服务器接受到客户端浏览器的请求后,会解析请求的URL路径,获取访问Servlet的资源路径
这就是查找的方式了。
Servlet的生命周期
这三个方法决定了它的生命周期,
(1):init()方法
这个方法只执行一次,
(2):service()方法
可以执行多次
(3):destory()方法
只执行一次
这三个方法都是实例方法,那么什么时候进行初始化呢,这里面有一个loadOnStartup(),默认是-1,意思就是在http请求映射到该Servlet时候,如果没有初始化,虚拟机里面的类加载器会将这个类的字节码文件通过双亲委派机制加载进虚拟机形成字节码文件对象,有了这个对象,通过反射,生成一个Servlet实例化对象,如果将loadOnStartup()设置为大于等于0的话,就在Tomcat启动的时候才进行初始化。
初始化=实例化+调用init();

Http请求数据传输流程
(1):浏览器将url请求的数据内容包装为http协议的数据报
(2):接下来就是进行一层一层的封装往传输层,网络层一直往下传
(3):然后发送到了对应的主机,进行分用,基于数据链路层,网络层,传输层在系统中进行分用解析,最后把http协议的数据报发送到对应的端口,这里指的是Tomcat应用程序
(4):Tomcat解析http协议的数据,返回http协议的响应内容
(5):浏览器解析响应数据报,根据content-Type进行处理。

这里说一下session和cookie参考百度百科的,认为还是说的很好的
1、数据存放位置不同:

cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、安全程度不同:

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

3、性能使用程度不同:

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。

4、数据存储大小不同:

单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储与服务端,浏览器对其没有限制。

5、会话机制不同

session会话机制:session会话机制是一种服务器端机制,它使用类似于哈希表(可能还有哈希表)的结构来保存信息。

cookies会话机制:cookie是服务器存储在本地计算机上的小块文本,并随每个请求发送到同一服务器。 Web服务器使用HTTP标头将cookie发送到客户端。在客户端终端,浏览器解析cookie并将其保存为本地文件,该文件自动将来自同一服务器的任何请求绑定到这些cookie。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值