- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一些 Soap、REST servlet,现在有一个 WebSocket:
@ServerEndpoint("/game")
public class WebSocketgame{
...
}
我有下一个麻烦:WebSocket 不可见,如果 web.xml 存在的话。在 web.xml 中描述了 jdbc 资源、servlets 和其他...当我删除 web.xml - websocket 成功可见。我该如何解决这个问题?
更新 web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<listener>
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>ConfigServlet</servlet-name>
<servlet-class>com.example.ConfigServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>MainService</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ConfigServlet</servlet-name>
<url-pattern>/ConfigServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>JsonServlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.example.json</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JsonServlet</servlet-name>
<url-pattern>/json/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>propfile</param-name>
<param-value>/WEB-INF/server_config.txt</param-value>
</context-param>
<servlet-mapping>
<servlet-name>MainService</servlet-name>
<url-pattern>/MainService</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<resource-ref>
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/postgres</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
最佳答案
尝试添加
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="annotated">
在 beans.xml 文件中
关于java - ServerEndpoint 和 web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26339217/
我使用 GF 4 作为 JavaEE 服务器。 这就是我对 servlet 处理的理解:有一个线程池,当请求到来时,这个池中的一个线程被用来处理请求。之后,线程被放回池中。 根据上面的信息,我想(我不
你好吗?我有一个问题,我一直在寻找明确的答案,但没有成功,因此我来这里寻求您的帮助! 一些信息:Java Web 项目,使用 JAVA 8、Tomcat 8.5.23 和 IntelliJ 作为我的
我正在使用 WebSockets 开发一个简单的应用程序。客户端可以发送输入文本,而服务器端是通过注释为 ServerEndpoint 的 Java 类实现的。在这里,接收到的输入文本被解码并发送到所
如何将字段自动连接到@ServerEndpoint。以下不起作用。 @Component @ServerEndpoint("/ws") public class MyWebSocket {
我可以将 websocket 端点映射到一组静态上下文或带有 uri 变量的上下文:@ServerEndpoint("/{name}") 它将匹配/anything 但不匹配/any/thing。如何
灵感来自 this thread我正在尝试这样做: @ServerEndpoint(... configurator = GetHttpSessionConfigurator.class) 没有@Se
很多人认为我使用 IDE,所以现在让我声明一下:我不使用任何 IDE。 我获取了以下 Java 源代码,将其编译为 Echo.class,然后通过编写 jar -cvf Echo.war Echo 创
我有一些 Soap、REST servlet,现在有一个 WebSocket: @ServerEndpoint("/game") public class WebSocketgame{ ... } 我
单个 ServerEndpoints 线程安全还是属于在给定时间与其交互的所有客户端? 或者用另一种方式问同样的问题: ServerEndpoint 类中的全局对象是否存在产生并发问题的危险,like
我有一个嵌入式 tomcat 正在运行,我正在尝试以编程方式设置 websockets,不能使用注释,因为我动态获取上下文路径列表。使用 Java 8 和 Tomcat 7。 下面是我使用的代码, 嵌
我已经创建了一个 websocket ServerEndPoint。websocket 服务器工作正常。如何在 Tomcat 启动时调用 websocket ServerEndPoint 类。这是为了
比如我有一个房间 public class Room { private int id; private Set users; } 所以我希望它成为我的 websocket 应用程序的端点
我有一个网络套接字@ServerEndpoint,它有一个我的过滤器监听的注释。但我的过滤器从未被调用(我的过滤器在普通 JAX-RS 资源上调用) 如何让我的过滤器被 Web 套接字端点调用? @S
意味着,它将从本地网络中的许多用户那里获得连接。我怎样才能获得每个连接的IP地址?我使用 JSR356。 @ServerEndpoint(value = "/ws/example") public c
我刚刚遇到以下问题,但无法找到答案: @ServerEndpoint("/websocket/server") public class ServerUpdateEndpoint implements
我正在尝试在 @ServerEndpoint 类中注入(inject)由 @Repository 类注释的内容。但是当我尝试调用存储库方法时,它返回 null。该包中的另一个注入(inject)的 b
我需要访问 HttpServletRequest 属性以获取 javax.servlet.request.X509Certificate,其中包含用于 TLS 的 X509Certificate 证书
当我使用 jersey 开发一个 rest api 应用程序时,我发现我需要为特定的业务逻辑片段实现一个 websocket 端点。 我在我的项目中使用maven,所以我添加了javax:javaee
我在循环中使用 RemoteEndpoint.Async 的 sendText() 方法将一些数据发送到 ClientEndPoint。由于数据是从 ServerEndpoint 异步发送的,因此 C
问题:@ServerEndpoint 类中的@Autowired beans 为空 如何确保下面的这个 WebSocketController 类将被注入(inject) bean,即如何让它由 Sp
我是一名优秀的程序员,十分优秀!