为什么我不能将会话 bean 作为 Java EE 5 中的 JSF 支持 bean

2024-04-15

AFAIK,JBoss Seam 的全部目的是集成 EJB 和 JSF。

《Seam in Action》一书说道:

根据设计,EJB 组件不能直接绑定到 JSF 视图。 EJB 真是太棒了 组件具有可扩展性、事务性、线程安全性和安全性,但作用不大 如果它们与 Web 层完全隔离,只能通过 JSF 访问,那就太好了 支持 bean 充当中介。

但我找不到这种不可能的原因/动机,为什么它们与网络层隔离?为什么我不能使用 EJB 作为支持 bean?愿意启发我吗?


但我找不到这种不可能的原因/动机,为什么它们与网络层隔离?

传统上,这样做是为了强制业务逻辑和视图相关代码之间的分离。大多数初学者都会将这些混合在一起,从长远来看,这总是会导致系统难以维护。

通过允许 EJB 直接用作支持 bean,人们将在其中放入 FacesMessage、特定于某一特定页面的格式化程序以及呈现代码等。

严格的隔离可以防止这些错误的发生。然而,这也提高了那些同样的初学者开始使用 EJB 的门槛,并给 EJB 带来了有点困难的名声(尽管对于 EJB3 来说情况并非如此)。在最新的 Java EE 6 版本中,通过允许在 Web 模块中无需接口的情况下定义 EJB,可以实现大量混合。通过 CDI 注释,它们可以直接用作支持 bean。

根据您的观点,这是向前迈出的一步(更容易、约束更少、所需的工件更少),但它也可以被视为向后退一步(再次促进视图和业务逻辑的混合,这是 JSP 上不赞成使用 scriptlet 试图阻止的事情) )。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我不能将会话 bean 作为 Java EE 5 中的 JSF 支持 bean 的相关文章

  • 如何在 中使用

    我想包括
  • 何时从容器管理的安全性转向 Apache Shiro、Spring Security 等替代方案?

    我正在尝试保护使用 JSF2 0 构建的应用程序的安全 我很困惑人们什么时候会选择使用 Shiro Spring Security 或 owasp 的 esapi 等安全替代方案 而放弃容器管理的安全性 看过一些相关问题 https sta
  • 如何在 JSF 中禁用页面/表单

    对于我的应用程序 我希望拥有具有不同权限的用户 一种权限允许用户查看我的数据库中的数据 而另一种权限允许他们编辑数据 登录时 我会检查他们的权限以确定他们是否可以编辑数据 如果用户具有只读权限 我正在寻找某种方法来禁用整个页面 有没有一种简
  • IBM Websphere MQ - 用于 Tomcat 部署的 EJB 和 MDB 迁移

    我已经为此苦苦挣扎了很长一段时间 我有一个 IBM Websphere MQ 它使用 EJB 和 MDB 以下是配置ejb mdb的地方
  • 为什么要汇集无状态 EJB?

    应用服务器池使用无状态 EJB 的原因是什么 我可以理解 控制传入调用的应用程序工作负载很有用 但这只能证明将作为 FA ADE 与调用者客户端一起提供服务的 EJB 池是合理的 池化内部 EJB 那些未公开且仅在内部调用以执行业务逻辑的
  • a4j:commandLink 重新渲染后停止工作

    我创建了这个测试用例来隔离我的问题 一旦轮询执行 ajax 更新 a4j commandLink 操作就不会执行 如果我们在轮询重新渲染之前关闭 modalPanel 则会执行它 有什么建议吗 提前致谢 测试 xhtml
  • jsf文件下载不起作用

    当我点击h commandButton它执行myBean dowanlod 方法 但它不下载任何文件 这是我在支持 bean 中的方法 没有例外 光标变得忙碌 似乎在等待响应 对于这种操作是否有任何额外的配置或者这段代码有什么问题吗
  • JSF 2:如何在同一输入中显示不同的ajax状态?

    当每个字段失去焦点时 我想验证表单中的每个字段 当发生这种情况时 我希望发生以下操作 1 在字段的右侧出现一个图像 一个 gif 表示系统正在检查用户输入 2 完成后 会在右侧出现另一个 gif 取决于输入 例如 success gif 或
  • weblogic ejb 合规性异常

    我尝试在 weblogic 10 3 上部署一个使用 EJB 的应用程序 我用的是seam框架2 2 0 我通过研讨会创建了一个 EJB 项目和 en EAR 项目 当我编译项目时 出现以下错误 weblogic ejb container
  • JSF 2.0 request.getParameter 返回编码错误的字符串

    我正在用 JSF 2 0 编写一个应用程序 它支持多种语言 其中包括带有特殊字符的语言 我使用 String value request getParameter name 和 POST 方法 页面编码设置为 UTF 8 应用程序部署在 a
  • 使用 Javascript 将消息添加到 p:growl

    我想使用 Javascript 在客户端显示咆哮声 我的意思是这个 UI 组件 我找到了这个thread https stackoverflow com questions 5730054 how to display notificati
  • JSF a4j:设置“禁用”时命令按钮不起作用

    当我在 a4j commandButton 上包含 disabled 属性时 不会执行该按钮的操作 去掉 禁用 属性会使其正常工作 我没有进行任何特殊的验证 据我所知 也没有看到任何验证错误消息 这是我的页面的一部分
  • 如何以编程方式将文件上传到网站?

    我必须将文件上传到服务器 该服务器仅公开带有文件上传按钮的 jsf 网页 通过 http 我必须自动化一个进程 作为java独立进程完成 该进程生成一个文件并将文件上传到服务器 遗憾的是 必须上传文件的服务器不提供FTP或SFTP 有没有办
  • viewExpiredException JSF [重复]

    这个问题在这里已经有答案了 为了处理 JSF 中的 viewExpiredException 我编写了代码
  • JSF 1.2:如何在同一视图上的回发中保持请求范围的托管 bean 处于活动状态?

    是否可以在同一页面上的回发过程中保持请求作用域的 bean 处于活动状态 一般的问题是 bean 在请求结束时被丢弃 并在每次表单提交时重新创建 例如动态操作背后的布尔值disabled readonly and rendered重置为默认
  • Pretty Faces:通用 URL 映射

    使用 Pretty Faces 3 我有一些像这样的映射
  • ui:define with generated="false" 属性仍然呈现

  • 如何从另一个 EAR 中调用远程 EJB?

    在 Weblogic 10 3 中 如何将一个 EAR 中的远程 EJB 注入到另一个 EAR 的无状态 bean 中 两个 EAR 都部署在同一个容器中 理想情况下 我希望尽可能多地使用注释 所以假设我有以下界面 public inter
  • 如何将值传递到 selectOneMenu 中的监听器

    我有 2 个下拉菜单 类型和代码 如果值 A 或 B 或 C 我希望代码下拉列表根据类型下拉列表更改值 如何将 A 或 B 或 C 的值传递给侦听器 以便它可以理解和处理我的 List
  • PrimeFaces 对话框参考父级

    我有一个 xhtml 页面 显示带有条目的数据表 我还有一个用于插入新条目的按钮 该按钮显示一个包含表单的对话框 插入表格用作

