0 0

关于线程安全 HttpSession的一点困惑5

各位大侠,最近我在看 <java 并发实践>。提到了HttpSession
说是因为HttpSession 有时候是需要序列化的,所以线程安全的HttpSession要求包含的对象也是线程安全的。

小弟又几点不解
    (1) HttpSession 里面包含的引用,在不需要序列化的情况下也有可能涉及线程安全的问题(如果 Session里边的引用跨线程共享)。那为什么那本书里边只是提及只有在序列化的时候才会涉及到容器包含的对象线程安全?
    (2) 为什么在需要序列化的时候,需要容器对象提供线程安全保证?
2014年4月04日 12:03

4个答案 按时间排序 按投票排序

0 0

“那为什么那本书里边只是提及只有在序列化的时候才会涉及到容器包含的对象线程安全? ”——没有吧,在第一章,有提到在Servlet,jsp,ServletContext,Filter,HttpSession中保存的对象都必须是线程安全的。在1.4节。

2015年4月15日 10:53
0 0

我也是在看《java 并发实践》时有此疑惑,以前一直没有想到保存在HttpSession中的对象必须是线程安全的。这么话,那么很多使用到HttpSession的Java程序,其实是存在并发问题的。比如我们在HttpSession中保存一个User对象的信息,而User类是一个普通的pojo,带有普通的get,set方法,那么这里是有并发问题的。

2015年4月15日 10:49
0 0

你可以想象一下,如果你有一个引用对象是多线程共享的,这个时候,如果你在对该对象进行序列化,而此时,该对象的相应属性被其他的线程修改了,你觉得会怎么样?即,序列化后的对象与你开始序列化时的对象就不是同一个了。所以,需要提供线程安全保证。

2014年4月04日 23:02
0 0

我感觉是
对象要通过网络传输或者存到本地硬盘 时需要序列化
这样就涉及到session共享?
所以会涉及多线程访问?

2014年4月04日 13:33

相关推荐

    httpSession

    描述中提到的“博文链接:https://eggbucket.iteye.com/blog/1350360”,虽然没有提供具体的内容,但可以推测这是一个关于httpSession深入分析或者使用技巧的博客文章。通常,这样的文章可能会包含以下知识点: 1. ...

    HttpSession的使用

    **HttpSession详解** 在Web开发中,`HttpSession` 是一个至关重要的概念,它属于Java Servlet API的一部分,用于在客户端浏览器和服务器之间存储状态信息。当你需要在用户的不同请求之间保持某些数据时,例如购物车...

    servlet多线程

    - `HttpSession`:虽然在理论上只被处理同一Session请求的线程访问,但在多窗口或标签页的情况下,仍需注意同步处理以避免数据冲突。 - `ServletRequest`:每个请求对应一个独立的`ServletRequest`对象,因此它是...

    spring websocket获取httpsession

    在Spring 4版本中,我们经常需要结合WebSocket与HttpSession来处理需要用户上下文信息的场景。本篇将详细讲解如何在Spring WebSocket中获取HttpSession。 首先,我们需要理解WebSocket与HttpSession的基本概念。...

    httpsession实现验证码登录小实例

    在本文中,我们将深入探讨如何使用Java编程语言和HttpSession接口来实现一个简单的验证码登录系统。验证码(CAPTCHA)是一种防止恶意机器人或自动化程序非法访问网站的安全机制,它要求用户输入图片上显示的一组随机...

    1工作临时-servlet 多线程问题

    在这个场景下,可能的问题可能是由于Servlet在处理高并发请求时,由于多线程并发访问共享资源导致的线程安全问题。 在Java Web环境中,Servlet容器(如Tomcat、Jetty等)会为每个HTTP请求创建一个新的线程来处理,...

    Web应用安全:HTTPSession.pptx

    Web 应用安全:HTTP 会话 HTTP 会话(HTTP Session)是 Web 应用安全中的一种重要技术,用于维护用户会话状态。下面是 HTTP 会话的相关知识点: 一、HTTP 会话的原理 当用户第一次访问 Servlet 时,服务器端会给...

    JSP进度条使用线程制作

    此外,为了保证用户体验,还要考虑线程安全和性能优化。例如,确保多用户同时使用时,每个用户的进度不会互相干扰,以及合理控制AJAX请求频率,避免过于频繁导致服务器压力过大。 总的来说,"JSP进度条使用线程制作...

    java会话管理、多线程.docx

    线程交互通常通过共享数据或通过线程安全的方式来实现,而线程同步是确保多个线程在访问共享资源时不会出现数据不一致的情况。Java提供了多种同步机制,包括: - synchronized关键字:用于方法或代码块,确保同一...

    利用HttpSession实现Ajax请求重定向.docx

    HttpSession 实现 Ajax 请求重定向 标题:利用 HttpSession实现Ajax请求重定向 描述:如何在 Ajax 请求正常执行的情况下,实现网页重定向 标签:Ajax 重定向 HttpSession post 在本文中,我们将探讨如何使用 ...

    WebSocket区分不同客户端两种方法(HttpSession和@PathParam)

    HttpSession httpSession = (HttpSession) config.getUserProperties().get(HttpSession.class.getName()); } } ``` 通过这种方式,可以在WebSocket连接建立时获取到当前用户的`HttpSession`,从而获取用户的相关...

    java线程聊天室(阻塞队列实现)

    在实际实现中,可以使用Spring框架的HttpSession监听器或者自定义Filter来管理session。当用户发送消息时,需要将session ID一同发送,以便服务器识别用户并将其放入正确的消息接收队列。此外,为了保证聊天室的安全...

    servlet-api.jar 适用于import javax.servlet.http.HttpSession;异常

    servlet-api.jar 适用于import javax.servlet.http.HttpSession;异常 直接下载后直接导入 即可,

    ServletHttpSession DEMO

    以上就是关于ServletHttpSession的核心知识点。在实际开发中,合理运用Session可以有效提升用户体验,但也要注意控制Session的使用,防止服务器资源的过度消耗。在ServletHttpSessionExample的实践中,你可以尝试...

    HTTPSession-开源

    HTTPSession库支持这些认证方式,简化了在Java应用中集成安全验证的过程。开发者可以通过库提供的API,方便地处理授权请求,确保客户端与服务器之间的通信安全。 3. **引用管理**: 在Web应用中,链接和URL的管理...

    HttpSession/session,jsp,servlet——综合练习题一

    结合“web26_session5示例1”这个文件,我们可以假设这是一个关于`HttpSession`使用的教学示例。可能的内容包括创建一个新的会话,设置和获取会话属性,以及处理会话过期的情况。这个示例可能涉及到一个简单的登录...

    Web_4_状态管理Cookie和HttpSession1

    状态管理的两种常见模式是Cookie和HttpSession。Cookie是一种客户端状态管理技术,它将状态信息存储在用户的浏览器中。服务器通过在HTTP响应头中添加`Set-Cookie`字段,向浏览器发送Cookie,浏览器则会在后续的请求...

    在WebSphereApplicationServerV7集群环境中管理HTTPsession.pdf

    在WebSphereApplicationServerV7集群环境中管理HTTPsession.pdf

Global site tag (gtag.js) - Google Analytics