Servlet面试问题

Q1。什么是servlet?

  • Java Servlet是服务器端技术,通过提供对动态响应和数据持久性的支持来扩展Web服务器的功能。
  • javax.servlet和javax.servlet.http包提供用于编写我们自己的servlet的接口和类。
  • 所有servlet必须实现javax.servlet.Servlet接口,该接口定义了servlet生命周期方法。在实现通用服务时,我们可以扩展Java Servlet API随附的GenericServlet类。HttpServlet类提供用于处理特定于HTTP的服务的方法,例如doGet()和doPost()。
  • 大多数时候,使用HTTP协议访问Web应用程序,这就是为什么我们主要扩展HttpServlet类的原因。Servlet API层次结构如下图所示。

Q2。Get和Post方法之间有什么区别?

Get Post
可以发送的数据量有限,因为数据是在标头中发送的。 因为数据是在体内发送的,所以可以发送大量数据。
不安全,因为数据显示在URL栏中。 由于数据未显示在URL栏中而被保护。
可以收藏 无法收藏
幂等 非等幂的
比Post更有效和使用 它效率较低且使用过

Q3。什么是请求分派器?

RequestDispatcher接口用于将请求转发到另一个资源,该资源可以是HTML,JSP或同一应用程序中的另一个servlet。我们还可以使用它来将另一个资源的内容包括到响应中。

此接口中定义了两种方法:

1.void forward()

2.void include()

Q4。forward()方法和sendRedirect()方法之间有什么区别?

forward()方法 SendRedirect()方法
forward()将相同的请求发送到另一个资源。 sendRedirect()方法始终发送新请求,因为它使用浏览器的URL栏。
forward()方法在服务器端起作用。 sendRedirect()方法在客户端起作用。
forward()方法仅在服务器内起作用。 sendRedirect()方法可在服务器内部和外部使用。

Q5。Servlet的生命周期是什么?

Servlet的生命周期包括五个阶段:

  1. Servlet已加载
  2. Servlet实例化
  3. Servlet已初始化
  4. 服务请求
  5. Servlet被销毁

Q6。Cookies在Servlet中如何工作?

  • Cookies是服务器发送到客户端的文本数据,并保存在客户端本地计算机上。
  • Servlet API通过实现Serializable和Cloneable接口的javax.servlet.http.Cookie类提供cookie支持。
  • 提供HttpServletRequest getCookies()方法可从请求中获取Cookie数组,因为没有必要在请求中添加Cookie,所以没有方法可以设置或向请求添加Cookie。
  • 类似地,提供了HttpServletResponse addCookie(Cookie c)方法来在响应头中附加cookie,没有用于cookie的getter方法。

Q7。ServletContext与ServletConfig有什么区别?

Servlet JSP中的ServletContext和ServletConfig之间的区别在于以下表格格式。

ServletConfig ServletContext
Servlet配置对象代表单个Servlet 它代表了在特定JVM上运行且对所有servlet通用的整个Web应用程序
与特定servlet相关的类似本地参数 与整个应用程序关联的类似全局参数
这是在web.xml文件的servlet部分内定义的名称值对,因此它具有servlet范围 ServletContext具有广泛的应用范围,因此请在web.xml文件的servlet标记之外定义。
getServletConfig()方法用于获取配置对象 getServletContext()方法用于获取上下文对象。
例如用户的购物车是特定于特定用户的,因此在这里我们可以使用servlet config 为了获得文件或应用程序会话的MIME类型,使用servlet上下文对象存储相关信息。

Q8。Servlet中的会话管理有哪些不同的方法?

会话是客户端和服务器之间的会话状态,它可以包含客户端和服务器之间的多个请求和响应。由于HTTP和Web Server都是无状态的,因此维护会话的唯一方法是在每次请求和响应中在服务器和客户端之间传递有关会话的某些唯一信息(会话ID)时。

Servlet中会话管理的一些常见方式是:

  1. 用户认证
  2. HTML隐藏字段
  3. Cookies
  4. URL重写
  5. 会话管理API

欢迎关注 Java架构师社区公众号.

本文转载自Java架构师必看 ,更多内容点击查看!

【3】Java面试-Servlet的更多相关文章

  1. Java面试题精选(三) JSP/Servlet Java面试逻辑题

    --   JSP/Servlet  Java面试逻辑题   --     很显然,Servlet/JSP的WEB前端动态制作的重要性比HTML/CSS/JS的价值高很多,但我们都知道他们都是建立在HT ...

  2. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  3. java面试宝典(蓝桥学院)

    Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...

  4. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...

  5. java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  6. 近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  7. java 面试

        115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...

  8. JAVA面试精选

    JAVA面试精选[Java基础第一部分] 这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对 ...

  9. Java面试指导

    Java面试指导   想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊 ...

随机推荐

  1. 三层架构的一点理解以及Dapper一对多查询

    1.首先说一下自己对三层架构的一点理解 论坛里经常说会出现喜欢面相对象的写法,所以使用EF的,我个人觉得他俩没啥关系,先别反对,先听听我怎么说吧. 三层架构,基本都快说烂了,但今天还是说三层架构:UI ...

  2. Agumaster 改善了pagination

    页面越来越完善了.

  3. [Python]在当前目录下创建三个目录

    import os os.mkdir("2018-03-16-b018") os.mkdir("2019-03-16-b019") os.mkdir(" ...

  4. 执行Python程序出现“SyntaxError: Non-UTF-8 code starting with '\xb6'...”错误怎么办?

    如果文件中有中文,直接执行python xx.py会出现以下错误: SyntaxError: Non-UTF- code starting with '\xb6' in file XX.py on l ...

  5. 现象:当指定logback的FileNamePattern为日期2020-01-15后,如果有线程不断的往里写log,过了零点文件不会变成下一日2020-01-16,还是会在2020-01-15里继续写 结论:写log的线程不停,文件不会按日子更换。

    logback版本:1.1.11 这个是我实验验证的,昨天我配置了一个logback,然后用两个线程不断往里写log,结果发现到了今天2020-01-16日,log文件还是昨天的logbackCfg. ...

  6. 没事也来配一个logback

    工程下载:https://files.cnblogs.com/files/xiandedanteng/logbackCfg20200115.zip 首先创建一个maven项目,pom.xml如下书写: ...

  7. leetcode题目,个人见解1

    给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 1: 输入 ...

  8. Python爬虫学习第一记 (翻译小助手)

    1 # Python爬虫学习第一记 8.24 (代码有点小,请放大看吧) 2 3 #实现有道翻译,模块一: $fanyi.py 4 5 import urllib.request 6 import u ...

  9. 开始使用 TypeScript 和 React

    原文地址:Getting started with TypeScript and React 原文作者:Jack_Franklin 译者:luxj 校对者:veizz Tom Dale 和其他人有一些 ...

  10. WIN10自动修复失败无限循环

    网上解决方案大部分都是要重置电脑或者进pe修复系统,手头没有启动盘又不想重置电脑的可以照下边的操作试一试 1.先暂时禁用自动修复功能cmd管理员(winre可以进cmd)执行bcdedit bcded ...