servlet面试题一般有哪些?servlet面试大全详解

面试一直以来是程序员入门的一道阑槛,你们都知道java中的servlet吧,今天我们就来看看过去常问的servlet面试题都有哪些吧。

一、说一说Servlet生命周期

Servlet生命周期包括三部分:

初始化:Web容器加载servlet,调用init()方法

处理请求:当请求到达时,运行其service()方法。service()自动派遣运行与请求相对应的doXXX(doGet或者doPost)方法。

销毁:服务结束,web容器会调用servlet的distroy()方法销毁servlet。

具体的大家可以通过下文来进行一下了解- java servlet生命周期详解,一个servlet生命周期包括哪些?

二、get提交和post提交有何区别

(1)get一般用于从服务器上获取数据,post一般用于向服务器传送数据

(2)请求的时候参数的位置有区别,get的参数是拼接在url后面,用户在浏览器地址栏可以看到。post是放在http包的包体中。

比如说用户注册,你不能把用户提交的注册信息用get的方式吧,那不是说把用户的注册信息都显示在Url上了吗,是不安全的。

(3)能提交的数据有区别,get方式能提交的数据只能是文本,且大小不超过1024个字节,而post不仅可以提交文本还有二进制文件。

所以说想上传文件的话,那我们就需要使用post请求方式

(4)servlet在处理请求的时候分别对应使用doGet和doPost方式进行处理请求

三、说一说四种会话跟踪技术作用域有哪些

(1)page:一个页面

(2)request::一次请求

(3)session:一次会话

(4)application:服务器从启动到停止。

四、JSP中动态INCLUDE和静态INCLUDE有什么区别

include指令用于把另一个页面包含到当前页面中,在什么时候包含的?再转换成servlet的时候包含进去的。

动态INCLUDE用jsp:include动作实现 它总是会检查所含文件中的变化,适合用于包含动态页面,

并且可以带参数.

静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file="included.htm" %>

五、jsp九大内置对象是什么

1.request 说明 : 代表请求

2.response 说明 : 代表响应

3.out 说明 : 输出的数据流

4.session 说明 : 会话

5.application 说明 :全局的上下文对象

6.pageContext 说明 : Jsp页面的上下文

7.page 说明 : 代表 jsp页面本身(this)

8.config 说明:代表 Servlet配置对象

9.exception 说明:代表捕获页面的异常对象

六、目前来说,前后端分离技术jsp基本上已经被淘汰了,JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。

具体的大家可以通过下文来进行一下了解-servlet和jsp的区别是什么?有什么区别?

七、Cookie和Session的作用和区别

(1)cookie 是一种发送到客户浏览器的文本串句柄,数据保存在客户端,可以用来在某个WEB站点会话间持久的保持数据。

(2)session技术中所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话的sessionid,服务器根据当前sessionid判断相应的用户数据标志,以确定用户是否登录或具有某种权限。

(3)cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。

(4)cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。

具体的大家可以通过下文来进行一下了解-session和cookie的区别是什么?有哪些区别?

八、如何知道是哪一个客户端的机器正在请求你的Servlet

ServletRequest类可以找出客户端机器的IP地址或者是主机名。getRemoteAddr()方法获取客户端主机的IP地址,getRemoteHost()可以获取主机名。

九、隐含对象是什么意思?有哪些隐含对象?

JSP隐含对象是页面中的一些Java对象,JSP容器让这些Java对象可以为开发者所使用。开发者不用明确的声明就可以直接使用他们。JSP隐含对象也叫做预定义变量。下面列出了JSP页面中的隐含对象:application、page、request、response、session、exception、out、config、pageContext。

以上就是关于servlet面试题的所有内容了,你理解了吗?如果还需要了解更多面试常见问题,就快来关注奇Q工具网吧。

推荐阅读:

java servlet工作原理是什么?servlet结构详解

servlet是什么?servlet的理解

servlet了解吗?servlet是什么?