随机推荐

  • 使用 Linq 按可变整数范围进行分组

    我试图根据整数的范围对一组数据进行分组 范围不以固定间隔增加 例如我有 商品编号 价格1 102 303 504 120 我想将价格为 0 10 11 100 和 100 500 的商品分组 因此 项目 1 在 A 组中 项目 2 3 在
  • tkinter 中从右到左的文本

    我使用的是 RTL 语言 并且我需要我的文本为 RTL 有办法做到吗 我怎样才能证明我的文字合理 例子 from tkinter import from tkinter constants import root Tk text Text
  • 使用 Fetch API 来 POST XML

    我正在尝试使用 Fetch API 来处理 XML 数据的 POST 以避免 XmlHttpRequest 的跨域问题 我面临的问题是 尽管将我的 Content Type 设置为 text xml 在本例中这是唯一受支持的内容类型标头 但
  • 如何从 jar 文件中排除属性文件?

    我有一个具有以下项目结构的java应用程序 myProject src main resources userConfig properties log4j properties target 我在用Maven构建我的项目 我在用maven
  • 使用 Google BigQuery 作为 Django 的后端

    我正在考虑使用 Google BigQuery 作为 Django 的后端 但无法确定这是否可行 以及如果可行 将应用哪些设置 目前 我的Django应用程序使用Postgresql settings py中的代码如下 DATABASES
  • 如何通过层序遍历创建二叉树?

    Given a level order列表 其中可以包括None值 如何构建二叉树 None列表中的值即None节点不能有任何子节点 left or right值 from typing import List Optional class
  • Google Plus 单点登录服务器流程 - Google_AuthException 获取 OAuth2 访问令牌时出错,消息:“invalid_grant”

    2013 年 1 月 27 日更新 听起来您可能多次发送相同的授权代码 在 Android 上 GoogleAuthUtil getToken 会缓存它检索到的所有令牌 包括授权代码 如果您请求第二个代码而不使前一个代码无效 GoogleA
  • 未捕获的类型错误:angular.lowercase 不是函数

    未捕获的类型错误 angular lowercase 不是函数 我的 angularjs 应用程序中出现此错误 并且整个应用程序未运行 这是它的表现textAngular sanitize js 413 无法调试 我尝试使用与 angula
  • BASH - 使用 Loop 和 If 语句总结唯一字段中多个字段的信息

    我有以下制表符分隔的文件 A1 A1 0 0 2 1 1 1 1 1 1 1 2 1 1 1 A2 A2 0 0 2 1 1 1 1 1 1 1 1 1 1 1 A3 A3 0 0 2 2 1 1 2 2 1 1 1 1 1 1 A5 A5
  • 网站是否有可能欺骗引用标头

    显然 请求标头可以通过客户端 任何扩展 AV 防火墙 浏览器设置等进行欺骗 我的问题是 网站所有者可以吗bad com可以创建一个 iframemywidget php 我会看到一个欺骗性的引用标头good com 欺骗将由站点所有者 例如
  • NetStream.appendBytes

    我有一个连接到 Flash Media Server 的 netConnection 我正在尝试使用 Flash Player 10 1 中的新appendBytes 函数将本地FLV 文件流式传输到FMS 但是我遇到了问题 我在网上获取的
  • 如何为ubuntu创建永久“别名”? [复制]

    这个问题在这里已经有答案了 例如 如果您创建别名 alias cls clear 它一直存在 直到您终止终端会话为止 当您启动新的终端窗口时 别名不再存在 如何创建 永久 别名 该别名存在于每个终端会话中 您可以将此类别名放入 bash a
  • 查询与空字段的比较

    我的 Firestore 集合包含带有字符串字段的文档 该字段可以是null 我期望如果我查询 Collection products Where producedDate lt 2018 01 15 我将获取 生产日期 早于 2018 1
  • UITableView 滚动时重复单元格

    当我向下滚动 UITableView 时 它开始向我显示我已经看到的相同单元格 并且稍微滚动一下继续将单元格放在错误的位置 这是我正在使用的代码 如果需要任何其他信息 请告诉我 h interface HomeViewController
  • MediaStore.Playlists.Members.moveItem 的替代方案

    我一直在使用以下代码从 Android 应用程序的播放列表中删除项目 private void removeFromPlaylist long playlistId int loc ContentResolver resolver getA
  • 为什么在基于 Lisp 的语言中习惯上将许多右括号放在一行上?

    通常代码如下所示 one thing another thing arg1 f arg5 r another thing arg1 f arg5 r 为什么不喜欢这样 one thing another thing arg1 f arg5
  • 在 JQuery 中通过 AJAX 上传文件

    我是 JQuery AJAX 的新手 我想用jquery实现文件上传 是否可以使用 JQuery AJAX 进行文件上传并将其发送到 Servlet Servlet 可以使用 apache file commons 来上传文件 有人可以建议
  • Android 通知 LED 不使用我的颜色

    我正在尝试使用一个通知 该通知也使用我的 S3 上的通知 LED 但由于某种原因 颜色将始终为蓝色 我猜这是默认值 我尝试使用不同的颜色但没有任何变化 其他应用程序 例如 Whatsapp Gmail 和 Facebook 在显示不同颜色的
  • Mule 中使用日期的 JMS 消息选择器

    在 Mule 3 3 1 中 在异步处理期间 当我的任何外部服务关闭时 我想将消息放在队列中 retryQueue 具有特定的 下次重试 时间戳 处理来自此的消息的流程retryQueue根据 下次重试 时间选择消息 如果 下次重试 时间超
  • 为什么我不能将会话 bean 作为 Java EE 5 中的 JSF 支持 bean

    AFAIK JBoss Seam 的全部目的是集成 EJB 和 JSF Seam in Action 一书说道 根据设计 EJB 组件不能直接绑定到 JSF 视图 EJB 真是太棒了 组件具有可扩展性 事务性 线程安全性和安全性 但作用不大