`
涛涛饭
  • 浏览: 10476 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论
阅读更多

自己总结一些会话跟踪的知识点,希望对大家有帮助!

 

1. 什么是会话跟踪

 

对同一个用户对服务器的连续的请求和接受响应的监视 

 

2.举例阐述四种会话跟踪技术的特点,应用场景

 

会话跟踪常用的方法: 

URL重写:URL(统一资源定位符)Web上特定页面的地址,URL重写的技术就是在URL结尾添加一个附加数据以标识该会话,把会话ID通过URL的信息传递过去,以便在服务器端进行识别不同的用户

 

url?参数名=&参数名=值··········

 

例如:

<div class="menu_title">
	<a href="oneArticle.jsp?id=<%=rs.getInt("id")%>">
<%=rs.getString("articletitle")%></a>
<%=rs.getString("articletime")%>
	<a href="lanmu.jsp">
<%=rs.getString("menuname")%></a>
</div>

 rs.getInt("id")这是通过数据库查询出来的,这个ID它是标识了唯一一条用户资料的信息,并且将这个ID数据传给oneArticle.jsp这个jsp页面。

 

隐藏表单域:将会话ID添加到HTML表单元素中提交到服务器,此表单元素并不在客户端显示

<form action="updateinfoChat.jsp" method="post">
<input type="hidden"name="userid"value="<%=userid%>"/>
				
					
帐号:<%=rs.getString("username") %><br/>
密码:<input type="password" name="userpwd" value="<%=rs.getString("userpwd")%>" /><br/>
确认密码:<input type="password" name="userpwd2"/><br/>
Email:<input type="text" name="email" value="<%=rs.getString("useremail")%>"/><br/>
电话:<input type="text" name="tel" value="<%=rs.getString("usertel")%>"/><br/>
个性签名:<input type="text" name="userdesc" value="<%=rs.getString("userdesc")%>"/><br/>
<input type="submit" value="确认修改"/>
</form>

 <input type="hidden"name="userid"value="<%=userid%>"/>

这个就是通过隐藏表单域来实现会话跟踪。

Cookie:CookieWeb服务器发送给客户端的一小段信息,客户端请求时可以读取该信息发送到服务器端,进而进行用户的识别。对于客户端的每次请求,服务器都会将Cookie发送到客户端,在客户端可以进行保存,以便下次使用
客户端可以采用两种方式来保存这个Cookie对象,一种方式是保存在客户端内存中,称为临时Cookie,浏览器关闭后这个Cookie对象将消失。另外一种方式是保存在客户机的磁盘上,称为永久Cookie。以后客户端只要访问该网站,就会将这个Cookie再次发送到服务器上,前提是这个Cookie在有效期内。这样就实现了对客户的跟踪。
Cookie
是可以被禁止的。

//创建Cookie对象

Cookie cookieName = new Cookie("userName",userName);

cookieName.setMaxAge(60*60);

//cookie对象响应给客户端

response.addCookie(cookieName);

      

//创建Cookie对象

Cookie cookiePwd = new Cookie("userPwd",userPwd);

cookiePwd.setMaxAge(60*60);

//cookie对象响应给客户端

response.addCookie(cookiePwd); 

将用户的账号和密码存到cookie里面,组成一个cookie数组,通过cookie数组可以随时获得用户的账号和密码。

session: 
每一个用户都有一个不同的session,各个用户之间是不能共享的,是每个用户所独享的,在session中可以存放信息。 
在服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到Cookie中发送到客户端,下一次访问时,sessionID会发送到服务器,在服务器端进行识别不同的用户
Session是依赖Cookie的,如果Cookie被禁用,那么session也将失效 

session.setAttribute("user", userName);

session.setAttribute("userid", userid);

将用户的账号和密码存到session对象里面,通过session对象随时可以获得用户的账号和密码。

3.cookiesession的共同之处在于:

cookiesession都是用来跟踪浏览器用户身份的会话方式

CookieSession的区别:

两个都可以用来存私密的东西,同样也都有有效期的说法,区别在于session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。

 

(1)cookie数据存放在客户的浏览器上,session数据放在服务器上
(2)cookie
不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
(3)session
会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
(4)
单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K
(5)
所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE

4.session对象的创建

HttpSession session=request.getSession(); 

HttpSession session=request.getSession(true); 

上面二种创建session的方法效果是一样的。首先获取传递进来的在Cookie中存放的sessionID,再根据sessionID查找session对象,如果没有找到将创建一个新的session对象,并保存到Cookie中发送到客户端。如果找到了,就将session对象赋予给引用


HttpSession session=request.getSession(false); 

 

如果不存在会话的时候不想创建新的会话

这种方式创建过程: 首先获取传递进来的在Cookie中存放的sessionID,再根据sessionID查找session对象,如果没有找到将返回null,如果找到了,就将session对象赋予给引用

5.访问与会话相关联的信息

HttpSession 对象存在于服务器上,他们并不在网络上传输,它们只是通过某种后台运作机制比如cookieurl重写自动与客户关联起来Session对象拥有内建的数据结构散列表,存储任意数量的键与键值的对。

 

 

 

Session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态

 

分享到:
评论
1 楼 fallagain 2016-03-02  

相关推荐

    JSP中会话跟踪的操作

    下面是一个简单的JSP会话跟踪示例: ```jsp ; charset=UTF-8" %&gt; // 获取或创建会话 HttpSession session = request.getSession(); // 设置属性 session.setAttribute("username", "John"); // 从会话中...

    JSP基础知识总结(JSP技术,XML配置,会话,JavaBean)

    本文通过三个部分来介绍JSP的基础知识: 第一部分为Servlet技术,包括Servelt入门,会话跟踪,JavaMal和Servlet. 第二部分就是Jsp技术,包括:jsp简介,...•3 会话跟踪技术总结 •4 构建实体Bean的原则 •5 MVC实现数据封装

    完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt

    总结,会话跟踪是Web开发中不可或缺的部分,它确保了用户在网站上的体验连续性。通过掌握各种跟踪技术,开发者能够创建更健壮和安全的Web应用程序,提供定制化服务,并确保用户数据的安全。对于Java JSP web开发者来...

    登录超时完整实例、session超时设置、JSP页面会话超时

    本教程将深入探讨"登录超时完整实例",包括如何进行`session超时设置`以及在`JSP页面`中处理会话超时的问题。 首先,我们需要理解什么是登录超时。登录超时是指用户在一定时间内未进行任何操作,系统自动判断该用户...

    JSP脚本小总结

    ### JSP脚本小总结 #### 一、指令元素 指令元素是JSP页面中用于控制JSP容器行为的关键组成部分,这些指令告诉JSP引擎如何处理特定页面。 1. **page指令** - `import`:指定在当前JSP页面中可以使用的类或包。 `...

    jsp的一些初级总结

    以上是对JSP初级学习的总结,涵盖了从处理HTTP请求和响应到管理用户会话的关键概念。对于初学者来说,这些都是构建动态Web应用的基础。随着技能的提升,还将涉及到更高级的主题,如EL(Expression Language)、JSTL...

    jsp学习总结适合学生看的

    **JSP 学习总结** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的程序逻辑。对于初学者来说,掌握JSP的基础知识和核心概念至关重要。 ### JSP 开发Web应用系统 ...

    servlet jsp总结

    ### Servlet与JSP知识点总结 #### 一、Servlet概述及基本使用 - **Servlet定义**:Servlet是一种服务器端的小程序,用于处理来自Web浏览器或其他HTTP客户端的请求,并返回响应。Servlet通常作为MVC架构模式中的...

    jsp实现在线人数及在线用户统计

    **index.jsp** 页面包含了用于跟踪用户离开页面或关闭浏览器窗口的JavaScript代码。当检测到这些动作时,会触发一个名为`SessionInvalidate`的Servlet,该Servlet用于销毁当前用户的会话。 ```html window....

    关于jsp的一些知识总结

    3. session:处理会话数据,用于跟踪用户状态。 4. application:全局应用范围变量,所有用户共享。 5. out:负责将内容写入响应流。 6. pageContext:提供对JSP上下文的访问,可以获取其他对象。 7. page:当前JSP...

    JSP开发的项目跟踪系统.zip

    总结,"JSP开发的项目跟踪系统"涉及到的IT知识点包括但不限于JSP基础、Servlet-JSP协作、MVC模式、JavaBean、JSTL与EL、数据库操作、Session与Cookie管理、权限控制以及响应式设计等。这些技术共同构建了一个功能...

    jsp登录会话的简单实现

    在本文中,我们将深入探讨如何使用JSP实现一个简单的登录会话系统。首先,我们要了解JSP(JavaServer Pages)是Java技术的一部分,用于创建动态网页。它允许开发者在HTML中嵌入Java代码,以便与服务器进行交互。 **...

    JSP学习总结(多人智慧的结晶)

    会话跟踪是Web应用程序中的一项重要技术,用于保持用户的会话状态,使用户在多个页面间跳转时能够维持状态。 - **四种主要的会话跟踪方式:** 1. **Session:** 使用`HttpSession`对象来存储和管理用户的会话数据...

    JSP的四种作用范围总结

    在 `02.jsp` 中,通过 `session.getAttribute()` 可以获取到在 `01.jsp` 中设置的属性,因为它们处于同一个会话中。 - 如果在 `02.jsp` 中使用 `request.setAttribute()` 设置属性,并且使用超链接跳转到 `03.jsp`,...

    JSP_jsp_application实例

    总结来说,"JSP_jsp_application实例"是一个综合性的JSP学习资源,涵盖了JSP的基本要素和实际应用技巧。通过分析和实践这个实例,开发者能够提升自己在JSP领域的技能,更好地理解Web开发中的动态内容生成和交互流程...

    JSP+Servlet+JavaBean

    HTTP协议、请求方式(GET和POST)、会话跟踪、JDBC高级特性、JSP标准动作以及EL表达式的运用,都是开发过程中需要熟练掌握的关键知识点。通过学习和实践,开发者可以构建出高效、可维护的企业级应用。

    jsp内置对象及常用函数总结

    在JavaServer Pages (JSP) 技术中,内置对象是预定义的、可以直接在页面上使用的对象,无需显式创建。这些对象极大地简化了开发过程,提供了与Servlet API的直接交互。本篇文章将深入探讨JSP中的9个内置对象及其常用...

    JAVAWEB-10:会话技术之session&JSP

    总结来说,Session和JSP是JavaWeb开发中用于处理会话状态的重要工具。掌握它们的使用和管理,对于构建高效、稳定的Web应用程序至关重要。在实际开发中,我们需要根据具体需求,灵活运用这两种技术,同时注意性能优化...

    JSP听课笔记总结

    3. **session**:用于跟踪用户会话,存储用户信息。 4. **application**:全局应用对象,跨所有用户共享数据。 5. **pageContext**:提供对请求、响应、session、application等对象的访问。 6. **out**:输出流,...

Global site tag (gtag.js) - Google Analytics