Java Web 基础面试题及详细答案(真实面试版)_第1页
Java Web 基础面试题及详细答案(真实面试版)_第2页
Java Web 基础面试题及详细答案(真实面试版)_第3页
Java Web 基础面试题及详细答案(真实面试版)_第4页
Java Web 基础面试题及详细答案(真实面试版)_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaWeb基础面试题及详细答案(真实面试版)适用场景:Java后端初级面试、校招、实习面试、基础复盘内容说明:全部为高频基础面试考点,答案简洁精准,贴合企业面试官答题标准一、JavaWeb基础概念简答题(高频必问)1.请简单说说什么是JavaWeb?JavaWeb是基于Java语言开发的Web应用技术体系,主要用于开发浏览器访问的网站、后台管理系统、服务接口等B/S架构项目。核心依托JavaEE规范,通过Servlet、JSP、Filter、Listener等原生组件,配合Tomcat服务器实现客户端请求接收、业务处理、数据响应的完整流程,是Java后端开发的基础。2.简述B/S和C/S架构的区别?C/S架构(客户端/服务器):需要安装专用客户端程序,比如桌面软件、游戏。优点是响应快、交互强;缺点是升级维护麻烦、跨平台性差。B/S架构(浏览器/服务器):无需安装客户端,通过浏览器直接访问服务端项目。优点是维护简单、升级只需要更新服务端、跨平台;缺点是依赖网络,复杂交互体验不如客户端。JavaWeb项目基本都是B/S架构。3.什么是Servlet?Servlet的作用是什么?Servlet是JavaWeb的核心原生组件,是运行在服务器端的Java程序,属于JavaEE核心规范。主要作用:接收浏览器发送的HTTP请求,处理业务逻辑,封装响应数据,返回给浏览器。可以理解为服务端用来接收和处理请求的控制器。4.Servlet的生命周期有哪些阶段?分为三个核心阶段,由Tomcat服务器全权管理:1.初始化阶段(init()):Servlet被创建时执行一次,只初始化一次,一般用于加载配置、初始化资源。2.服务阶段(service()/doGet()/doPost()):每次请求都会触发,根据请求方式分发处理业务逻辑。3.销毁阶段(destroy()):项目关闭、服务器停止时执行一次,用于释放资源、关闭连接。5.doGet和doPost的区别?面试常答重点1.参数传递方式不同GET:参数拼接在URL后面,地址栏可见;POST:参数放在请求体中,地址栏不可见。2.数据大小限制不同GET有长度限制,无法传输大量数据;POST无明确长度限制,适合提交表单、文件。3.缓存与安全性GET请求会被浏览器缓存,不安全,适合查询数据;POST不会默认缓存,相对安全,适合提交、修改、保存数据。4.书签与历史记录GET可收藏为书签、保留历史记录;POST无法被书签保存。6.什么是JSP?JSP和Servlet的区别?JSP是嵌入了Java代码的HTML页面,本质是Servlet。JSP运行时会被服务器编译成Servlet类执行。区别:1.Servlet以Java代码为主,适合处理后台逻辑、接收请求;2.JSP以页面展示为主,适合渲染页面、输出数据;3.现在开发基本只用Servlet做控制层,JSP逐渐被前后端分离的Vue/HTML替代。7.JSP九大内置对象分别是什么?作用简述1.request:封装客户端请求数据2.response:封装服务端响应数据3.session:会话对象,保存用户单次会话数据4.application:全局项目对象,所有用户共享5.pageContext:页面上下文,获取页面所有对象6.out:页面输出流,用于页面打印内容7.page:当前JSP页面对象8.config:Servlet配置信息对象9.exception:异常对象,仅错误页面可用8.request和session的区别?request(请求域):只在一次请求中有效,请求转发有效,重定向失效,数据单次使用。session(会话域):一次浏览器会话有效,多次请求共享数据,关闭浏览器或超时后失效,常用于保存登录用户信息。9.转发(Forward)和重定向(Redirect)的区别?1.请求次数转发:服务器内部跳转,一次请求;重定向:浏览器二次请求,两次请求。2.地址栏变化转发:地址栏不变;重定向:地址栏更新为新地址。3.数据是否保留转发:request数据保留;重定向:request数据丢失。4.使用场景转发:后台跳转、携带数据页面展示;重定向:登录成功跳转页面、防止表单重复提交。10.什么是Cookie和Session?二者区别?Cookie:存储在客户端浏览器的小文本数据,由服务器生成下发,每次请求自动携带,不安全、容量小。Session:存储在服务端的会话数据,通过SessionID关联客户端,安全、可存储大量数据。核心区别:1.存储位置:Cookie客户端,Session服务端;2.安全性:Session更安全;3.生命周期:Cookie可设置持久化,Session默认浏览器关闭失效;4.依赖关系:Session默认依赖Cookie存储SessionID。11.Session失效的方式有哪些?1.关闭浏览器(默认情况);2.主动调用session.invalidate()销毁会话;3.服务器设置的超时时间到期;4.服务器重启或项目重新部署。12.什么是Filter(过滤器)?作用是什么?Filter是JavaWeb核心组件,运行在服务器端,可拦截所有请求和响应,在请求到达Servlet之前、响应返回浏览器之前做预处理和后处理。常用场景:统一编码设置、登录拦截、权限校验、过滤非法请求、资源拦截。13.什么是Listener(监听器)?常见用途监听器是用于监听Web项目中对象状态变化的组件,比如项目启动、会话创建、请求创建等事件,触发对应处理逻辑。常见用途:项目启动初始化数据、统计在线人数、监听会话销毁、全局资源初始化。14.GET和POST请求能否被Filter拦截?可以,过滤器拦截的是所有客户端请求,不区分GET、POST、PUT、DELETE等请求方式,所有请求都会经过Filter过滤链。15.简述HTTP协议的特点1.无连接:每次请求完成后立即断开连接,不持续占用资源;2.无状态:协议本身不记录用户状态,无法识别多次请求是否为同一用户,所以需要Cookie、Session辅助保存状态;3.基于请求响应模式,客户端主动请求,服务端被动响应。二、选择题(含标准答案)1.以下哪个对象可以实现跨页面、同用户多次请求数据共享?()A.requestB.pageContextC.sessionD.page答案:C2.Servlet生命周期中只执行一次的方法是()A.service()B.init()C.doGet()D.doPost()答案:B3.地址栏会发生变化的跳转方式是()A.转发B.重定向C.静态包含D.动态包含答案:B4.下列不属于JSP内置对象的是()A.requestB.sessionC.servletD.application答案:C5.Filter的执行顺序是()A.拦截请求→放行→处理响应B.直接执行Servlet再拦截C.只拦截响应不拦截请求D.随机执行答案:A三、高频错题&面试追问解答1.为什么重定向会丢失request数据?重定向是服务器返回状态码告诉浏览器重新发送新请求,属于两次独立请求,上一次的request对象会被销毁,所以请求域数据无法保留。转发是服务器内部一次请求跳转,对象不销毁,数据保留。2.Session为什么会失效?常见面试回答Session是服务端内存对象,有默认超时时间,长时间无操作自动回收;浏览器关闭后客户端Cookie中的SessionID丢失,下次请求无法匹配原有会话,表现为Session失效。3.过滤器和拦截器的简单区别(Web基础必问)Filter是JavaWeb原生组件,基于Servlet规范,拦截所有请求,运行在Controller之前;拦截器是Spring框架提供的,只拦截SpringMVC的控制器请求,功能更精准。初学JavaWeb只需要掌握Filter即可。4.解决JSP页面中文乱码的常用方案1.设置页面编码pageEncoding="UTF-8";2.Filter统一设置request、response编码为UTF-8;3.数据库、Tomcat容器统一UTF-8编码。四、简答综合面试题(压轴基础题)1.请描述一次完整的浏览器访问JavaWeb项

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论