目录
2、Servlet实现的方法有哪些,和声明周期的相关的方法是哪些?
1、Session和Cookie的机制和区别?
存储位置:cookie数据保存在客户端,session数据保存在服务端。
安全性:由于Cookie存储在用户的计算机上,因此可能存在安全风险,例如被篡改或窃取。相比之下,Session存储在服务器上,因此更安全。
数据大小:由于Cookie存储在用户的计算机上,因此其数据大小有限制,一般不超过4KB。而Session没有数据大小的限制。
生命周期:Cookie有一定的生命周期,一旦超过设定的生命周期,它将被删除。而Session的生命周期与浏览器会话生命周期相同,即用户关闭浏览器时Session将被删除。
2、Servlet实现的方法有哪些,和声明周期的相关的方法是哪些?
Servlet 的三种实现方案:
实现 javax.servlet.Servlet 接口:直接实现该接口,需重写所有生命周期方法。
继承 javax.servlet.GenericServlet 抽象类:提供通用的非 HTTP 协议无关的实现,只需关注核心逻辑。
继承 javax.servlet.http.HttpServlet 类(最常用):专为 HTTP 协议设计,自动分发 GET、POST 等请求到对应的 doGet()、doPost() 等方法。
Servlet 的生命周期包含三个阶段:初始化 → 请求处理 → 销毁,分别对应以下方法:
初始化阶段 ------ init() 方法
请求处理阶段 ------ service() 方法
销毁阶段 ------ destroy() 方法
3、HTTP协议请求和响应的报文格式?
HTTP请求报文:包括请求行、请求头部、空行、请求体。
HTTP响应报文:包括状态行、响应头部、空行、响应体。
请求头携带客户端元数据(如用户代理、认证、内容类型)。
响应头提供服务器信息(如数据格式、缓存控制、服务器标识)。
4、Http协议GET和POST区别?
浏览器和表单默认的提交方式是GET,get请求效率比POST高。
GET请求参数在URL中,POST请求参数在请求体中。
POST比GET更加安全
5、HTTP协议常见的响应状态码和含义?
1xx:信息性(临时响应,很少见)
100 Continue:客户端可继续发送请求体。
2xx:成功
200 OK:请求成功(GET/POST 等正常返回)。
201 Created:资源创建成功(常用于 POST 成功后)。
204 No Content:请求成功,但无返回内容(如 DELETE 成功)。
3xx:重定向
301 Moved Permanently:永久重定向(SEO 友好,会更新书签)。
302 Found(或 307 Temporary Redirect):临时重定向。
304 Not Modified:资源未修改,可使用缓存(配合 If-Modified-Since 使用)。
4xx:客户端错误
400 Bad Request:请求格式错误(如 JSON 格式不对)。
401 Unauthorized:未认证(缺少或无效 Token / 登录凭证)。
403 Forbidden:已认证但无权限访问。
404 Not Found:请求的资源不存在。
405 Method Not Allowed:请求方法不被允许(如对只读接口发 POST)。
5xx:服务器错误
500 Internal Server Error:服务器内部错误(通用错误)。
502 Bad Gateway:网关/代理收到无效响应(如 Nginx → 应用宕机)。
503 Service Unavailable:服务暂时不可用(如维护、过载)。
504 Gateway Timeout:网关超时(上游服务器没及时响应)。
6、转发和重定向的区别?
转发是内部的,重定向是外部的,转发是服务器内部跳转,数据不会丢失,浏览器只提交了一次请求,重定向是想客户端二次跳转,数据会丢失。
重定向浏览器地址栏中URL会发生改变,变成新的请求地址;转发浏览器地址栏中URL不会改变
重定向:当需要跳转到一个外部资源或者希望用户看到新的URL地址时使用,例如用户登录成功后跳转到网站首页,且首页地址可能会被搜索引擎收录,此时适合用重定向。
用于处理表单提交后防止用户重复提交,通过重定向到一个结果页面,用户刷新结果页面不会重新提交表单数据。
转发:用于服务器内部资源的整合和处理,例如一个Servlet处理用户请求后,根据不同的业务逻辑转发到不同的JSP页面进行展示,这些页面共享部分数据,适合用转发。
7、什么是AJAX,主要有什么作用?
AJAX是一种用于创建快速动态网页的技术。通过后台服务器进行少量的交换,AJAX可以使用网页实现异步更新。意味着不需要重新加载网页,对网页的某部分进行更新。
8、说一下JSP的4中作用域?
application:在所有应用程序中有效;
session:在当前会话中有效;
request:在当前请求中有效;
page:在当前页面有效;
后续会继续更新Spring框架面试题目,关注博主带你一起进步成功进入大厂。