控制Java EE项目中的范围的方法是什么?我正在阅读有关会话,请求,应用程序范围以及某些bean应该被限制在一个或另一个的限制。这通常如何完成?它是由什么类型的项目创建的,特殊的注释或其他方法?根据我的经验,我注意到,除了相同的包之外,我的bean,servlet或DAO都无法访问对方,除非我注入或导入相关的类。Java EE项目中的控制范围
0
A
回答
1
我认为你是混合的东西。列出的作用域用于JSF支持bean,通常与HTTP会话或请求相关。在这种情况下,EJB-s没有范围。要使用它们,必须使用DI注释(或通过JNDI上下文查找)注入它们。
1
范围是指变量的寿命和可用时间。在Java Web应用程序中,有四个范围:页面,请求,会话和应用程序。对于具有Page范围的变量/对象,它们仅存在于JSP页面中。默认情况下,在JSP中创建的任何对象或变量都具有Page范围。
只要请求有效,请求范围变量/对象即可生效 - 请记住请求可能跨越多个JSP/Servlet。
会话作用域对象存在并且可以在会话持续期间通过所有请求,JSP和Servlet访问。 '会话'通常是用户在登录会话期间查看的所有页面。
应用程序作用域对象和变量是全局范围的,并且只要应用程序正在运行即可。他们可以从所有的请求,JSP,Servlets等访问。
0
您正在将EE范围与class/package/etc混淆。范围。
通过将对象放置到您提到的其中一个示波器中,可以将对象暴露给JSP页面(或其他视图层技术)。它与Java程序包/类的可见性无关,但该对象是否可用于整个application
,当前用户的session
,当前request
或当前page
。
应用程序范围在应用程序期间持续存在。会话范围特定于特定用户与应用程序的“对话” - 这就是为什么我们需要会话cookie或URL重写(jsessionid
的事)。请求范围持续用户特定请求的持续时间,也是特定用户特有的。页面范围...说实话,我不知道它的使用频率。
相关问题
- 1. Java EE 6 - JSF控制器
- 2. Java EE示例项目
- 3. 承认Java EE项目
- 4. 控制UIScrollView超出其目标范围
- 5. 围栏项目的围栏范围?
- 6. 迁移Java EE项目的规范级别
- 7. 使用Java EE设计模式的Java EE项目示例
- 8. Linux上用于Java EE的Eclipse - 无法查看Java EE项目?
- 9. Jetspeed在Java EE项目中导入
- 10. 在Weblogic中部署Java EE项目
- 11. 在Eclipse中导入Java EE项目
- 12. 指令/控制范围,控制
- 13. Java EE的Eclipse项目结构
- 14. Java EE项目的体系结构
- 15. JPQL查询的Java EE项目
- 16. Java EE上的项目构想
- 17. Java EE项目的Javascript框架
- 18. 范围滑块控制
- 19. 如何控制SSLContext范围
- 20. @NonNullByDefault项目范围设定
- 21. 定制的Web MVC的传统Java EE项目
- 22. 如何在Eclipse Java EE项目中引用另一个项目?
- 23. $范围未更新 - 控制器规范
- 24. 学习资源范围内的项目
- 25. 如何计算Java EE项目
- 26. 将eclipse项目导入为Java EE
- 27. 如何审核Java EE项目?
- 28. Java EE 6项目包装问题
- 29. Java EE开源项目学习?
- 30. Java EE项目找不到Gson
在使用数据库和实体,EJB和servlets/jsp实现了MVC形式后,我开始学习JSF。我正努力在这个模型中融入JSF。 – Randnum
它们不适合JSF模型,至少不够紧密。 JSF组件可以使用EJB组件,但在关系的两端都是可选的。基本上JSF只是具有生命周期模型,依赖注入和一些新标签的JSP ......你应该了解的是依赖注入是如何工作的,因为它连接了这两种独立的技术。 – zeller
你的意思是像@EJB MyEJB myejb; ? – Randnum