Servlet面试题18道
1.tomcat调优?
tomcat 如何进行优化?优化方案有哪些?_小小来也的博客-CSDN博客_tomcat优化的几种方法
2.什么是Servlet?
servlet主要用于逻辑处理,处理完之后,将结果交给jsp,由jsp向客户端做出响应
3.servlet生命周期是什么?
(1)服务器启动时创建
在客户端第一次访问LoginServlet时创建
只被调用一次,只创建一个servlet对象 单实例的
(2)初始化
在对象创建后,构造方法执行后,服务器调用init方法,完成一些初始化操作
只执行一次,如果没有写初始化操作可以不用重写init()
但是服务器仍然会调用父类中的init()
(3)提供服务器
每次请求都会调用service,只执行一次
(4)关闭
在服务器关闭前,servlet销毁前调用,
可以在次方中完成最终操作
列如:保存日志,数据备份
4.get和post请求的区别是什么?
get请求:
主要用于从服务器获取数据
也可以向服务器发送数据,数据在地址中传递,会在地址中显示
但是长度有限制
安全性很低
post请求:
主要用于向服务器发送请求
提交数据在请求中发送,
长度没有限制(例如:可以提交文件)
安全性较高
5.什么是请求转发和重定向
转发:
request.getRequestDispatcher(url).forword(request,response)
获得请求转发对象,告诉对象转发的地址
好比张三找李四借钱,李四没有钱便去找王五借了钱,之后再把钱借给了张三。李四找王五借钱张三是不知道的,而且张三借钱只借了一次!
重定向:
response.sendRedirect(url)
重新指定浏览器地址
好比张三找李四借钱,李四没钱,李四告诉张三王五有钱,之后张三便去找王五借到了钱。此过程张三借钱借了两次!
6.请求转发和重定向的区别
请求转发:
整个过程属于一次请求
浏览器中的地址不发生变化,转发的动作在服务器内部完成
客户端不知情
重定向:
整个过程有俩次请求,地址栏的地址会发生变化
在第二次请求中不能获得上一次请求对象中的数据
7.jsp和servlet的联系与区别
(1)本质都是servlet
(2)servlet侧重于逻辑处理
(3)jsp侧重于视图显示
8.说一说静态包含和动态包含的区别
(1) 语法不同
静态包含语法: <%@inclue file="被包含的页面"%>
动态包含语法: <jsp:include page="被包含的页面">
(2)参数传递不同
静态包含不能向被包含页面传递参数
动态包含可以使用jsp:param标签向被包含页面传递参数
(3)原理不同
静态包含: 先合并再翻译
动态包含: 先翻译再合并
9.九大内置对象是什么?
1.page页面对象,2.config配置对象,3.request请求对象,4.response响应对象,5.session会话对象,6.application全局对象,7.out输出对象,8.pageContext页面上下文对象,9.exception异常对象
10.JSP四大作用域
page:
只在当前页面有效
request:
它在当前请求中有效
session:
它在当前会话中有效
application:
他在所有的应用程序中都有效
注意:当4个作用域对象都有相同的name属性时,默认按照最小的顺序查找
11.application和request,session的区别?
request:单次请求。
session:浏览器访问期间(整个会话期间有效)。
application:服务器启动到关闭服务器期间全都有效,而且存储的数据可以跨浏览器。
12.什么是Session对象?
session:
是管理会话,回话跟踪技术
是存储管理
同一个会话,同一个网页
会话:
打开浏览器,连接到服务器(访问一个servlet,jsp)会话开始
关闭浏览器,回话结束
13.session对象的原理是什么?
(1)打开浏览器 回话开始
(2)服务器为本次回话创建一个session对象,生成一个id号(唯一),将id号响应到浏览器中
(3)浏览器默认将id号存储内存中,之后向服务器请求时都会将此id向服务器端发送
(4)服务器就会找与id匹配的session对象,如果找不到对应的session,那么服务器就会重新创建一个session对象
14.谈一谈session对象的生命周期
(1)创建:会话开始时,在服务器端创建
(2)销毁:
httpSession.removeAttribute("userID");
httpSession.invalidate();
服务器关闭时,session对象销毁
客户端长时间不与服务器交互,
eg:tomcat默认30分钟服务器会自动销毁session对象
安全退出,调用invalidate();强制销毁session对象
15.什么是过滤器(Filter)
在请求到达服务器资源(servlet/jsp)之前 , 过滤器可以拦截某些请求
在过滤器中就可以添加一些相应的代码处理,可以减少代码冗余
16.过滤器生命周期
init() 在服务器启动时执行
destroy() 在服务器关闭时销毁
17.什么是监听器
用于监听ServletContext,HttpSession和ServletRequest等域对象的创建与销毁,以及对象中属性的修改
Servlet面试题18道相关推荐
- mysql笔试题18道
部门表.员工表.薪水等级表 1.取得每个部门最高薪水人员名称 第一步:取得每个部门最高薪水作为临时表t select deptno,max(sal) as maxSal from emp group ...
- mysql笔试题15道
(93条消息) mysql笔试题18道_bubbleJessica的博客-CSDN博客 19.列出最低薪资大于1500的各种工作及从事此工作的全部雇员人数 SELECT JOB,COUNT(*) FR ...
- 分享18道Java基础面试笔试题
转载自 分享18道Java基础面试笔试题(面试实拍) 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简 ...
- 输入一个数寻找丑数C语言,数据结构与算法试题80道.doc
数据结构与算法试题80道 由于这些题,实在太火了.所以,应广大网友建议要求,在此把之前已整理公布的前80题, 现在,一次性分享出来.此也算是前80题第一次集体亮相. 此些题,已有上万人,看到或见识到, ...
- golang interface 类型转换_Golang面试题41道
Golang面试题41道 大家好,这一期呢,我们来说一下golang的面试题. 第1题什么是golang? go是一个开源的编程语言,由谷歌开发的.这门语言是设计用来做系统级的编程的. 第2题为什么要 ...
- 【JAVA Core】精品面试题100道
[JAVA Core]精品面试题100道 加个说明:我的初心是Java每个技术栈整理个100道面试题,现在的底子是哪吒的<208道面试题> 后续我会把自己有价值的题和面试真题添加进入,也对 ...
- c语言while中100 95,C语言笔试题100道
C语言笔试题100道 a) 30 b) 50 c) 40 d) 20 e) 10 18) #include void main() { int a=3,b=2,c=1; int x=10,y=20; ...
- Python 全栈工程师必备面试题 300 道(2020 版)
2020元旦巨献,面试升级必备!献给正在学习Python的同学! Python 全栈工程师必备面试题 300 道(2020 版) Python 面试不仅需要掌握 Python 基础知识和高级语法,还会 ...
- 【Redis】精品面试题100道
[Redis]精品面试题100道 加个说明:我的初心是Java每个技术栈整理个100道面试题,现在的底子是哪吒的<208道面试题>和敖丙面试题 后续我会把自己有价值的题和面试真题添加进入, ...
- (转)大数据面试题130道及答案整理 1-15
大数据面试题130道及答案整理 1-15 转载自:https://www.cnblogs.com/yuluoxingkong/p/13475235.html 1.HashMap 和 Hashtable ...
最新文章
- 贝叶斯网络之父Judea Pearl推荐:迈向可解释的知识驱动系统
- 聊聊flink的AscendingTimestampExtractor
- 高德地图区域线显示_护航国庆假期,助力重点区域精细化管理——扬州交警与高德地图联合推出“全境智能”系统...
- jmeter压测过程中内存溢出
- [水煮 ASP.NET Web API2 方法论](1-1)在MVC 应用程序中添加 ASP.NET Web API
- Java中一个线程只有六个状态。至于阻塞、可运行、挂起状态都是人们为了便于理解,自己加上去的。...
- Java线程面试题 Top 50 (转载)
- TCP协议 状态解析和状态统计
- Java 程序员最爱 Kotlin?
- 在线Excel转CSV工具
- 安装多个mysql实例(debian版本)
- 《我的祖国》正确英译应该是《The Evercountry, Mine》
- tomcat设置编码
- 二、GAMIT解算之数据准备
- c语言 文件指针移动一位,c语言怎样移动文件指针到制定位置?
- cad卸载_想重新安装CAD提示已经安装?不会卸载?进来教你卸载CAD
- mac idea Tomcat 内网映射解决方案
- 7-14 电话聊天狂人 (25 分)
- python——赋值
- http client 短链接复用(变为长连接)
热门文章
- win8.1能安装matlab,解决win8.1安装matlab出现无法访问您试图使用的功能...vcredist.msc...等等...
- 架构之美第三章-美丽架构之道
- Arduino连接GPS模块
- 锋利的jQuery系列一
- 上线一套 BI 系统到底需要多少钱???
- HTML5+CSS3 从入门到精通(2)
- android win10 驱动安装失败,解决在win10系统下小米手机驱动安装失败的具体步骤...
- python音频识别_音频识别和比较
- php的运行方式及vc6和vc9,ts和nts区别
- [4G+5G专题-145]: 一体化小基站- 5G小基站软件建议架构概述