面试题-7Servlet

get和post有何区别?

get参数传递通过url,post放在resquest body中 get请求参数有长度限制,post没有
get不安全,因为参数暴露在url中。post安全,参数是隐藏的 get请求只能进行url编码。post支持多种编码
get请求参数会被完整保留在浏览历史记录,而post不会被保留。 get产生一个tcp数据包;post产生两个tcp数据包。
get和post本质就是tcp链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。

Servlet 生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: Servlet 初始化后调用 init
() 方法。 Servlet 调用 service() 方法来处理客户端的请求。 Servlet 销毁前调用 destroy() 方法。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

Servlet有什么优点?

可移植性好 Servlet是用Java语言编写的,因此它可以移植到不同的操作系统和服务器上。 安全性好
Servlet也具有类型检查特征,并利用Java的垃圾收集和没有指针的设计,使得Servlet避免了内存管理等问题。 高效性
Servlet加载执行后会常驻服务器内存中,当再次受到客户端的请求时,服务器会产生新的线程而不是进程为客户端服务,这样就提高了响应速度。

Servlet的生命周期

当客户端第一次请求Servlet时,Servlet被加载到内存中,容器会创建Servlet实例,并调用其init()方法进行初始化工作。
容器创建请求对象和响应对象,然后调用Servlet的service()方法为客户端提供服务。
当Servlet不再被需要时,容器调用Servlet的destory()方法将Servlet实例销毁。 注:
当客户端请求的Servlet已经存在于服务器内存时,容器会创建新的线程调用service()方法响应客户端请求。在Servlet的整个生命周期中,init()方法和destory()方法只会被调用一次。

Filter

它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理。使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应进行后处理。

Listenner

用于监听Web应用的内部事件的实现类。可以监听用户session的开始与结束,用户请求的到达等等,当事件发生时,会回调监听器的内部方法
使用Listener步骤
1.通过实现具体接口创建实现类(可实现多个监听器接口)
2. 配置实现类成为监听器,有两种配置方式: 直接用@WebListener注解修饰实现类 通过web.xml方式配置,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyf_fly66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值