首页 > 其他分享 >Servlet面试题合集

Servlet面试题合集

时间:2022-11-29 21:23:37浏览次数:37  
标签:web 面试题 请求 对象 Servlet 转发 服务器 合集 客户端

servlet的生命周期

  1. 在创建servlet对象时,通过调用.init()方法进行初始化
  2. 通过service()方法来接收客户端的请求.根据请求方式的不同转发给对应的doGet()或doPost()方法
  3. 停止服务时,通过调用destory()方法销毁servlet对象
  4. servlet对象被JVM垃圾回收器回收

servlet对象是单例的

请求转发与重定向的区别

1)转发使用的是req.getRequestDispatcher()方法;重定向使用的是res.sendRedirect();
2)转发︰浏览器URL的地址栏不变;重定向:浏览器URL的地址栏改变;
3)转发是服务器行为,重定向是客户端行为;
4)转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求;
5)转发两次跳转之间传输的信息不会丢失,重定向两次跳转之间传输的信息会丢失(request范围)。

1 请求转发之后不能创建响应类的输出流
2 请求转发之后不能重定向

请求转发和重定向不能同时用
请求转发或者重定向后面,不能再写新的代码
要访问jsp页面必须通过servlet请求转发到页面

如何设置session失效

客户端和服务端如果不断开连接 Session有一个方法可以设置session失效的时间
客户端和服务端断开连接,session将会失效

getSession()方法
getSession()会在请求范围内查找是否存在session对象,如果存在则返回该对象;否则创建一个新的session对象

session与cookie的区别

  1. 存储位置不同
    Cookie的数据信息存放在客户端浏览器上。
    Session的数据信息存放在服务器内存中。
  2. 存储容量不同
    单个Cookie保存的数据≤4KB,一个站点最多保存20个Cookie。
  3. 存取方式不同
  4. 隐私策略不同
  5. 有效期不同
  6. 服务器压力不同
  7. 浏览器支持不同
    (有些浏览器会禁用Cookie,造成数据丢失)
  8. 跨域支持上的不同
    Cookie 支持跨域名访问

Filter过滤器和listener监听器的区别

filter: 过滤器,用于拦截请求或者响应对象。filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改到某―资源的响应。
过滤非登录请求
listener:监听器,用于监听web对象的创建和销毁。从字面上可以看出 listener主要用来监听。通过 listener 可以监听web 服务器中某一个执行动作,并根据其要求作出相应的响应。通俗的语言说就是在application,session,request三个对象创建或者消亡时,自动执行相应的监听方法。

WEB-INF目录

WEB-INF是Java的 WEB应用的安全目录,特点是客户端无法访问

ServletContext接口

Servletcontext官方叫servlet 上下文。
定义:
web容器在启动时,服务器tomcat 会为每一个工程创建一个对象,这个对象就是ServletContext对象,它代表当前 web应用程序。这个对象全局唯一,而且工程内部的所有servlet 都共享这个对象,所以也叫全局 应用程序 共享对象。
由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过servletcontext对象来实现通讯。因此,servletContext对象通常也被称之为context域对象。

ServletContext的应用:

1.做为域对象可以在整个web应用范围内共享数据。
域对象:在一个可以被看见的范围内共享数据用的对象
作用范围:整个web应用范围内共享数据
生命周期:当服务器启动web应用加载后创建出 ServletContext对象后,域对象产生。
当web应用被移除出容器或服务器关闭,随着web应用的销毁,域对象销毁。
2. 获取 web应用的初始化参数
使用标签(与Servlet标签并列)为整个web应用配置属性,ServeltContext对象通过getInitParameter()方法获得全局初始化参数:

ServletContext对象是在 Web 应用程序装载时初始化的。
ServletContext实例是通过getServletContext()方法获得的
ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。

GET与POST 请求方式的区别:

1 GET请求业务参数以键值对的形式拼接在URL后面;
POST请求业务参数存放在HTTP头信息中;

