在jsp中管理用户会话时,我们有时通过使用session.setAttribute()设置varialble来使用会话,另一方面我们可以创建java bean对象)存储用户信息,并可以在另一页上查看。谁能告诉我这两件事有什么区别?在jsp中用于会话管理的java bean和会话之间的区别
回答
它们只是传递相同数据的稍微不同的方式。
正如你说,你既可以:
(1)
session.setAttribute("entry", entry);
或(2)
session.setAttribute("name", entry.getName());
session.setAttribute("address", entry.getAddress());
session.setAttrubute("phone", entry.getPhone());
那么对于(1)中,JSP可能包括:
Name: ${entry.name}<br/>
Address: ${entry.address}<br/>
Phone: ${entry.phone}<br/>
而对于(2),等效JSP可能是:
Name: ${sessionScope['name']}<br/>
Address: ${sessionScope['address']}<br/>
Phone: ${sessionScope['phone']}<br/>
(或者您可以使用<c:set>
设置一些局部变量,使上面的代码有点更具可读性)。
基本上,两者都是相同的,但(1)使用较少的代码并且更易于阅读和理解。
(虽然我还是一个Java EE新受自己,所以我不会介意一个更有经验的意见!)
有许多的不同之处。首先,当你将东西存储为一个属性时,它被存储为一个对象,所以当你检索它时,它必须被转换为实际的东西,而一个bean始终是它的类。
其次,当你使用一个bean时,你不必担心它是否被创建。如果bean已经被创建,jsp:useBean标签将访问这个bean,如果它没有创建它,那么如果你想调用一个函数或者使用一个get方法,你可以保证它在你使用bean时存在。如果您打算将它存储在会话变量中,但在存储它之前尝试访问它,它将返回null并调用函数将导致一些问题。
通常,您使用会话变量来传递信息,而您使用bean来传递具有您可能需要调用的函数的类。因此,如果你打算传递相对简单的数据(例如字符串),那么把它扔到会话变量中没有什么不妥。 null作为一个值是有意义的,只是在比较时要小心(例如:string_var.equals((String)session.getAttribute(“attribute_name”))not((String)session.getAttribute(“attribute_name”))。equals(string_var )作为第二个可能是null.equals()这是没有定义)。
如果你在MVC框架中编程,那么(据我的理解),你通常使用bean来写入会话(或其他,根据情况而定)变量,然后你的JSP页面将加载信息会话变量。这(除其他外)使网页更新安全(也就是说,如果点击刷新按钮,它将再次从会话变量中获取信息,而不是再次运行所有代码并从会话变量中重新载入信息),当你追加信息,递增或递减时,这是一件大事。
不可否认,我对JSP比较陌生,但那是我对情况的理解。
- 1. 管理bean和会话bean之间的区别
- 2. 在Java中,Hibernate会话,JSP/Servlet会话和会话事务管理之间有什么区别
- 3. 会话bean和实体bean以及有状态会话bean和无状态会话bean之间的区别
- 4. 在jsp的会话管理中使用http和https的区别
- 5. 会话和缓存之间的区别
- 6. PHP会话和自制会话之间的区别?
- 7. Servlet和JSP中的会话管理
- 8. JSP/ASP会话对象会话和网站用户帐户会话之间的区别?他们不一样吗?
- 9. JSP会话和Bean混淆
- 10. 春季会话bean管理
- 11. 在php和jsp之间共享会话
- 12. jsp项目中的会话管理
- 13. servlet jsp中的会话管理
- 14. 如何在Jsp中使用会话Bean?
- 15. 文件中和数据库中的会话之间的区别
- 16. 会话Bean用户管理JSF
- 17. 不同Java EE应用程序之间的会话管理
- 18. 用于EC2实例中会话管理的Memcached会话管理器
- 19. 使用web.xml和setMaxInactiveInterval设置会话超时之间的区别
- 20. Http会话管理/可选会话管理(Java)
- 21. 快速会话中req.sessionID和req.session.id之间的区别
- 22. TLS中主密钥和会话密钥之间的区别
- 23. Java的会话Bean上兰
- 24. hibernate会话和连接池之间的区别和关系?
- 25. Symfony2:管理会话时间
- 26. 会话管理对于笨
- 27. 会话管理
- 28. 会话管理
- 29. 会话管理
- 30. 有状态会话Bean和HTTP会话