javaweb在web.xml中配置欢迎页面为websocket服务访问地址,无法直接通过访问项目根路径来访问websocket

如题,在web.xml中配置欢迎页面为websocket服务访问地址,无法直接通过访问项目根路径来访问websocket服务(访问路径为:ws://127.0.0.1:8080/项目名/),而访问路径后面加websocket服务url是可以访问的。

请教一下大神,是我的配置存在问题,还是访问websocket本身不支持通过欢迎页面访问(web服务器用的tomcat),如果是不支持的话,请问,通过什么方式能做到“通过访问项目根路径来访问websocket服务”,主要是为了达到通过ip和端口就能直接访问websocket服务,web.xml和websocket类内容如下:

web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>TestWeb</display-name>

  <servlet>
    <servlet-name>testAction</servlet-name>
    <servlet-class>com.ch.TestAction</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>testAction</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>ws</welcome-file>
  </welcome-file-list>
</web-app>

websocket服务类:

@ServerEndpoint("/ws")
public class WebSocketServer {
   private Session session;
   //存储用户名和server的对应关系
//   private static Set<WebSocketServer> users = new HashSet<WebSocketServer>();

   //监听建立连接
   @OnOpen  
   public void open(Session session){   
       this.session=session;
       System.out.println(getDatetime(new Date()) + " 客户端已连接");
   }  

   //监听连接关闭  
   @OnClose  
   public void close(Session session){ //关闭websocket  
       System.out.println(getDatetime(new Date()) + " 客户端断开连接");
   }

   //监听用户发送的消息并向每个客户端推送消息
   @OnMessage
   public void sendMessage(String message){
       System.out.println(getDatetime(new Date()) + " 客户端发送消息:" + message);
   }

   @OnError 
   public void onError(Session session, Throwable error) { 
       System.out.println(getDatetime(new Date()) + " 客户端出错");
       error.printStackTrace();
   }



}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
JavaWeb项目打包部署之后,如果web-inf/lib下面有jar包增加/更新了,我需要重新编译吗?
1
怎样用JS方法写一个用户登录注册页面,用servlet方法,直接对文件进行操作,不需要数据库?
1
javaweb新手 requestScope.List 获取不到数据
3
为什么在Linux上部署的ssm框架写的Javaweb项目无法访问
7
jsp页面中的表单提交数据,如果数据保存失败后转发回原来这个jsp页面,那么如何保留原来jsp页面中刚才表单中填写的内容?
1
Javaweb过滤器将主页也过滤掉,进不去首页?
2
ecplise里安装javaweb插件件时出现 java.lang.NullPointerException
2
请教如何解决idea javaWeb项目无法找到指定位置的图片问题
2
IDEA 导入 javaweb项目 struts的配置文件报红,但是可以运行
1
javaweb中输出时间显示格式问题
2
idea中的javaweb项目,导出war包至tomcat中
4
JavaWEB项目中,资源的绝对路径到底什么时候才需要加上文件夹名?
3
javaWEb项目查询的是后报错连接池的问题
2
【求助】javaweb程序打成war包部署在Linux中weblogic服务器超慢
2
javaweb小项目,在写完登录功能时设置断点查看程序运行状况时得到的结果和直接运行得到的结果不一样???
2
C语言写的客户端 与javaweb 有数据交互,请问数据通信使用哪种方式合适?
3
javaweb小项目,写添加功能时出错了检查了几遍sql没找到错误,但从报错信息来看是sql写错了?
3
eclipse 导入Javaweb不显示样式?
2
javaweb用户登录(用myeclipse创建jsp项目,数据库用MySQL,)阿里嘎多
4
javaweb项目实现分享链接到移动端不登录打开