1.HTTP响应的结构是什么样的?
三个部分:
状态码:描述了响应的状态。
HTTP头部:包含了更多关于响应的信息。
主体:包含了响应的内容。
2.什么是cookie?session和cookie有什么区别?
cookie是Web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个Web服务器存储cookie。以后浏览器在给特定的Web服务器发送请求时,同时会发送所有为该服务器存储的cookie。
区别:
无论客户端浏览器怎么设置,session都应该能正常工作。客户端可以选择禁用cookie,但是session任然是可以工作的,因为客户端无法禁用服务器端的session。
session能够存储任意的java对象,cookie只能存储String类型的对象。
3.浏览器和Servlet通信使用的是什么协议?
HTTP
4.什么是HTTP隧道?
HTTP隧道是一种利用HTTP或者是HTTPS把多种网络协议封装起来进行通信的技术。因此HTTP协议扮演了一个打通用于通信的网络协议的管道的包装器的角色。把其他协议的请求掩盖成HTTP的请求就是HTTP隧道。
5.sendRedirect()和forward()方法有什么区别?
sendRedirect()方法会创建一个新的请求,而forward()方法只是把请求转发到一个新的目标上。重定向(redirect)以后,之前请求作用域范围内的对象就失效了,因为会产生一个新的请求,而转发(forwarding)以后,之前请求作用域范围以内的对象还是能访问的,一般认为sendRedirect()比forward()要慢。
6.什么是URL编码和URL解码?
URL编码是负责把URL里面的空格和其他特殊字符替换成对应的十六进制表示,反之,就是解码。
7.什么是JSP页面?
JSP页面是一种包含了静态数据和JSP元素两种类型的文本文档。静态数据可以用任何基于文本的格式来表示,比如:HTML和XML。JSP是一种混合了静态内容和动态产生的内容的技术。
8.JSP请求是如何被处理的?
浏览器首先要请求一个以.JSP扩展名结尾的页面,发起JSP请求,然后,Web服务器读取这个请求,使用JSP编译器把JSP页面转化成Servlet类。
9.JSP有什么优点?
1.JSP页面是被动态编译成Servlet的,因此,开发者可以很容易的更新展现代码。
2.JSP页面可以被预编译。
3.JSP页面可以很容易的和静态模板结合。
10.什么是JSP指令(Directive)?JSP中有哪些不同类型的指令?
Directive是当JSP页面被编译成Servlet的时候,JSP要处理的指令。
1.包含指令:用来包含文件和合并文件内容到当前的页面。
2.页面指令:用来定义JSP页面中特定的属性。
3.Taglib指令:用来声明页面中使用的自定义的标签库。