当前位置: 首页 > 知识库问答 >
问题:

配置 com.sun.faces.config.ConfigureListener

有宏邈
2023-03-14

我正在审查一个当前的JSF项目,其中< code>web.xml配置包含:

  • FacesServlet(在 *.xhtml 上配置)
  • com.sun.faces.config.ConfigureListener

我正在使用JSF 2.2和Mojarra实现。

我对<code>ConfigureListener</code>感到困惑。配置中需要这个类吗?这堂课的目标是什么?我找不到任何信息,这个类几乎没有javadoc。

如果我删除这个配置,一切看起来都是一样的。因此,我猜想ConfigureListener可以或应该被删除,但我不确定。

共有1个答案

钱青青
2023-03-14

<code>ConfigureListener</code>通常通过<code>/META-INF/jsf_core自动注册。Mojarra实现JAR文件的tld</code>文件。此外,<code>ConfigureListener</code>是通过Servlet 3.0<code>ServletContainerInitializer</code>显式注册的,以解决旧的GlassFish v3 bug(注意:v3,而不是3.0.x,因此确实是第一个GF3版本)。

存在通过< code >自动注册的情况。tld文件不足。众所周知的一个例子是当webapp被部署到Jetty时。这在这个问题中有详细的解释

此外,如前所述,在详细的回答中,GlassFish v3有一个错误,其中TLD文件扫描得太晚,因此JSF无法在正确的时间进行必要的初始化。然后,您需要在webapp的web.xml中显式注册ConfigureListener

但是,如果它在未在Web中显式注册时对您有用.xml,那么请将其排除在外。网络噪音越小.xml越好。但是,如果您碰巧可能部署到对上述问题敏感的容器(因此,当您的Web应用程序实际上是公开分发的容器并且您无法控制目标容器的选择时),那么您最好将其保留在“在这种情况下”。

更新:当<code>web中启用此条目时,Tomcat 8.x似乎显示了错误行为。xml:这个监听器实际上将被执行两次而不是一次。结果是灾难性的:除其他外,所有JSF事件监听器将注册两次,组件库将加载两次。这只会导致运行时发生冲突。换句话说,在部署到Tomcat时,确保从web.xml中删除此条目。

 类似资料:
  • 丰富的过滤器插件的存在是 logstash 威力如此强大的重要因素。名为过滤器,其实提供的不单单是过滤的功能。在本章我们就会重点介绍几个插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!

  • Codec 是 logstash 从 1.3.0 版开始新引入的概念(Codec 来自 Coder/decoder 两个单词的首字母缩写)。 在此之前,logstash 只支持纯文本形式输入,然后以过滤器处理它。但现在,我们可以在输入 期处理不同类型的数据,这全是因为有了 codec 设置。 所以,这里需要纠正之前的一个概念。Logstash 不只是一个input | filter | outpu

  • 在 “Hello World” 示例中,我们已经见到并介绍了 logstash 的运行流程和配置的基础语法。从这章开始,我们就要逐一介绍 logstash 流程中比较常用的一些插件,并在介绍中针对其主要适用的场景,推荐的配置,作一些说明。 限于篇幅,接下来内容中,配置示例不一定能贴完整。请记住一个原则:Logstash 配置一定要有一个 input 和一个 output。在演示过程中,如果没有写明

  • exVim 的配色由三部分组成: 你自己的Vim配色, exVim 插件的语法高亮和插件的配色. 你可以按照以下步骤来定制你的配色: 安装你的配色 exVim 提供了三种方法安装你的自定义配色 方法1. 在 ex-colorscheme 中安装(推荐) 首选的方法是在 ex-colorschemes 中安装自己的配色, 这种方法仅仅需要你把自己的配色文件放到 vimfiles/bundle/ex-