Java_EE面试题,BAT 面试官 如何面试


写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。也欢迎各位一起在群里探讨技术。

Java_EE面试题

欢迎到我的Git仓库去提交您觉得优秀的内容!

1.什么是Servlet?

 

Servlet是用来处理客户端请求并产生动态网页内容的Java类。Servlet主要是用来处理或者是存储HTML表单提交的数据,产生动态内容,在无状态的HTTP协议下管理状态信息。


 

2.Servlet的生命周期。

 



  •  
  • Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: > 1. Servlet 通过调用 init () 方法进行初始化。 >>> init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化,就像 Applet 的 init 方法一样。 Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。 当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。 > 2. Servlet 调用 service() 方法来处理客户端的请求。 >>>service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。 每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。 > 3. Servlet 通过调用 destroy() 方法终止(结束)。 >>>destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。 > 4. 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。


     

 

3.什么是Servlet链(Servlet Chaining)?

 

Servlet链是把一个Servlet的输出发送给另一个Servlet的方法。第二个Servlet的输出可以发送给第三个Servlet,依次类推。链条上最后一个Servlet负责把响应发送给客户端。


 

4.什么是cookie?session和cookie有什么区别?

 



  •  
  • session与cookie的区别: >1. session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务端可以知道其中的信息 >2. session中保存的是对象,cookie中保存的是字符串 >3. session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到;而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不道德


     
  • session与cookie的联系: >session是需要借助cookie才能正常工作的,如果客户端完全禁止cookie,session将失效.


     

 

5.sendRedirect()和forward()方法有什么区别?

 

sendRedirect()方法会创建一个新的请求,而forward()方法只是把请求转发到一个新的目标上。重定向(redirect)以后,之前请求作用域范围以内的对象就失效了,因为会产生一个新的请求,而转发(forwarding)以后,之前请求作用域范围以内的对象还是能访问的。一般认为sendRedirect()比forward()要慢。


 

6.什么是URL编码和URL解码?

 

URL编码是负责把URL里面的空格和其他的特殊字符替换成对应的十六进制表示,反之就是解码。


 

7.JSP有什么优点?




  1.  
  2. JSP页面是被动态编译成Servlet的,因此,开发者可以很容易的更新展现代码。


     
  3. JSP页面可以被预编译。


     
  4. JSP页面可以很容易的和静态模板结合,包括:HTML或者XML,也可以很容易的和产生动态内容的代码结合起来。


     
  5. 开发者可以提供让页面设计者以类XML格式来访问的自定义的JSP标签库。


     
  6. 开发者可以在组件层做逻辑上的改变,而不需要编辑单独使用了应用层逻辑的页面。


     


转载:https://www.cnblogs.com/xuzimian/p/8603108.html

推荐内容:
java面试官如何面试别人
Java_集合面试题
[Java面试一]面试复习大纲.
Google面试官亲授 升级Java面试
50道Java线程面试题
面试题:Java集合面试题(40道) 背1
Java多线程面试题整理
Java_框架面试题
53道Java线程面试题
Java 面试知识点解析(二)——高并发编程篇

猜你喜欢

转载自blog.csdn.net/kuangdashi/article/details/89392071
今日推荐