华为面试题-Session相关

标签: Java
8人阅读 评论(0) 收藏 举报
分类:

Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?
 A. The encodeURL method of the HttpServletRequest interface.
 B. The encodeURL method of the HttpServletResponse interface.
 C. The rewriteURL method of the HttpServletRequest interface.
 D. The rewriteURL method of the HttpServletResponse interface.

分析
1. Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。
2. 当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一个唯一标识符Session ID。Servlet 容器将 Session ID 作为 Cookie 保存在客户的浏览器中。每次客户发出 HTTP 请求时,Servlet 容器可以从 HttpRequest 对象中读取 Session ID,然后根据 Session ID 找到相应的 HttpSession 对象,从而获取客户的状态信息。
3. Java Servlet API 中提出了跟踪 Session 的另一种机制,如果客户端浏览器不支持 Cookie,Servlet 容器可以重写客户请求的 URL,把 Session ID 添加到 URL 信息中
4. HttpServletResponse接口提供了重写 URL 的方法:
public String encodeURL(String url)
该方法的实现机制为:

  • 先判断当前的 Web 组件是否启用 Session,如果没有启用 Session,直接返回参数 url。
  • 再判断客户端浏览器是否支持 Cookie,如果支持 Cookie,直接返回参数 url;如果不支持 Cookie,就在参数 url 中加入 Session ID 信息,然后返回修改后的 url。

举例:
我们可以对网页中的链接稍作修改,解决以上问题:
修改前:
<a href=“maillogin.jsp“>
修改后:
<a href=“<%=response.encodeURL(“maillogin.jsp“)%>“>

答案是B

查看评论

浅谈session实现原理(阿里面试题)

最近博主刚刚经历了阿里的技术一面,面试官上来就问了我很多有关网络协议的东东,以前看报文的时候,总有一个cookic在浏览器中.例如php为服务器脚本语言的,会有这样一个名为PHPSESSID的cook...
  • szc2000
  • szc2000
  • 2016-03-21 22:05:25
  • 1856

[面试]cookie和session常见面试题

1、cookie和session原理及区别    cookie采用的是客户端的会话状态的一种储存机制。它是服务器在本地机器上存储的小段文本或者是内存中的一段数据,并随每一个请求发送至同一个服务器。se...
  • wuhuagu_wuhuaguo
  • wuhuagu_wuhuaguo
  • 2017-11-16 16:23:30
  • 798

面试题关于cookie,session,application的区别

Cookie:    ①存在于客户端(可被阻止)   ②只能是文本文档   ③如果设置了期限值,则写入客户端的文件;   如果没有,它只对本窗口或其子窗口有效,其它窗口不能访问该Cookie   ④在...
  • u010214269
  • u010214269
  • 2015-04-01 07:48:25
  • 1075

一次失败的华为面试经历

日前突然接到华为HR的电话,叫我去面试。本来我的工作和工资收入等各方面在本地也还算可以,没有想要跳槽。但是本着去看看有没有更好机会的想法就去了。   9:30到了现场后,在那里等了很久,一个考...
  • phphot
  • phphot
  • 2008-12-04 22:18:00
  • 984

网工的经典面试题三层交换机和路由器

  • 2009年07月20日 12:47
  • 46KB
  • 下载

华为面试题华为面试题华为面试题

  • 2009年10月12日 15:01
  • 48KB
  • 下载

面试题——Cookie和Session的区别

cookie 和session 的区别: 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOK...
  • baidu_31337243
  • baidu_31337243
  • 2015-10-07 21:39:57
  • 4556

华为16道经典面试题

面试过程中,面试官会向应聘者发问,而应聘者的 回答将成为面试官考虑是否接受他的重要依据。对应聘者而言,了解这些问题背后的“猫腻”至关重要。本文对面试中经常出现的一些典型问题进行了整理,并给出相应的回答...
  • godloveyuxu
  • godloveyuxu
  • 2017-06-19 16:59:11
  • 1149

SSH框架之Hibernate的关于session缓存面试题

Hibenate中一级缓存,也叫做session的缓存! 一、面试题1: 不同的session是否会共享缓存数据? 1、代码分析: 2、分析: 不会,因为生成2条update的sql语句, ...
  • qq_34944851
  • qq_34944851
  • 2016-12-21 13:22:12
  • 887

华为面试经典题目系列

  • 2010年01月31日 13:44
  • 27KB
  • 下载
    个人资料
    等级:
    访问量: 0
    积分: 142
    排名: 0