本文首发于 cartoon 的博客
-
JSP 有哪些内置对象?作用分别是什么?
- request:客户端请求,包括 get/post 的参数
- response:服务器端传回客户端的回应
- pageContext:管理网页属性
- session:存在于服务器端的客户端有关信息
- application:系统全局资源共享
- page:JSP 本身
- config:存放 JSP 编译后初始数据
- exception:页面运行产生的异常和错误信息
- out:服务器端输出到客户端的结果
-
说一下 JSP 的 4 种作用域?
- pageContext:当前页面
- requeContext:单次请求
- sessionContext:当前会话
- applicationContext:用户共享资源
-
Session 和 Cookie 有什么区别?
- Session 存在于服务器端,Cookie 存在于客户端
- Cookie 只能存放 ASCII 字符串,Session 能够存放任何 JAVA 对象
- Cookie 安全性较低,有可能被修改达到非法访问。Session 则没有被修改的风险
- Cookie 可以长期有效,Session 关闭网站后会失效
- Cookie 需要客户端支持
- Cookie 可以跨域名访问,Session 被限制在当前域名
-
说一下 Session 的工作原理?
- Session 依赖于名为 JSESSIONID 的 Cookie
- Session 利用近似散列表结构存储在服务器上
- 创建 Session 时,系统检索请求是否带有名为 SESSION ID 的 Cookie,若带有则直接查找内存中对应 Session,若不存在则服务器生成 Session,并返回与该 Session 相关的 SESSION ID
- 使用 Session 时,服务器检索内存与 SESSION ID 相关的 Session;若浏览器 Cookie 被禁止,则通过 URL 重写传输 SESSION ID