1.Session
HttpSession session = request.getSession();
session.setAttribute("name", "zhangsan");
session.setAttribute("pwd", "aaa");
String name = (String) session.getAttribute("name");
2.cookie:
? 设置 Cookie(默认只对当前浏览器有效)
Cookie c1 = new Cookie(“name”,”value”);
c1.setMaxAge(60);//如果要Cookie长留在本机,设置cookie最大保存时间
response.addCookie(c1);
Cookie是通过服务器端设置到客户端上去的——response
如果要在服务器端取得cookie?request.getCookie()
//创建Cookie
Cookie cookie = new Cookie("name", "zhangsan");
//设置Cookie的超时时间
cookie.setMaxAge(24 * 60 * 60 *60);
//把Cookie发送到客户端
response.addCookie(cookie);
//得到客户端发送的Cookie
Cookie [] cookies = request.getCookies();
for(int i=0; i <cookies.length; i++) {
Cookie temp = cookies[i];
String key = temp.getName();
String value = temp.getValue();
}
3.隐藏表单域
隐藏域:<input type=”hidden” name=”” value=””>
将内容隐藏起来,使用户不能修改,之后随表单一起提交到服务器上显示
地址重写:
通过地址重写,可以将内容传递到服务器端——服务器端只认HTTP协议,而不管接受的内容是以何种形式传送过来的
如果要传递多个参数呢?
*.jsp?name=darkness&password=111
<input type="hidden" name="name" value="zhangsan" />
request.getParameter("name");
4.Url重写
问号传参
LoginServlet?username=zhangsan&pwd=123
String name = request.getParameter("username");
String pwd =request.getPareameter("pwd");
内部跳转:
LoginServlet
request.getRequestDispatcher("index.jsp").forward(request, resposne);
外部跳转:
response.sendRedirect("index.jsp");
内部跳转是一次请求和一次响应
外部跳转是两次请求和两次响应
ServletContext:Servlet上下文对象
它是一个公共区域,可以被所有的客户端共享
setAttribute():向公共区域里放入数据
getAttribute():从公共区域里取数据
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sbshi007/archive/2009/12/17/5024178.aspx
分享到:
相关推荐
每种技术都有其优缺点,比如隐藏表单域和URL重写可能会暴露敏感信息,而Cookie可能被禁用或者被客户端篡改。 总之,基于Servlet的会话跟踪是通过HttpSession对象实现的,它使得服务器能够在无状态的HTTP协议之上...
- 例如,可以在URL中加入Session ID参数,或者通过隐藏表单字段等方式来传递Session ID。 3. **共同目标**:虽然Session和Cookie有不同的特性和应用场景,但它们的共同目标都是为了保持用户的会话状态,提高用户...
4. **Session**:Session是一种服务器端的会话跟踪机制。它在服务器上为每个用户创建一个唯一的会话标识符,并将用户数据保存在服务器上,以提供更高级的安全性和灵活性。 - 创建Session示例: ```php session_...
1. **Session ID**:用于识别用户会话的唯一标识,通常通过Cookie传递,但也可以通过URL重写或隐藏表单字段的方式传递。 2. **存储方式**:服务器端的Session数据可以存储在内存、数据库、文件系统或分布式缓存中。 ...
- Session ID可通过多种方式传递,如URL参数、隐藏表单字段等,不局限于Cookie。 4. **Session的管理**: - PHP中,使用`session_start()`开启Session,`$_SESSION`超全局数组用于存取Session数据。 - Session也...
这个ID被发送给用户,通常通过隐藏的Cookie或者URL参数。随后,用户每次请求页面时,都会将Session ID带回去,服务器根据这个ID找到相应的Session数据,实现对用户的跟踪。 Cookie与Session的区别主要体现在以下几...
### 会话跟踪技术详解 ...本文详细介绍了使用Cookie、URL重写和隐藏表单域三种常见的会话跟踪方法,并重点讨论了Java中实现会话跟踪的具体实现方式。开发者可以根据应用场景选择最适合的会话跟踪方案。
总结,Session是Web开发中用于维护用户会话状态的关键技术,它通过多种方式如Cookie、URL重写等传递会话标识,并在服务器端存储用户相关数据。理解和熟练使用Session对于构建交互性强的Web应用程序至关重要。
本文将深入探讨几种常见的状态管理方式,包括Cookie、Session、Application、Cache以及隐藏域/ViewState/ControlState、ControlState和Profile,对比它们的特性和适用场景。 1. **状态管理与数据库** 状态管理的...
当客户端首次请求服务器时,服务器会为该客户端创建一个唯一的Session ID,并将其通过Cookie或其他方式(如URL重写或隐藏表单字段)返回给客户端。客户端在后续请求中携带这个Session ID,服务器根据ID查找对应的...
1. QueryString:最简单的方式是通过URL的查询字符串来传递参数。在超链接或者服务器端的Response.Redirect方法中,可以添加参数到URL后面。例如,`Response.Redirect("Page2.aspx?name=value")`。在目标页面中,...
这四种主要的会话跟踪方式分别是:`Session`、`Cookie`、隐藏表单域以及URL重写。 ##### 1. Session `Session`是一种服务器端的技术,用于维护用户会话状态。当用户第一次访问某个网站时,服务器将创建一个唯一的`...
- **应用范围**:客户端,用于页面跳转时传递参数。 - **保存位置**:客户端(URL中)。 - **注意事项**:数据暴露在URL中,安全性较低,不适用传输敏感信息。 ### 结论 每种机制都有其独特的应用场景和限制。...
除了Cookie外,session ID还可以通过URL重写或隐藏表单字段传递,但这两种方式无需代理服务器处理。 5. **Cookie规范**: - **Netscape草案**:最初提出的Cookie规范,许多服务器和浏览器仍与其兼容。 - **RFC...
例如,URL参数适合简单的参数传递,cookie适用于小量数据的持久化,而localStorage和sessionStorage适合在单个浏览器会话内传递大量数据。服务器端存储则更适用于复杂的应用场景,确保数据安全和跨会话传递。 在...
【JSP基础速成精华讲解】中,我们主要探讨了两个关键点:Servlet的三个要素以及四种会话跟踪方式。让我们深入了解一下这些概念。 首先,Servlet是Java Web开发中的核心组件,它负责处理HTTP请求并生成响应。Servlet...
查询字符串是URL的一部分,用于在页面间传递参数。这种方式简单但不安全,因为信息对所有人可见。例如: ```csharp // 发送重定向请求 Response.Redirect("User.aspx?UserNameID=10000&LevelD=100"); // 读取信息 ...
5. **隐藏表单字段**:另一种状态管理方式是在表单中包含隐藏字段,将会话ID作为值传递,这种方法适用于POST请求。 6. **JSTL和EL表达式**:JSP标准标签库(JSTL)简化了JSP页面中的逻辑,其中`c:if`, `c:choose`, ...
以下是四种主要的会话管理技术: 1. **使用`HttpSession`对象**:`HttpSession`是Servlet API中用于管理用户会话的核心组件。在示例代码中,`ShowSession`类展示了如何获取和使用`HttpSession`。当用户访问时,如果...
JSP 面试题详解 本文对 JSP 面试题进行了详细的解析,涵盖了 JSP 的基础知识、内置对象、指令...JSP 中有四种会话跟踪技术:cookie、url 重写、session 和隐藏域。这些技术可以用于在多个页面之间传递对象和状态信息。