`
insky
  • 浏览: 38468 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Dao中如何取得HttpSession中的数据

阅读更多


如何在Dao中取得HttpSession中的数据,在用aspectJ做权限判断时需要读取HttpSession的相关信息,应该如何读取?当然不能直接传递session到dao中,查了资料比较好的办法是在filter中初始化session,用ThreadLocal来存储,可能是我对ThreadLocal的理解还不清晰,写了一个跑不起来,大家说应该如何写?
(getHttpSession()方法即使在filter中初始化后读出来的数据也还是空的)这里为了简单起见,ThreadLocal中假设只存用户id这个String类型信息

java 代码
  1. public class HttpSessionFactory {   
  2.   
  3.     public static final ThreadLocal<String> httpSession = new ThreadLocal<String>();   
  4.      public static String getHttpSession() {   
  5.             return (String) httpSession.get();   
  6.         }   
  7.         
  8.      public static void setHttpSession(String userId) {   
  9.             if(httpSession==null){   
  10.                 httpSession.set(userId);   
  11.             }   
  12.         }   
  13. }  
分享到:
评论
6 楼 davis129 2007-10-20  
你这if判断没什么用,去了就行
5 楼 davis129 2007-10-20  
#             if(httpSession==null){  
#                 httpSession.set(userId);  
#             }  

这里是进不去的,应该是httpSession!=null,这样当然拿不到值了,我已经可以用了!
4 楼 davis129 2007-10-20  
都答非所问啊,楼主问怎么用ThreadLocal实现存储HttpSession内的信息,然后AOP等来或得此数据啊。不是用参数传递啊,那样就要改其他类了,偶合性也增强了啊
谁知道啊?
3 楼 snowman6002 2007-06-26  
可以用request
2 楼 ddandyy 2007-06-25  
想取得session中的什么数据

session不能传   只传里面你需要的数据不行么
1 楼 klyuan 2007-06-25  
不管怎么样,你这样搞都是不合理的

相关推荐

    JavaWeb实现网上商城:JSP+Servlet+Dao.zip

    在Servlet中,可以使用`HttpSession`接口来创建、读取和销毁session,以跟踪用户的状态,如登录状态、购物车信息等。 8. **前端技术**: 虽然本项目没有特别指出,但在实际的电商系统中,可能还会使用HTML、CSS和...

    java设计三层架构

    5. DAO将数据封装到JavaBean对象中,返回给业务服务层。 6. 服务层处理完业务逻辑后,将JavaBean返回给控制器。 7. 控制器将JavaBean封装到HttpSession、HttpServletRequest或HttpServletResponse等域对象中,然后...

    普元EOS简单运算逻辑的编写

    5. **服务调用**:Bizlet可以调用其他服务,如DAO服务(数据访问对象)来获取或更新数据,也可以调用远程服务进行跨系统交互。 6. **配置与部署**:完成Bizlet的编写后,需要将其配置到EOS的部署文件中,如`bizlet....

    JavaWeb中的简单分页完整代码(推荐)

    在Java Web开发中,分页是一种常见且实用的技术,它通过将大量的数据分隔成小块,帮助用户更有效地浏览和处理信息。本文将详细介绍如何在Java Web项目中实现简单的分页功能。 首先,登录页面的创建是分页功能的前置...

    j2e实现登录、信息修改

    在J2EE中,登录通常涉及到用户接口(UI)、控制器(Controller)和数据访问对象(DAO)。用户在UI上输入用户名和密码,然后这些信息被发送到Controller进行验证。Controller通过调用DAO与数据库交互,查询用户是否...

    Hiberante中的五大核心接口.txt

    在使用 `Session` 时,应当明确区分 Hibernate 中的 `Session` 与 JSP 中的 `HttpSession`,避免混淆。 #### 三、SessionFactory接口 `SessionFactory` 是用来创建 `Session` 对象的工厂,它是线程安全的,通常在...

    校园论坛bbs系统,采用MVC(JSP+Servlet+JavaBean)模式开发.zip

    5. 数据访问对象(DAO):虽然未直接提及,但通常在MVC架构中,DAO层负责与数据库交互,提供增删查改的操作。在本项目中,可能有一个DAO层,使用JDBC(Java Database Connectivity)或者ORM框架(如Hibernate或...

    mvc购物车.docx

    在mvc购物车系统中,数据访问对象(DAO)是通过Book类实现的。Book类封装了图书的信息,并提供了 getters 和 setters 方法来访问和修改图书信息。 七、JSP页面 JSP页面是mvc购物车系统的视图层。JSP页面负责显示...

    LG.rar_jsp 增删改查

    接着,JavaBean调用DAO(Data Access Object)层的方法,将数据插入到数据库中。最后,Servlet可以将响应结果返回给JSP,展示添加成功的消息。 2. **删除(Delete)**: 删除操作通常基于用户的选择,例如点击一个...

    jsp分页技术 简单易懂

    1. **数据缓存**:将查询结果存储在`HttpSession`或有状态Bean中,每次翻页时从缓存中取出一页数据。这种方法可能导致数据不一致(用户看到旧数据),并且当数据量较大时,首次加载和缓存所有数据会消耗大量内存和...

    费用报销

    费用报销项目描述费用报销系统(ERS)管理着补偿员工在公司工作期间发生的费用的过程。... 在RDS中使用PostgreSQL管理数据特征所有用户都可以执行以下操作: 登入。 报销。 查看过去的报销请求。 编辑个人

    struts分页

    在Struts分页中,DAO会根据Action传递的参数来构造带有LIMIT和OFFSET的SQL语句,以获取指定页的数据。 6. **Servlet API**:Struts可以利用HttpSession、HttpServletRequest和HttpServletResponse等Servlet API来...

    Spring笔记_2017-07-141

    DAO层是数据访问对象,负责与数据库进行交互。 2. **Mapper层**: 在UserDataBaseMapper.xml文件中,添加了SQL查询语句,这是一个基于MyBatis的映射文件。`&lt;select&gt;`标签定义了一个名为`queryUser`的方法,...

    基于框架的Web开发-提交订单.docx

    在CartItemService中添加cartToOrder方法,而CartItemServiceImpl则注入OrderDao和OrderItemDao,实现从购物车数据到订单数据的转换,并调用DAO进行数据库操作。 7. **控制器层**:CartItemServiceController是处理...

    Java-翰子昂新闻发布系统源码-part1.docx

    DAO模式是Java中常用的设计模式,用于解耦业务逻辑和数据存储。 4. **执行查询**:通过`query`方法,DAO查询数据库中是否存在与提供的用户名和密码匹配的用户记录。如果出现异常,系统会捕获并打印错误信息,同时...

    基于jsp+servlet+mysql+eclipse的学生信息管理系统.zip

    6. **数据访问对象(DAO)模式**:DAO模式是用于封装对数据库的操作,提供了一种抽象层,使得业务逻辑层与数据存储层解耦。在这个项目中,DAO类用于执行SQL语句,处理CRUD(Create, Read, Update, Delete)操作。 7...

    网上商城系统(JSP+MYSQL).rar

    6. **会话管理**:系统中可能会使用HttpSession对象来跟踪用户的购物车状态和其他用户特定的信息,确保用户在浏览过程中信息的一致性。 7. **安全性**:考虑到网上商城的安全需求,系统可能包含了防止SQL注入、XSS...

    用sever和jsp完成的简单图书管理系统

    5. 数据访问对象 (DAO):`UserDBAccess` 和 `BookDBAccess` 可能是实现了数据访问层的对象,它们负责与数据库进行交互,执行CRUD(Create, Read, Update, Delete)操作。在这个案例中,`login()` 方法用于查找用户,...

    javaWeb课件

    在源代码中,我们看到`BookDAO.java` 和 `Dao.java`,它们可能代表数据访问对象(DAO)模式的实例。DAO模式是用来封装对数据库的访问,提供抽象层以降低耦合度。 通过这个课件系列,学习者可以掌握JavaWeb开发的...

Global site tag (gtag.js) - Google Analytics