Servlet面试题归纳
转载自Servlet面试题归纳
1、说一说Servlet生命周期
Servlet生命周期包括三部分:
初始化:Web容器加载servlet,调用init()方法
处理请求:当请求到达时,运行其service()方法。service()自动派遣运行与请求相对应的doXXX(doGet或者doPost)方法。
销毁:服务结束,web容器会调用servlet的distroy()方法销毁servlet。
2、get提交和post提交有何区别
(1)get一般用于从服务器上获取数据,post一般用于向服务器传送数据
(2)请求的时候参数的位置有区别,get的参数是拼接在url后面,用户在浏览器地址栏可以看到。post是放在http包的包体中。
比如说用户注册,你不能把用户提交的注册信息用get的方式吧,那不是说把用户的注册信息都显示在Url上了吗,是不安全的。
(3)能提交的数据有区别,get方式能提交的数据只能是文本,且大小不超过1024个字节,而post不仅可以提交文本还有二进制文件。
所以说想上传文件的话,那我们就需要使用post请求方式
(4)servlet在处理请求的时候分别对应使用doGet和doPost方式进行处理请求
3、JSP与Servlet有什么区别
Servlet是服务器端的程序,动态生成html页面发送到客户端,但是这样程序里会有很多out.println(),java与html语言混在一起
很乱,所以后来sun公司推出了JSP.其实JSP就是Servlet,每次运行的时候JSP都首先被编译成servlet文件,然后再被编译成
.class文件运行。有了jsp,在MVC项目中servlet不再负责动态生成页面,转而去负责控制程序逻辑的作用,控制jsp与javabean
之间的流转。
4、doGet与doPost方法的两个参数是什么
HttpServletRequest:封装了与请求相关的信息
HttpServletResponse:封装了与响应相关的信息
5、request.getAttribute()和request.getParameter
(1)有setAttribute,没有setParameter方法
(2)getParameter获取到的值只能是字符串,不可以是对象,而getAttribute获取到的值是Object类型的。
(3)通过form表单或者url来向另一个页面或者servlet传递参数的时候需要用getParameter获取值;getAttribute只能获取setAttribute的值
(4)setAttribute是应用服务器把这个对象放到该页面所对应的一块内存当中,当你的页面服务器重定向到另一个页面的时候,应用服务器
会把这块内存拷贝到另一个页面对应的内存当中。通过getAttribute可以取得你存下的值,当然这种方法可以用来传对象。
用session也是一样的道理,这是说request和session的生命周期不一样而已。
6、JSP有哪些内置对象,作用是什么?
名称 | 作用 |
request | 包含用户端请求的信息 |
response | 包含服务器传回客户端的响应信息 |
session | 与请求有关的会话期 |
pageContext | 管理网页属性 |
application | 服务器启动时创建,服务器关闭时停止,为多个应用程序保存信息 |
out | 向客户端输出数据 |
config | servlet的架构部件 |
page | 指网页本身 |
exception | 针对错误页面才可使用 |
7、四种会话跟踪技术作用域
(1)page:一个页面
(2)request::一次请求
(3)session:一次会话
(4)application:服务器从启动到停止。
7、JSP中动态INCLUDE和静态INCLUDE有什么区别
include指令用于把另一个页面包含到当前页面中,在什么时候包含的?再转换成servlet的时候包含进去的。
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,
并且可以带参数.
静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>
8、forward和redirect的区别
转发与重定向
(1)从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送
的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是
新的URL.
(2)从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
(3)从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
(4)从效率来说
forward:高.
redirect:低.
Servlet面试题归纳相关推荐
- Tomcat+Servlet面试题都在这里(修订版)
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 下面是我整理下来的Servlet知识点:  图上的 ...
- 【每日一看】数据分析面试题归纳整理总结
[每日一看]数据分析面试题归纳整理总结 刷题方向 统计理论知识 业务思维逻辑 机器学习.数据挖掘.工具类 算法编程.SQL 其他 刷题方向 目前看到的面经总结为分五大块: 统计理论知识 业务思维逻辑 ...
- JSP和Servlet面试题精选
1,JSP的内置对象有哪些? 答:JSP共有9个内置对象分别是: request:用户端请求,此请求会包含来自GET/POST请求的参数 response:网页传回用户端的回应 pageContext ...
- 一家美资企业的java servlet面试题
filter 的作用是什么?主要实现什么方法?dofilter方法里面的2个参数request 和 response 他问 这两个接口的全称是什么? 1.filter使用户可以改变一个request ...
- jsp因为端口无效不能启动_Java:JSP和Servlet面试题总结
1.Get和Post的区别 在页面提交数据时,get的数据大小有限制4k,post没有限制,get请求提交的数据会在地址栏显示,post不显示,所以post比get安全. 2. servlet的执行流 ...
- java servlet面试题_Java面试题总结系列 Servlet
Servlet技术主要是为了使用Web上的HTTP协议而设计的.servlet是在WEB服务器上运行的程序.Java Servlet可以用于处理客户请求或生成动态Web网页.先一个实例.然后解释. 先 ...
- python 试题归纳及答疑 更新中.....
一.Python基础篇(80题) 1.你为什么学习Python? 一.答题思路 1.阐述 python 优缺点 2.Python应用领域说明 3.根据自身工作情况阐述为什么会使用python 1)py ...
- Java核心技术及面试指南 异常部分的面试题归纳以及答案
4.2.4.1 throw和throws有什么差别?异常(Exception)和错误(Error)有什么差别? throw语句表示抛出异常,由方法体内的语句处理.throws语句用在方法声明后面,表示 ...
- 2021前端JavaScript、ES6面试题归纳
JS.ES6篇 es6的新特性 const let 模板字符串 箭头函数 函数的参数默认值 对象和数组解构 for...of 和 for...in(for in更适合遍历对象,for of更适合遍历数 ...
- (22)计算机硬件能直接执行的只有,计算机应用基础试题归纳
一.选择题 1.计算机硬件能直接执行的只有( ) A)符号语言 B)机器语言 C)算法语言 D)汇编语言 2.下列关于世界上第一台电子计算机ENIAC的叙述中,不正确的是( ). A)ENIAC是19 ...
最新文章
- python怎么写csv文件_python怎么写csv文件
- matlab编程风格
- JS 匿名函数 自执行
- 安信三级分销商城系统源码 带有安装介绍
- 安卓蓝牙USB连接热敏打印机二
- 开元酒店在中国的签约及在营酒店规模正式超过600家
- 中国计算机省份排名,2019中国省份经济排行_中国各省份经济排名
- 小程序授权登录注册自有账户体系
- POI加密Excel文件导出
- asp.netcore 关于静态文件的访问权限控制(UseStaticFiles)
- Win10安装Neo4j
- iPhone6对flex的兼容
- sequoia 的详细安装步骤
- 用openAI写个js的排序算法(快速排序算法)
- 何洋开讲丨“云”将如何在中国制造2025中起到颠覆作用?
- Android开发之自定义View(一)
- 语音识别领域公司分析
- There are multiple modules with names that only differ in casing.This can lead to unexpected behavi
- c语言教工工资管理系统课程设计
- ethereum 黄皮书 难度值计算
热门文章
- firefox改html内容,可以firefox扩展修改HTML文档的DOM然后保存为HTML吗?
- 检测VC++Redistributable运行库 vcredist_x86.exe
- apue.3e环境配置
- js复制操作,复制成功弹出提示框
- vb阶乘计算机代码,速求100的阶乘的代码
- 【元胞自动机】基于元胞自动机实现双车道靠右行驶交通流模型matlab代码
- 全国计算机一级word题库,2016全国计算机一级《MS Office》选择题题库
- sitemesh学习
- ansi编码转换器安卓版_ANSI Converter-ANSI码转换器
- dev cpp编译c语言,C语言实践|Dev cpp开发环境及其介绍