java中Cookie被禁用后Session追踪问题

时间:2025-07-30 00:24:00 java语言

java中Cookie被禁用后Session追踪问题

  这篇文章主要介绍了Java中Cookie被禁用后Session追踪问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  一.服务器端获取Session对象依赖于客户端携带的Cookie中的JSESSIONID数据。如果用户把浏览器的隐私级别调到最高,这时浏览器是不会接受Cookie、这样导致永远在服务器端都拿不到的JSESSIONID信息。这样就导致服务器端的Session使用不了。

  Java针对Cookie禁用,给出了解决方案,依然可以保证JSESSIONID的传输。

  Java中给出了再所有的路径的后面拼接JSESSIONID信息。

  在 Session1Servlet中,使用response.encodeURL(url) 对超链接路径拼接 session的唯一标识

  /pic/p>

  response.setContentType("text/html;charset=utf-8");

  /pic/p>

  String path = response.encodeURL("/day11/session2");

  System.out.println(path);

  /pic/p>

  response.getWriter().println("ip地址保存成功,想看 请<a href='" + path + "'>点击</a>");

  二.在response对象中的提供的encodeURL方法它只能对页面上的超链接或者是form表单中的action中的路径进行重写(拼接JSESSIONID)。

  如果我们使用的重定向技术,这时必须使用下面方法完成:其实就是在路径后面拼接了 Session的唯一标识 JSESSIONID。

  /pic/p>

  String path = response.encodeRedirectURL("/day11/session2");

  System.out.println("重定向编码后的路径:" + path);

  response.sendRedirect(path);

  session2代码,获得session1传过来的ID

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  /pic/p>

  /pic/p>

  HttpSession session = request.getSession();

  /pic/p>

  String ip = (String) session.getAttribute("ip");

  /pic/p>

  response.setContentType("text/html;charset=utf-8");

  response.getWriter().println("IP:" + ip);

  }

  session1代码

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

  /pic/p>

  /pic/p>

  HttpSession session = request.getSession();

  /pic/p>

  String ip = request.getRemoteAddr();

  /pic/p>

  session.setAttribute("ip", ip);

  /pic/p>

  /pic/p>

  Cookie cookie = new Cookie("JSESSIONID", session.getId());

  /pic/p>

  cookie.setMaxAge(60 * 30);

  /pic/p>

  cookie.setPath("/");

  /pic/p>

  response.addCookie(cookie);

  /pic/p>

  /pic/html;charset=utf-8");

  /pic/day11/session2");

  /pic/p>

  /pic/a>");

  /pic/p>

  String path = response.encodeRedirectURL("/day11/session2");

  System.out.println("重定向编码后的路径:" + path);

  response.sendRedirect(path);

  }

  以上所述是小编给大家介绍的java中Cookie被禁用后Session追踪问题,希望对大家有所帮助!

【java中Cookie被禁用后Session追踪问题】相关文章:

PHP创建和使用session cookie变量10-26

java设置cookie方法流程03-15

Java中finally的问题10-29

关于Java读写Cookie记录的方法08-30

Session在PHP中的使用07-28

如何使用php中session10-08

PHP中COOKIE支持详解10-25

php中session的基础知识06-26

js中cookie的使用方法12-03