java面试常考_JAVA面试常考系列十

JAVA面试常考系列十

9b061b56e4c51c2f0f3799ade4225c2a.png

题目一

Servlet是什么?

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,是用Java编写的服务器端程序,主要的作用是处理客户端请求并生成动态Web内容。

一般情况下,Servlet主要用于处理或者存储由HTML表单提交的数据,提供动态内容并管理状态信息。

题目二

Applet和Servlet有什么区别?

Applet是客户端Java程序,Servlet是服务器端组件。

Applet运行在客户机上的Web浏览器中,Servlet运行在Web服务器上。

Applet可以使用用户接口类,servlet没有用户接口,等待客户端的HTTP请求,并在每个请求中产生一个响应。

题目三

GenericServlet和HttpServlet有什么区别?

HttpServlet是GenericServlet的子类。

GenericServlet是个抽象类,必须给出子类才能实例化。它给出了设计servlet的一些架构,定义了servlet生命周期,以及一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的。

HttpServlet是子类,所以具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法用来处理http协议里命令的请求响应过程。

题目四

一个Servlet在生命周期中经历了哪些过程?

Servlet 在加载之后依次经历了实例化、服务、销毁三个过程。

init()

在服务器装入Servlet时,将会执行init()方法,目的是为了初始化Servlet对象。也可以通过配置服务器,在启动服务器或客户机首次访问Servlet时装入Servlet。Init()方法在整个生命周期中,仅仅执行一次,与访问Servlet的客户机数量无关。

service()

负责响应客户的请求,是Servlet的核心。当一个客户请求一个HttpServlet对象时,对象就会调用Service()方法,并传递给方法一个请求对象和一个响应对象作为参数。Service()方法在HttpServlet中已存在,默认的服务功能是调用与HTTP请求的方法相应的do功能。

destroy()

在服务器端停止且卸载Servlet时执行该方法,用来释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,所以在调用destroy()方法时,需要确认这些线程已经终止或完成。与init()方法一样,整个生命周期中,仅执行一次。

题目五

doGet()和doPost()有什么区别?

区别一

get是从服务器上获取数据,post是向服务器传送数据。

区别二

get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。过程对用户不可见。

区别三

对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

区别四

get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

区别五

get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

题目六

什么是服务器端包含(SSI)?

服务端包含(SSI)是一种简单的解释型服务端脚本语言,多数情况下只用在Web上,用servlet标签嵌入。SSI最常用的场景把一个或多个文件包含到Web服务器的一个Web页面中。当浏览器访问Web页面的时候,Web服务器会用对应的servlet产生的文本来替换Web页面中的servlet标签。

题目七

什么是ServletChaining?

ServletChaining是一种传输方法,用来把一个Servlet的输出发送给另一个Servlet。第二个Servlet的输出可以发送给第三个Servlet,依次循环。链末端Servlet负责把响应发送给客户端。

题目八

如何找出当前向你请求servlet的客户机?

ServletRequest类具有查找客户机的IP地址或主机名的功能。

getRemoteAddr()获取客户机的IP地址。

getRemoteHost()获取客户机的主机名。

题目九

HTTP响应的结构是什么?

HTTP响应由三部分组成:

状态代码:描述响应的状态。它可以用来检查请求是否已经成功完成。在请求失败的情况下,状态码可以用来找出失败的原因。如果您的servlet没有返回状态码,则默认返回成功状态码HttpServletResponse.SC_OK。

HTTP标头:它们包含更多关于响应的信息。例如,标题可以指定响应被视为陈旧的日期/时间,或用于安全地将实体传送给用户的编码形式。

Body:它包含响应的内容。正文可能包含HTML代码,图像等。主体由紧接在标题之后的HTTP事务消息中传输的数据字节组成。

题目十

sendRedirect和forward方法有什么区别?

区别一

sendRedirect方法可以定位到同一个web站点的其他应用,甚至可以通过传入绝对路径定位到别的web站点。forward方法只能转发给同一个web站点的资源。

区别二

sendRedirect转发后,浏览器url地址变为目的url地址。forward重定向后,浏览器url地址不变。

区别三

