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面试题汇总相关推荐

  1. Spring 经典面试题汇总.pdf(2020版)

    作者 | 静默虚空 来源 | juejin.im/post/5cbda379f265da03ae74c282 1.基础 1.1. 不同版本的 Spring Framework 有哪些主要功能? Ver ...

  2. Dubbo 面试题汇总(附答案)

    作者 | Dean Wang 来源 | deanwang1943.github.io dubbo是什么 dubbo是一个分布式框架,远程服务调用的分布式框架,其核心部分包含: 集群容错:提供基于接口方 ...

  3. java web试题_Java web开发经典面试题汇总(内附答案详解)

    原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...

  4. Java面试题汇总大杂汇

    Socket面试题整理 Socket是什么? socket是应用层与传输层的一个抽象,将复杂的TCP/IP协议隐藏在Socket接口之后,只对应用层暴露简单的接口 socket是一种特殊的文件,它也有 ...

  5. JAVA高级面试题汇总及答案

    JAVA高级面试题汇总及答案 1.hashaMap原理源码 2.synchronize关键字1.6之后的优化,(偏向轻量级锁,重量级锁) 3.双亲委派是什么 4.类加载过程中可以动态改字节码吗? 5. ...

  6. 运维攻城狮面试题汇总

    面试题汇总 什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监 ...

  7. 《Java面试题汇总》

    <面试题汇总>之基础篇 一 Java基础 1 基础知识点 1.1 int和Integer的区别 int是整型,是java8中的基本数据类型之一: Integer是int对应的包装类,有一个 ...

  8. Java面试题汇总大全(重点)

    Java相关的面试题大全 Java相关的面试题汇总 javase:se 1: 语法:syntax 1.1 源文件中类的定义: 1.2 &和&&的区别 1.3 如何结束多层for ...

  9. Java实习生面试题汇总

    Java实习生面试题汇总 简介 本人是二本大三学生,下半年大四.暑假在上海这边找实习工作,面了几家公司,所问到的问题记录在下面. 因为是在校生,没任何实习经历,一般找我面试的都是小公司,一般问的比较简 ...

  10. java架构师面试题汇总

    java架构师是码农们所向往的,成为java架构师以后在薪资水平上也会有很大提升,企业在招聘架构师的时候也会出一些[java面试题]小编就为大家准备了一份java架构师面试题汇总,希望对大家能够有些帮 ...

最新文章

  1. UVA11584 划分成回文串 Partitioning by Palindromes(线性DP划分+DP判断回文串)
  2. 为什么自动化对于IT工程师是必须的?
  3. [翻译]No.9352 SharePoint Pages(1)之SharePoint页面体系架构
  4. linux 关于减号 - 代替stdin 和stdout 的用法
  5. 报告分析|2021移动社交行业有哪些新风向?
  6. 利用AutoHotkey实现Vim和Excel的数据传递
  7. 如何找到 SAP Spartacus 里某个 Component TypeScript 编译后生成的 JavaScript 位置
  8. 特殊的forward_list操作
  9. class unity 定义类_【Unity学习笔记】C#基础-类(Classes)
  10. Tomcat 日志文件分割
  11. Niushop开源微信商城+小程序商城源码
  12. 腾讯云超级播放器实现无直播占位图,有直播播放视频
  13. ButterWorth滤波器学习(参照博主链接——https://blog.csdn.net/cjsh_123456/article/details/79342300)
  14. js bind 传参、_Node.js 在微医的应用场景及实践
  15. 时间加减计算器_考前急救!2019年注册会计师计算器使用技巧,不会你就out了...
  16. 【原创】从BZOJ2683 简单题中 整 CDQ分治解决三维偏序
  17. 泰森多边形(Voronoi diagram)
  18. 基于C#通过PLCSIM ADV仿真软件实现与西门子1500PLC的S7通信方法演示
  19. 鼠标经过爆炸效果html,jquery鼠标滑过爆炸特效插件
  20. OSChina 周日乱弹 ——会爬墙的不仅仅是壁虎还有班主任

热门文章

  1. 安装winrunner和HP QTP
  2. Windows server 2012 系统安装 密钥
  3. 学生管理系统(VB)——连接数据库
  4. cocosbuilder3.0使用小记
  5. 前端性能优化分析(雅虎军规)
  6. python怎么输出文件_python如何输出文件内容
  7. 荣耀路由2 虚拟服务器,荣耀路由器2恢复出厂设置的两种方法
  8. java gbk转机内码_\xd5\xd2\xb2\xbb\xb5\xbd\xd6 gbk内码转中文方法
  9. 微型计算机控制系统一般结构框图,微型计算机控制系统的组成-精品文档.ppt
  10. Python 正则表达式大全,值得收藏