2 GET请求URL长度是受限制的,URL的最大长度是1024个字符,即2KB;
POST请求理论上数据长度无限制,但是数据受web服务器限制;

3 GET请求安全性较差,因为参数是URL的一部分,对用户可见;
POST请求相对更安全.因为参数不会被保存在浏览器历史或web服务器日志中

4 GET请求只允许ASCII字符;POST请求没有限制。也允许二进制数据.所以提交多媒体文件用POST方式提交。

HTTP状态码列表(重要的几个)

状态码 状态码英文名称 中文描述
200 OK 请求成功。一般用于GET与POST请求
400 Bad Request 客户端请求的语法错误,服务器无法理解404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405 Method Not Allowed 客户端请求中的方法(GET/POST)被禁止
500 Internal Server Error 服务器内部错误,无法完成请求
502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应

标签:web,面试题,请求,对象,Servlet,转发,服务器,合集,客户端
From: https://www.cnblogs.com/xiaoto9426/p/16936753.html

相关文章

  • Python后端开发(主Django)面试题
    最近两个后端同事离职了,帮忙面试了些后端开发的实习生,虽然有过一些后端经验,但我不是主要写后端的,复习了下Django也稍微准备了一些主要是Django相关的面试题,数据库相关部分额......
  • 100道经典AI面试题帮你搞定算法offer!
    今天给大家分享一下关于机器学习与深度学习经典的100个面试题,供大家学习,对于面试AI算法岗一定会有帮助的。我的公众号"阿旭算法与机器学习",回复【AI面试题】,即可获取。......
  • 我的Gulp入门合集
        说来也惭愧,断断续续学习到不少网页开发的技术(这里我还不敢将自己所学的东西称之为前端,可能还不够称为前端),可却很少去自动接触前端自动化构建的工具。(当然,这也......
  • JAVA面试题--Dubbo
    Dubbo1.Dubbo是什么?2.为什么要用Dubbo?3.Dubbo和Dubbox有什么区别?4.dubbo都支持什么协议,推荐用哪种?5.Dubbo需要Web容器吗?6.Dubbo内置了哪几种服务容器?7.Dubbo......
  • JAVA面试题--Java高并发
    Java高并发1.什么是进程2.什么是线程3.进程间如何通讯4.线程间如何通讯5.同步和异步有何不同,在什么情况下分别使用它们?举例说明6.进程调度算法7.Java中Unsafe类详......
  • JAVA面试题--Java基础
    Java基础1.说下面向对象四大特性2.Java语言有哪些特点3.什么是Java程序的主类?应用程序和小程序的主类有何不同?4.访问修饰符public,private,protected,以及不写(默认)时......
  • JAVA面试题--Java虚拟机
    Java虚拟机1.说一下JVM的内存结构?2.栈帧里面包含哪些东西?3.程序计数器有什么作用?4.字符串常量存放在哪个区域?5.你熟悉哪些垃圾收集算法?6.Java里有哪些引用类型?7.JV......
  • JAVA面试题--Java集合
    Java集合1.常见的集合有哪些?2.常见的集合底层实现3.HashMap与HashTable的区别?4.ConcurrentHashMap和Hashtable的区别?5.ConcurrentHashMap实现原理6.ArrayList和Ve......
  • JS基础笔记合集(1-3)
    JavaScript合集1.JS入门基础2.JS数据类型3.JS运算符4.JS流程控制5.JS对象6.JS函数7.JS面向对象8.JS数组9.JS内置对象我追求理解,以理解为主,开心的学习Ja......
  • 我要涨知识——TypeScript 常见面试题(二)
    又是一个年底来了,好大一批人可能又准备跑路了,最近回家待产,翻了翻掘金和CSDN发现好多大佬都有大厂Offer,看着看着我心动了!话不多说,赶紧开干,给自己整了一个前端面试小助......