0

servlet中跟踪会话有哪些不同的方法。是否可以使用隐藏文件?

4

8 回答 8

6

有三种方式

  • 隐藏的表单域
  • 饼干
  • 网址编码。

其中一种方法是使用HttpSession您可以使用创建会话

HttpSession session = request.getSession();

或者你可以使用HttpSession session = request.getSession(true). 这两个语句都意味着如果与该用户有关联的会话,则返回该会话或创建一个新会话。如果false通过,则不会创建新会话。

于 2013-08-13T10:06:11.470 回答
3

可以通过以下方式维护会话

  • 隐藏的表单域。
  • 饼干
  • 编码网址
  • 会话对象看看这里的链接
于 2013-08-13T10:06:01.080 回答
2

在 servlet 中跟踪会话的不同方法是:

  1. 使用会话 API:一个示例代码是:

    //store the username object in the session-scope
    HttpSession session = request.getSession();
    session.setAttribute("username",username);
    

    要检索会话属性,请使用 session.getAttribute()

    Username username = (Username) session.getAttribute("username");
    
  2. 使用 cookie API:示例代码:

    String name = request.getParameter("username");
    Cookie c = new Cookie("username",name);
    response.addCookie(c);
    

    应该注意的是,使用 cookie 进行会话管理的一个主要缺点是有时客户端可能会关闭 cookie。

  3. 使用 URL 重写:URL 重写策略不像 cookie 策略那样透明。它可以以如下形式实现:

    //present the form
    out.println("<form action='"+response.encodeURL("login.")+"'");
    
  4. 也可以使用隐藏的表单域。

于 2013-08-17T14:01:28.220 回答
1

是的,隐藏字段是可能的。

还有其他方法

  • 用户授权
  • 隐藏字段
  • 网址重写
  • 饼干
  • 会话跟踪 API
于 2013-08-13T10:06:58.100 回答
0

假设一个实现 HTTP 会话的 servlet 从三个不同的客户端(浏览器)接收 HTTP 请求。对于每个客户端请求,servlet 必须能够确定客户端请求所属的 HTTP 会话。每个客户端请求仅属于 servlet 跟踪的三个客户端会话之一。目前,该产品提供了三种跟踪会话的方式:

With cookies
With URL rewriting
With SSL information
于 2013-10-30T04:24:20.507 回答
0

这些是跟踪会话的方法

1.带有cookies
2.带有URL重写3.带有
SSL信息

更多详情请点击这里

于 2013-08-13T10:21:34.730 回答
0

会话可以以流动的方式保持

  1. 隐藏的表单域:- 动态生成表单时使用 full
  2. 饼干
  3. 网址重写
  4. HttpSession

HttpSession取决于cookies 。它使用 cookie 将会话 ID 存储在客户端系统中。

于 2013-08-13T10:08:26.457 回答
0

有多种会话跟踪机制

  1. 会话 API
  2. 饼干
  3. 网址重写
  4. 隐藏的表单域

隐藏表单域 ->

在这种情况下,我们使用隐藏的文本字段来维护用户的状态。记住客户信息只是程序员的伎俩。


于 2017-07-23T17:12:06.330 回答