使用sendRedirect转发的过程,浏览器先向目的Servlet发送一次请求,Servlet看到sendRedirect将目的url返回到浏览器,浏览器再去请求目的url,目的url再返回response到浏览器。浏览器和服务器两次请求响应。

使用forward重定向的过程,是浏览器先向目的Servlet发送一次Request请求,然后再服务器端由Servlet再将请求发送到目的url,再由服务器端Servlet返回Response到浏览器端。浏览器和服务器一次请求响应。

区别四

sendRedirect方法由于两次浏览器服务器请求,所以有两个Request和Response。

forward方法的调用者与被调用者之间共享Request和Response。

程序员面试】是IT求职神器,提供海量C++、JAVA、前端等职业笔试题库,在线进行一线互联网名企笔试面试模拟考试练习,天天刷题,和牛人一起讨论经典试题,全面提升你的编程能力,海量高薪职位信息等着你!永远为下个月离职做好准备!年薪百万的码农都已关注!

原文:https://blog.51cto.com/15047485/2559933

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

的ui在vs中显示没有成员_在电脑桌面使用敬业签团队便签怎么设置新增内容在上面显示?...

实时跟进小组成员的各项任务的完成情况,及时将工作任务安排下去,是提高团队工作效率的较为有效的方法。在监督小组成员任务状况以及及时安排工作方面,选择一款支持多人同步在线协作的软件是非常有必要的。敬业签团队便签是一款不受系统、设备…

Java利用二维数组判断节假日_《剑指offer》面试题3 二维数组中的查找 Java版

(二维数组,每行递增,每列递增。输入二维数组和一个整数,判断数组中是否含有此数。)我的方法:拿到题目,根据题目条件我提取出这样一个特性:一个数的右边和下面的数都比它大。于是就可以写出一种递归的方法&a…

多表关联查询_【函数007】 EXCEL多表关联查询实战

继续函数实战系列教程,今天要分享的案例是根据填写的表名自动提取对应表中的数据数据准备:需求说明:我们希望实现,我们选择不同月份,显示对应月份表中的数据!处理方案:1、构建下拉列表(菜单)数据…

java if emun_关于java:Enum与If-else

我有一个需求,其中我需要从事件列表中构建如下的雇员对象。 目前,我的代码如下所示,但是QE发表评论说可能使用枚举而不是多个。有人可以建议我如何用枚举实现这一点。Employee e new Employee();for(Event event:events){if("empid"…

管理动物园动物c++_《过山车大亨》开发商公开新作 建立自己的动物园

知名模拟经营游戏开发商Frontier Developments近日宣布,旗下游戏《动物园之星》(Planet Zoo)即将在不久后发售,登录Steam平台。本座是一款模拟经营游戏,玩家在游戏中将会从零开始,建立一个属于自己的动物园世界。游戏中有多种不同…

Java_数组练习答案_Java数组练习题带答案.doc

《Java数组练习题带答案.doc》由会员分享,可在线阅读,更多相关《Java数组练习题带答案.doc(11页珍藏版)》请在人人文库网上搜索。1、一 填空题1) 数组的元素通过 下标 来访问,数组Array的长度为 Array.length 。2) 数组复制时,将一…

安费诺amphenol连接器_安费诺的Ellison谈信号完整性职业和他的免费开源PCB设计软??件...

Amphenol的信号完整性工程师杰森埃里森(Jason Ellison )Amphenol(安费诺) ICC的高级职员信号完整性工程师杰森埃里森(Jason Ellison )深入了解了网络,给予EE(电子)社区以及他的开源信号完整性项目的重要性。信号完整性工程与其他EE(电子)领域相比如何?他…

python形参和实参命名方式_Python的形参和实参使用方式

Python的形参和实参使用方式形参可以设置参数默认值,设置遵循从右至左原则例如:fun(x0,y1),fun(x,y1),但不可以是fun(x1,y)形参设置可以为数字字符串变量、元组和字典等任意类型数据,元组形参是在变量名前加*,字典形参…

mysql的contains_mysql中json_contains、json_extract等json查询方法的使用

