Servlet请求转发/cookie/session/ ServletContext/ServletConfig
- 请求转发介绍
(1) 为什么需要请求转发?
答: 服务器在接收到浏览器的请求后,仅仅使用一个Servlet 进行请求处理,会造成不同的 Servlet 逻辑代码冗余,Servlet 的职责不明确。
(2) 请求转发的本质是什么?
答:将request对象和response对象传递给其他的Servlet来执行请求
- 请求转发的特点和request作为数据载体进行数据流转
(1) 请简要说明请求转发的特点
答: 一次请求;地址栏信息不改变。
(2) 使用request对象作为请求转发的数据的载体的方法是什么?(存储和获取)
答:存储的方法request.setAttribute(“键”,“值”)
获取的方法request.getAttribute(“键”)
- 请求转发之request对象总结
(1) 总结说明request作用域的特点
答: request作用域基于请求转发,一次请求中的所有 Servlet 共享
特点:服务器创建;每次请求都会创建;生命周期一次请求
(2) 总结说明请求转发的特点
答: 一次请求;地址栏信息不改变。
- 重定向的作用和特点
(1) 总结说明重定向的特点
答: 两次请求
浏览器地址栏信息改变
避免表单重复提交
- cookie的介绍和特点和作用
(1) 简要说明为什么需要cookie
答: 解决了同一用户不同请求之间的数据共享的问题
(2) cookie的特点是什么
答: 1. 浏览器端的数据存储技术
-
哪些数据需要被存储是在服务器端进行声明,以响应的方式告诉浏览器进行存储
-
不适合大量数据的存储
-
cookie的代码实现
(1) 怎么获取Cookie对象。
答:Cookie c = new Cookie(“键”,“值”)
(2) 书写代码获取请求中的键名为a的cookie信息的值
答: Cookie c = new Cookie(“a”,“10”);
resp.addCookie©;
req.getParameter(“a”);
- cookie的有效期和有效路径设置
(1) 声明一段代码,设置Cookie的有效期为三天
答: Cookie c = new Cookie(“a”,“10”);
c.setMaxAge(3600243);
(2) 创建一个Cookie信息并设置其访问路径为/虚拟项目名/a
答:c.setPath(“/虚拟项目名/a”);
- session的介绍和基本使用流程
(1) 根据视频,说出你对session对的理解及其作用
答: Session 技术是依赖 Cookie 技术的服务器端的数据存储技术。
用于解决同一用户不同请求之间的数据共享问题
(2) 根据视频,如何保证不同请求获取到同一个session对象
答:基于cookie技术,使用cookie存储session的ID响应给浏览器,浏览器下次发起请求时将session的ID一同发出,这样根据session的ID来匹配获取同一个session对象
- session机制代码实现
(1) 请简述req.getSession()的作用
答: 该方法主要是看此次请求是否有sessionID,如果没有则创建一个新的Session对象,如果有SessionID则将返回其对应的Session对象返回(前提是该Session对象没有到期.如果对象到期销毁了,就算有sessionID也会重新创建一个Session)
(2) 获取session对象的id的方法是什么?
答:getId()
- session的特点和流程总结
(1) 简述session使用流程
答: 创建 Session 对象
存储数据到 session 对象
获取 session 对象
获取数据从 session 对象
(2) 简述session的特点
答: Session 技术是依赖 Cookie 技术的服务器端的数据存储技术。
由服务器进行创建
每个用户独立拥有一个 session
默认存储时间为 30 分钟
(3) 简述session的作用域
答:一次会话
- session的有效期设置和强制销毁
(1) session的默认有效期?怎么设置session的有效期
答:30分钟,使用setMaxInactiveInterval()方法
(2) 怎么强制销毁session?
答:session.invalidate()
- 简述ServletContext对象的作用(application)
(1) 简述ServletContext对象的作用
答:解决不同用户之间的数据共享问题
(2) 获取ServletContext对象的三种方式是?
答: ServletContext c1 = this.getServletContext();
ServletContext c2 = this.getServletConfig().getServletContext();
ServletContext c3 = this.getSession().getServletContext();
- ServletContext特点&获取web配置文件全局属性&获取资源流对象和绝对路径
(1) 简述ServletContext对象的作用和特点。
答:作用: 解决了不同用户的数据共享问题
特点: 服务器进行创建;用户共享;一个项目只有一个
(2) web.xml中的全局属性数据的配置方式是;
答:比如如下代码:
flag
true
- ServletConfig对象学习
(1) 说说ServletConfig对象的作用
答: ServletConfig 对象是 Servlet 的专属配置对象,每个 Servlet 都
单独拥有一个 ServletConfig 对象,用来获取 web.xml 中的配置信息.