Servlet面试题汇总
1.什么是Servlet?
Servlet是用来处理客户端请求并产生动态网页内容的java类。Servlet主要是用来处理或者是存储HTML表单提交的数据。产生动态内容,在无状态的HTTP协议下管理状态信息
2.Servlet的生命周期
- 实例化:当Tomcat第一次访问Servlet的时候,Tomcat会负责创建Servlet的实例
- 初始化:当Servlet被实例化后,Tomcat会调用init()方法初始化这个对象
- 响应客户请求:当浏览器访问Servlet的时候,Servlet 会调用service()方法处理请求
- 销毁。当Tomcat关闭时或者检测到Servlet要从Tomcat删除的时候会自动调用destroy()方法,让该实例释放掉所占的资源。一个Servlet如果长时间不被使用的话,也会被Tomcat自动销毁
- 卸载。当Servlet调用完destroy()方法后,等待垃圾回收。如果有需要再次使用这个Servlet,会重新调用init()方法进行初始化操作。
注意:
只要访问Servlet,service()就会被调用。init()只有第一次访问Servlet的时候才会被调用。destroy()只有在Tomcat关闭的时候才会被调用。
3.Http请求的get和post方式的区别?
- get方式通过请求行携带数据,参数会显示在地址栏中,因为URL对字符数目有限制,进而限制了用在客户端请求的参数值的数目,并且请求中的参数是可见的。因此敏感信息不能用这种方式,不安全
- post方式通过请求体来携带参数,参数不会显示在地址栏中。因此可以发送数据的数目是没有限制的。最后通过post请求传递的敏感信息对外部客户端是不可见的。安全
4.转发和重定向的区别?
- 转发由服务器进行跳转,显示的是请求的URL,地址栏不会发生变化。浏览器发了1次请求,两个资源之间是同一个request对象,可以共享request对象
- 重定向由浏览器进行跳转,显示的不是请求的URL,而是重定向指向的新的URL,浏览器发了2次请求,两个资源之间不是同一个request对象,不可以共享request对象
5.什么是Cookie?Cookie和Session有什么区别?
Cookie是web服务器发送给浏览器的一块信息,浏览器会在本地文件中给每一个web服务器存储Cookie,以后浏览器再给特定服务器发送请求的时候,同时会发送所有为该服务器存储的Cookie
- Cookie是存储在浏览器中的,只能存储String类型的字符串,存储的数据量比较小。对客户端可见,容易造成信息泄露。客户端可以选择禁用Cookie
- Session是存储在服务器端的,可以存储任何类型的数据,存储的数据量比较大,对客户端是透明的,比较安全,客户端无法禁用服务端的Session
Servlet面试题汇总相关推荐
- Spring 经典面试题汇总.pdf(2020版)
作者 | 静默虚空 来源 | juejin.im/post/5cbda379f265da03ae74c282 1.基础 1.1. 不同版本的 Spring Framework 有哪些主要功能? Ver ...
- Dubbo 面试题汇总(附答案)
作者 | Dean Wang 来源 | deanwang1943.github.io dubbo是什么 dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含: 集群容错:提供基于接口方 ...
- java web试题_Java web开发经典面试题汇总(内附答案详解)
原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...
- Java面试题汇总大杂汇
Socket面试题整理 Socket是什么? socket是应用层与传输层的一个抽象,将复杂的TCP/IP协议隐藏在Socket接口之后,只对应用层暴露简单的接口 socket是一种特殊的文件,它也有 ...
- JAVA高级面试题汇总及答案
JAVA高级面试题汇总及答案 1.hashaMap原理源码 2.synchronize关键字1.6之后的优化,(偏向轻量级锁,重量级锁) 3.双亲委派是什么 4.类加载过程中可以动态改字节码吗? 5. ...
- 运维攻城狮面试题汇总
面试题汇总 什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监 ...
- 《Java面试题汇总》
<面试题汇总>之基础篇 一 Java基础 1 基础知识点 1.1 int和Integer的区别 int是整型,是java8中的基本数据类型之一: Integer是int对应的包装类,有一个 ...
- Java面试题汇总大全(重点)
Java相关的面试题大全 Java相关的面试题汇总 javase:se 1: 语法:syntax 1.1 源文件中类的定义: 1.2 &和&&的区别 1.3 如何结束多层for ...
- Java实习生面试题汇总
Java实习生面试题汇总 简介 本人是二本大三学生,下半年大四.暑假在上海这边找实习工作,面了几家公司,所问到的问题记录在下面. 因为是在校生,没任何实习经历,一般找我面试的都是小公司,一般问的比较简 ...
- java架构师面试题汇总
java架构师是码农们所向往的,成为java架构师以后在薪资水平上也会有很大提升,企业在招聘架构师的时候也会出一些[java面试题]小编就为大家准备了一份java架构师面试题汇总,希望对大家能够有些帮 ...
最新文章
- UVA11584 划分成回文串 Partitioning by Palindromes(线性DP划分+DP判断回文串)
- 为什么自动化对于IT工程师是必须的?
- [翻译]No.9352 SharePoint Pages(1)之SharePoint页面体系架构
- linux 关于减号 - 代替stdin 和stdout 的用法
- 报告分析|2021移动社交行业有哪些新风向?
- 利用AutoHotkey实现Vim和Excel的数据传递
- 如何找到 SAP Spartacus 里某个 Component TypeScript 编译后生成的 JavaScript 位置
- 特殊的forward_list操作
- class unity 定义类_【Unity学习笔记】C#基础-类(Classes)
- Tomcat 日志文件分割
- Niushop开源微信商城+小程序商城源码
- 腾讯云超级播放器实现无直播占位图,有直播播放视频
- ButterWorth滤波器学习(参照博主链接——https://blog.csdn.net/cjsh_123456/article/details/79342300)
- js bind 传参、_Node.js 在微医的应用场景及实践
- 时间加减计算器_考前急救!2019年注册会计师计算器使用技巧,不会你就out了...
- 【原创】从BZOJ2683 简单题中 整 CDQ分治解决三维偏序
- 泰森多边形(Voronoi diagram)
- 基于C#通过PLCSIM ADV仿真软件实现与西门子1500PLC的S7通信方法演示
- 鼠标经过爆炸效果html,jquery鼠标滑过爆炸特效插件
- OSChina 周日乱弹 ——会爬墙的不仅仅是壁虎还有班主任
热门文章
- 安装winrunner和HP QTP
- Windows server 2012 系统安装 密钥
- 学生管理系统(VB)——连接数据库
- cocosbuilder3.0使用小记
- 前端性能优化分析(雅虎军规)
- python怎么输出文件_python如何输出文件内容
- 荣耀路由2 虚拟服务器,荣耀路由器2恢复出厂设置的两种方法
- java gbk转机内码_\xd5\xd2\xb2\xbb\xb5\xbd\xd6 gbk内码转中文方法
- 微型计算机控制系统一般结构框图,微型计算机控制系统的组成-精品文档.ppt
- Python 正则表达式大全,值得收藏