`

四种会话跟踪技术

阅读更多

一、会话
   同一个浏览器进程多次访问服务器,就是一个会话,一个会话包含多个请求。
二、会话跟踪
   将现在页面的数据共享到下面的页面。
三、会话跟踪的四种方式:
 1、url
   在跳转的url地址后面加?XX=XXX,多个用&连接

   数据的保存
 <%
 Sring name = request.getParameter("userName");
 Sring pwd = request.getParameter("userPwd");
 %>
 <form action="suc.jsp?name=<%=name%>&pwd=<%=pwd%>" method="post">
  标题:<input type="text" name="title" />
  内容:<textarea name="content"></textarea>
  
  <input type="submit" value="发表">
 </form>
  suc.jsp中获取数据
        Sring name = request.getParameter("userName");
 Sring pwd = request.getParameter("userPwd");

2、表单隐藏域
    数据保存
    <form action="suc.jsp" method="post">
  标题:<input type="text" name="title" />
  内容:<textarea name="content"></textarea>
  <input type="hidden" name="userName" value="<%=request.getParameter    ("userName") %>">
  <input type="submit" value="发表">
 </form>
 suc.jsp中获取数据
        Sring name = request.getParameter("userName");
 Sring pwd = request.getParameter("userPwd");
3、cookie方式
    服务器上,响应cookie给浏览器

 <% String name = request.getParameter("userName");
    String pwd = request.getParameter("userPwd");
    Cookie cookie = new Cookie("user",name+","+pwd);
    cookie.setMaxAge(1000);
    response.addCookie(cookie);
  
 %>

    浏览器访问服务器的时候会将所有cookie发送给服务器
    在服务器端变量cookie,找到需要的cookie得到账号和密码来自动登录
 <%
 //遍历cookie,不同的网站的cookie的名字是不一样的
 Cookie[] cs=request.getCookies();
 String name ="";
 String pwd="";
 if(cs!=null){
  for(int i=0;i<cs.length;i++){
   if(cs[i].getName().equals("user")){
    String[] str = cs[i].getValue().split(",");
    name=str[0];
    pwd=str[1];
    
   }
  }
  
 }
 
 %>

 <form action="cookie.jsp" method="post">
  账号:<input type="text" name="userName" value="<%=name %>" /><br />
  密码:<input type="password" name="userPwd" value="<%=pwd %>" /><br />
  <input type="submit" value="登陆" />
 </form>

4、session
   浏览器访问服务器的时候,请求对象中会包含一个信息,sessionID(通过浏览器的cookie得到),服务器拿到id,如果id为空,或者服务器根据id找不到对应的会话对象,会新生成一个会话对象和id,会话对象保存在服务器,id发送给浏览器,保存在浏览器的临时cookie中,下次浏览器再次发送请求的时候,请求对象中的会话id就是刚才服务器发过来的,服务器就可以找到对应的会话对象,如果将数据保存在会话对象中,只要请求对象中的id不变,就可以访问相同会话对象的数据。
  在session中保存数据
   <%
 //得到数据,保存在session中,重新定向,由于浏览器中的cookie不变,所以服务器还是会找到同一个session对象
 String name = request.getParameter("userName");
 session.setAttribute("userName", name);
 
 response.sendRedirect("sucsession.jsp");
 %>

重定向:浏览器再次访问服务器,请求对象中的会话id就是刚才的id得到的session就是刚才的会话对象
 sucsession.jsp中得到数据
     <% String name=(String) session.getAttribute("userName"); %>
 <%=name %>登陆成功
   

总结:url、隐藏表单域、cookie都是存放在请求对象中,发给服务器,服务器再通过请求对象得到,但是session对象是保存在服务器的,通过请求对象中包含的sessionID来匹配对应的对象

 

 


 

1
0
分享到:
评论

相关推荐

    jsp四种会话跟踪技术

    JSP提供了四种主要的会话跟踪技术,确保在多个请求之间存储和检索用户信息。 1. **Page Context(页面范围)** 页面范围是最小的范围,仅在当前的JSP页面中有效。任何在`&lt;jsp:declaration&gt;`、`&lt;jsp:scriptlet&gt;`、`...

    用户登录,会话跟踪

    为了识别这些操作属于同一个用户,服务器需要一种方式来跟踪用户,这就是会话跟踪。在HTTP协议本身是无状态的,因此不能自动维持会话信息,所以我们需要借助额外的技术手段。 1. **Cookie**:Cookie是服务器发送到...

    基于Servlet的会话跟踪理解会话跟踪原理

    除了HttpSession,还有其他几种会话跟踪技术,包括: 1. **隐藏表单域**:在HTML表单中包含一个隐藏字段,其中包含了会话ID。当表单提交时,这个ID会随数据一起发送回服务器。 2. **URL重写**:将会话ID附加到URL...

    会话状态跟踪技术选择

    ### 会话状态跟踪技术选择 在Web应用开发过程中,会话状态跟踪是实现用户个性化体验和服务连续性的重要环节。所谓“会话状态跟踪”,即系统通过某种方式记录并跟踪用户的活动状态,以便于在不同请求之间保持一致性...

    JavaWeb会话跟踪技术

    为了解决这个问题,开发者利用各种会话跟踪技术来保持用户的上下文。本篇文章将深入探讨JavaWeb中的会话跟踪技术。 首先,最常见的会话跟踪方法是使用Cookie。Cookie是由服务器发送到客户端(浏览器)的一小段数据...

    JSP中会话跟踪的操作

    在JSP(JavaServer Pages)开发中,会话跟踪(Session Tracking)是一项核心技术,它允许应用程序在多个请求之间保持用户的状态信息。...理解和熟练掌握会话跟踪技术,有助于提高Web应用的用户体验和安全性。

    会话跟踪技术及其应用1

    会话跟踪技术是Web应用程序中不可或缺的一部分,它主要用于在用户浏览多页时保持其状态,以便提供个性化的用户体验和服务。传统的会话跟踪技术主要包括Cookie、URL重写和隐藏表单字段。 Cookie技术是最常见的会话...

    PHP会话跟踪

    #### 一、会话控制概述 ...**会话控制**是指在网络应用中,通过特定机制来跟踪用户与服务器之间的交互过程,从而维持用户的状态信息...通过合理利用会话跟踪技术,不仅可以提升用户体验,还能有效保障应用程序的安全性。

    会话跟踪技术cookie,session

    会话跟踪技术cookie,session

    Web后端开发-使用Session会话跟踪技术,实现用户登录、注销

    总的来说,Session会话跟踪技术是Web后端开发中实现用户登录、注销功能的关键,通过合理地管理和运用Session,可以提供更安全、更便捷的用户体验。在实际项目中,需要结合具体需求和环境,灵活选择和优化Session的...

    7、会话跟踪技术.doc

    在这个过程中,为了在多个请求之间共享数据,开发者会利用Cookie和Session这两种主要的会话跟踪技术。 **Cookie技术详解** 1. **什么是Cookie** Cookie是一个由服务器生成并发送到客户端浏览器的键值对,用来识别...

    中科软java面试题

    java面试题1逻辑题,很多都是给出几个数,然后找规律添空缺的数 2简答,什么是javabean;(2)编程题,用递归方法实现什么功能 (3)数据库,基本的sql语句 ... 四种会话跟踪技术?  3 1+2+3+4+...+100做成函数

    会话跟踪技术

    会话跟踪技术是Web应用程序中用于识别和管理客户端与服务器之间的交互的一种机制。它主要用于维持用户在整个Web应用程序访问过程中的状态信息,确保服务器能够识别不同的用户及其操作。会话跟踪技术在Java Web开发中...

    jsp会话跟踪ppt

    【会话跟踪技术详解】 在Web开发中,服务器通常无法识别出同一个客户端的连续多次连接,因为HTTP协议本身是无状态的。为了在多个请求之间保持客户端的状态,我们需要使用会话跟踪技术。会话跟踪允许服务器识别并...

    Web的会话跟踪技术.md

    Web的会话跟踪刨析

    美团的Mtrace分布式会话跟踪系统架构设计与实践

    ### 美团Mtrace分布式会话跟踪系统架构设计与实践 #### 一、Mtrace项目简介 Mtrace是美团内部开发的一款分布式会话跟踪系统,旨在解决日益复杂的分布式系统中的服务调用关系梳理问题。在这样的系统环境中,每一个...

    实验5 会话及其会话技术.docx

    Servlet 提供了两种类型的会话技术,即 Cookie 和 Session,下面我们将详细介绍这两种技术的实现原理和应用场景。 一、Cookie 对象和常用 API Cookie 是一种小型文本文件,存储在客户端浏览器中,用于记录用户的...

    第5章 会话跟踪.rar

    由于HTTP请求是独立的,服务器无法知道两次请求是否相关,这就需要会话跟踪技术来保持用户的会话状态。 1. **Cookie机制**:这是最常用的会话跟踪方式。服务器在响应客户端(浏览器)时,通过Set-Cookie响应头发送...

    java web整合开发王者归来光盘代码-第五章 会话跟踪

    本资源"java web整合开发王者归来光盘代码-第五章 会话跟踪"正是针对这一主题,提供了丰富的示例和代码,帮助开发者深入理解和掌握会话跟踪技术。 会话跟踪是指在用户的多个请求之间保持某些状态信息。在无状态的...

Global site tag (gtag.js) - Google Analytics