不会暴露实体Bean.如你在后台封装了一个BEAN对象的LIST ,你在前台是用别名去显示数据的.怎么会暴露呢?

解决方案 »

  1.   

    那也就是说,实体bean其实就起到包装数据,并隔离开的作用哦
      

  2.   

    听我慢慢说哈首先,你要明白你调实体Bean 是使用的什么接口算不算暴露关键就在这里我说一下远程接口和本地接口的区别:远程接口需要将对象序例化然后通过socket 传输到客户端,然后再返序列化成对象,即使是在同一个机器,甚至同一个JVM,也需要经过这些步骤,那么就是说,服务器与客户端的对象不是同一个(虽然里面的数据相同),因为经过了序列化和返序列化的过程而本地接口不同,本地接口直接把对象的引用返回到客户端,也就是说服务器与客户端操作的是同一个对象
    由此你应该想到了,因为本地接口服务器与客户端操作的是同一个对象,所以你在客户端的修改,服务器会看得到,如果你修改一个对象的属性值,那么就会修改了数据库的数据而远程接口,客户端怎么改都不会影响到数据库
    再说说你的情况,明确告诉你,你的是属于本地接口,你的会话bean 返回的是对象的引用,客户端拿到后,可以直接改你的数据库
    不过我一般也是象你这样用,用会话bean 包装实体bean,操作实体bean,但是不把这个会话Bean 发布为远程接口,把这个会话Bean做为数据持久层,
    另外再加个会话Bean 做为业务层,用这个调用数据层,业务层发布为远程接口,给客户端调用,这样就安全了不知道我说的明不明白,手累了,呵呵
      

  3.   

    我客户端是通过远程访问会话bean的,这样也叫本地接口吗?比如我查询出来的是一个表数据,客户端要用这个表数据在展示层用树来标示,按你的意思就是说在会话bean就把这个表数据给处理成树然后发给客户端是吗?那如果是这样的话,该把数据存储成什么类型才能标示成树呢?map?