java - Primefaces 聊天应用程序 - web.xml 发现以元素开头的无效内容

标签 java primefaces chat tomcat7 web.xml

<分区>

我想实现 PF 3.5 Chat Applicationtomcat 7 上服务器。我已经添加了依赖项:

<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-runtime</artifactId>
    <version>1.0.1</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.1</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.1</version>
</dependency>

但是,当我执行那个 web.xml :

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

...

<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <init-param>
        <param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
        <param-value>org.atmosphere.cache.HeaderBroadcasterCache</param-value>
    </init-param>
    <init-param>
        <param-name>org.atmosphere.cpr.broadcasterClass</param-name>
        <param-value>org.atmosphere.cpr.DefaultBroadcaster</param-value>
    </init-param>
    <init-param>
        <param-name>org.atmosphere.cpr.broadcastFilterClasses</param-name>
        <param-value>org.atmosphere.client.TrackMessageSizeFilter</param-value>
    </init-param>
    <init-param>
        <param-name>org.atmosphere.cpr.sessionSupport</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>Push Servlet</servlet-name>
    <url-pattern>/primepush/*</url-pattern>
</servlet-mapping>

作为一个异常(exception),我得到:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/
 xml/ns/javaee":run-as, "http://java.sun.com/xml/ns/javaee":security-role-ref}' is expected.

顺便说一句,我在 <init-param> 处得到异常标签。

非常感谢您的回答!

更新

当我写下这段话时,我得到了同样的结果:

<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <init-param>
        <param-name>channels</param-name>
        <param-value>chat,counter</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>Push Servlet</servlet-name>
    <url-pattern>/prime-push/*</url-pattern>
</servlet-mapping>

我也在 <init-param> 得到了期望标签

最佳答案

根据schema顺序很重要。所以<load-on-startup/>元素应该在 <init-param/> 之后元素。

例如。

<servlet>
    <servlet-name>Push Servlet</servlet-name>
    <servlet-class>org.primefaces.push.PushServlet</servlet-class>
    <init-param>
        <param-name>channels</param-name>
        <param-value>chat,counter</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

关于java - Primefaces 聊天应用程序 - web.xml 发现以元素开头的无效内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16217076/

相关文章:

javascript - 使用滚动从底部追加 div - 聊天应用程序示例

java - java中无法获取图片url

jsf-2 - 禁用/启用 primefaces 组件

java - WELD-000315 获取对话锁失败

Java 客户端/服务器聊天室将消息作为对象发送

黑莓:聊天应用程序中的表情符号

java - 捕捉 MouseClicked 事件的秒数

java - 绝对 URI 中的相对路径 : rsrc:mahout-core-0. 7.jar

java - 对 Google 的 GWT 感到困惑吗?

jsf - 如何停用 JSF 标签 (Primefaces)