新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作。JSON是一种轻量级的数据交换格式,采用了独立于语言的文本格式,类似XML,但是比XML简单,…

260多媒体语言如何调节_260马力配9.7米货厢,实拍柳汽H5小三轴载货车

【卡车之家 原创】高速公路按轴的收费实施让9米6大单桥载货车火了起来,能够满足快递快运、电商物流等以方量为主的轻型货物运输。但这种大单桥18吨的限重对于不少卡友来说或许不太够用,而8x4载货车又有些大材小用了。这时,处于中间位置的三轴…

php mysql复杂查询_半复杂的PHP / MySQL Select语句

我目前有3张桌子,我正在用这些桌子来预定某些设备.这是我的桌子:tblEquipment:id name description1 Camera Takes pictures2 Projector Projects pictures3 Laptop Portable ComputertblEvents:id start end first_name last_name email1 2009-08-10 2009-08-11 Jo…

python获取网络信息_利用psutil获取网络信息

获取网络总的io信息[rootbogon python_auto]# vim net.py!/usr/bin/env pythonimport psutilnet_information psutil.net_io_counters()print net_information执行查看网络信息[rootbogon python_auto]# python net.pysnetio(bytes_sent29111743, bytes_recv396060467, packet…

java dispatcher详解_dispatcherservlet初始化过程详解

之前给大家介绍了什么是dispatcherservlet,以及dispatcherservlet配置等方面的内容,那么下面要接着给大家介绍的就是dispatcherservlet初始化过程,一起来了解一下。Web容器启动时将调用HttpServletBean的init方法public abstract class HttpS…

python消息队列模块_day43-python消息队列二-queue模块

Python提供了Queue模块来专门实现消息队列Queue对象Queue对象实现一个fifo队列(其他的还有lifo、priority队列,这里不再介绍)。queue只有maxsize一个构造参数,用来指定队列容量,指定为0的时候代表容量无限。主要有以下成员函数:Qu…

linux php 如何上传webshell,linux+apache+php的一次拿webshell的心得

首先俺先声明俺是个菜鸟,俺虽然是菜鸟但俺不会一直是菜鸟的(一旁兄弟喊到:别俺,俺,俺的,说普通话!)。俺,不对,我一直遵照着实践是检验真理的唯一标准这句话学习技术,这不…

paddle 56 将图像分类模型嵌入到目标检测中并实现端到端的部署(用图像分类模型进行目标检测切片分类)

目标检测在功能上一直是涵盖了图像分类的,其包含目标切片检测,目标切片分类。由于某些原因,需要将目标检测的功能退化为检测,忽略其切片分类,使用外部的分类模型。然而这样操作会使得其与原始的部署代码不兼容,为此博主实现将图像分类模型嵌入到目标检测中,并实现端到端…

python3图像识别地类_机器学习零基础?手把手教你用TensorFlow搭建图像识别系统(三)| 干货...

原标题:机器学习零基础?手把手教你用TensorFlow搭建图像识别系统(三)| 干货雷锋网按:本文是介绍用TensorFlow构建图像识别系统的第三部分。 在前两部分中,我们构建了一个softmax分类器来标记来自CIFAR-10数据集的图像,实现了约25…

织梦php重新安装教程,织梦CMS系统后台重装的操作教程

原标题:织梦CMS系统后台重装的操作教程网站在线运行,不可能一点问题都不存在,或者当初的网站设计、架构、功能已经不能满足现在用户的需求,所以我们会对网站做出相应的改动。网站除了前端的改版,还会有后台系统重装、服…

mpu9250姿态融合算法_基于投票方式的机器人装配姿态估计

作者:仲夏夜之星来源:公众号 3D视觉工坊链接:基于投票方式的机器人装配姿态估计论文题目:《Voting-Based Pose Estimation for Robotic Assembly Using a 3D Sensor》这篇文章被发表在2012年的IEEE International Conference on R…

java安卓浏览器下载文件,JAVA实现文件下载,浏览器端得到数据没反应解决方案

JAVA实现文件下载,浏览器端得到数据没反应代码如下public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//得到要下载的文件名称String filenamerequest.getParameter("filename");//文件存放的路径…