1.什么是会话跟踪?
客户端打开与服务器的连接发出请求到服务器响应客户端请求的全过程称之为会话,而会话跟踪是对同一个用户对服务器的连续的请求和接受响应的监视。浏览器与服务器是通过Http协议通信,因为Http是无状态协议,不会保存信息,当同一个用户发送第二次请求时,Http不知他是否为同一个用户,这是需要会话跟踪技术来进行判断。
2.举例阐述四种会话跟踪技术的特点,应用场景
a.session:
每一个用户都有一个不同的session,各个用户之间是不能共享的,是每个用户所独享的,在session中可以存放信息。当发生对话时,在服务器端会创建一个session对象,产生一个sessionID来标识这个session对象,然后将这个sessionID放入到临时Cookie中发送到客户端,下一次访问时,客户端会将上次发送过来的sessionID发送到服务器,在服务器端进行识别不同的用户 Session是依赖Cookie的,如果Cookie被禁用,那么session也将失效
session虽然是可靠的,但是会占用服务器的资源,当许多同时使用服务器时,会消耗大量的服务器资源,所以尽量不要使用session。
Session主要是存储用户的私人信息。
//创建session对象
HttpSession session =req.getSession();
//req.getSession(true);
b.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>
c.隐藏表单域
隐藏表单域是指在表单form内声明一个type类型为hidden的input标签,用来传递数据(可以在页面内先用JQuery获取要传递的值存入这个input标签的value中)和做一些其它的功能。它的优点是提供了一种往form中存取数据的方法。
基本语法:
<input type="hidden" name="field_name" value="value">
HTML语言创建普通隐藏域
<input type="hidden" name="hdncount" value="值">
JavaScript语言创建隐藏域
<script>
function add(value) { var value= 1 document.all.divHidden.innerHTML="<input type=hidden name=hdncount value=" + value+ ">"; }
</script>
d.Cookie
Cookie是将信息存储到客户端或者用文本保存,并不会占用服务器的资源,是大多数使用的会话跟踪技术,但是因为cookie的不可靠性,使得人们对是否使用它保存质疑并且部分的网站会禁用cookie。
cookie的主要应用场景:
(一):判断用户是否登陆过网站,以便下次登录时能够直接登录。如果我们删除cookie,则每次登录必须从新填写登录的相关信息
(二):另一个重要的应用是“购物车”中类的处理和设计。用户可能在一段时间内在同一家网站的不同页面选择不同的商品,可以将这些信息都写入cookie,在最后付款时从cookie中提取这些信息,当然这里面有了安全和性能问题需要我们考虑了。
String uid = req.getParameter("uid");
String pwd = req.getParameter("pwd");
//创建Cookie名字为uid
Cookie cookie = new Cookie("uid", uid);
//保存时间为60分钟
cookie.setMaxAge(60*60);
//发送到客户端
response.addCookie(cookie);
3.Cookie与Session的区别
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用cookie。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
所以最好是个人信息等放到session里,其他信息放入cookie。
相关推荐
下面是一个简单的JSP会话跟踪示例: ```jsp ; charset=UTF-8" %> // 获取或创建会话 HttpSession session = request.getSession(); // 设置属性 session.setAttribute("username", "John"); // 从会话中...
本文通过三个部分来介绍JSP的基础知识: 第一部分为Servlet技术,包括Servelt入门,会话跟踪,JavaMal和Servlet. 第二部分就是Jsp技术,包括:jsp简介,...•3 会话跟踪技术总结 •4 构建实体Bean的原则 •5 MVC实现数据封装
总结,会话跟踪是Web开发中不可或缺的部分,它确保了用户在网站上的体验连续性。通过掌握各种跟踪技术,开发者能够创建更健壮和安全的Web应用程序,提供定制化服务,并确保用户数据的安全。对于Java JSP web开发者来...
### JSP脚本小总结 #### 一、指令元素 指令元素是JSP页面中用于控制JSP容器行为的关键组成部分,这些指令告诉JSP引擎如何处理特定页面。 1. **page指令** - `import`:指定在当前JSP页面中可以使用的类或包。 `...
当用户成功登录后,系统通常会创建一个会话(Session)来跟踪用户的状态,直到用户主动退出或者会话超时。本教程将深入探讨"登录超时完整实例",包括如何进行`session超时设置`以及在`JSP页面`中处理会话超时的问题...
**JSP 学习总结** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的程序逻辑。对于初学者来说,掌握JSP的基础知识和核心概念至关重要。 ### JSP 开发Web应用系统 ...
3. **session**:用于跟踪用户会话,存储用户信息。 4. **application**:全局应用对象,跨所有用户共享数据。 5. **pageContext**:提供对请求、响应、session、application等对象的访问。 6. **out**:输出流,...
#### 四十、四种会话跟踪技术 - **Cookie**: 通过客户端保存会话ID。 - **URL重写**: 通过URL参数传递会话ID。 - **Hidden Form Field**: 通过隐藏表单字段传递会话ID。 - **SSL Session**: 通过HTTPS协议建立的SSL...
会话跟踪是Web应用程序中的一项重要技术,用于保持用户的会话状态,使用户在多个页面间跳转时能够维持状态。 - **四种主要的会话跟踪方式:** 1. **Session:** 使用`HttpSession`对象来存储和管理用户的会话数据...
### Servlet与JSP知识点总结 #### 一、Servlet概述及基本使用 - **Servlet定义**:Servlet是一种服务器端的小程序,用于处理来自Web浏览器或其他HTTP客户端的请求,并返回响应。Servlet通常作为MVC架构模式中的...
**index.jsp** 页面包含了用于跟踪用户离开页面或关闭浏览器窗口的JavaScript代码。当检测到这些动作时,会触发一个名为`SessionInvalidate`的Servlet,该Servlet用于销毁当前用户的会话。 ```html window....
- **会话管理**:使用session对象跟踪用户状态,例如购物车信息。 3. **关键技术**: - **JSP指令**:如`<%@ page>`设置页面属性,`<jsp:include>`引入其他文件,`<jsp:useBean>`实例化Java Bean。 - **JSP...
HTTP协议、请求方式(GET和POST)、会话跟踪、JDBC高级特性、JSP标准动作以及EL表达式的运用,都是开发过程中需要熟练掌握的关键知识点。通过学习和实践,开发者可以构建出高效、可维护的企业级应用。
以上是对JSP初级学习的总结,涵盖了从处理HTTP请求和响应到管理用户会话的关键概念。对于初学者来说,这些都是构建动态Web应用的基础。随着技能的提升,还将涉及到更高级的主题,如EL(Expression Language)、JSTL...
6. **会话管理**:Servlet可以使用`HttpSession`接口管理用户会话,跟踪用户状态。 7. **过滤器**:Servlet Filter允许在请求到达目标Servlet之前进行拦截和处理,常用于登录验证、数据编码等。 8. **监听器**:...
总结来说,"JSP_jsp_application实例"是一个综合性的JSP学习资源,涵盖了JSP的基本要素和实际应用技巧。通过分析和实践这个实例,开发者能够提升自己在JSP领域的技能,更好地理解Web开发中的动态内容生成和交互流程...
会话通过cookie或URL重写来跟踪。 4. **Application作用域**: - `application` 对象是 `javax.servlet.ServletContext` 类型,它在整个Web应用程序的生命周期内都有效。这意味着无论哪个用户、哪个会话,只要...
总结,"JSP开发的项目跟踪系统"涉及到的IT知识点包括但不限于JSP基础、Servlet-JSP协作、MVC模式、JavaBean、JSTL与EL、数据库操作、Session与Cookie管理、权限控制以及响应式设计等。这些技术共同构建了一个功能...
3. session:处理会话数据,用于跟踪用户状态。 4. application:全局应用范围变量,所有用户共享。 5. out:负责将内容写入响应流。 6. pageContext:提供对JSP上下文的访问,可以获取其他对象。 7. page:当前JSP...