WebSocket在建立连接时通过@PathParam获取页面传值

原 https://blog.csdn.net/u014175572/article/details/46693121

最近用Java下使用WebSocket,有一个需求,在页面与Java后台建立连接的时候获取页面上提供的参数,也就是在@OnOpen注解的方法里面获取一次页面的参数,有一个很简单的方法可以获得。即使用@PathParam注解。

第一步:

在被websocket映射的Java类中的注解如下:


@ServerEndpoint("/websocket/{relationId}/{userCode}")

其中websocket是映射地址
/{relationId}/{userCode}分别为页面可以传入的两个参数

第二步:

在该Java类中的方法中:


@OnOpen
public void onOpen(@PathParam("relationId") String relationId,
            @PathParam("userCode") int userCode, Session session) 
这样就可以获取第一步中的两个参数的值(relationId和userCode)


第三步:

在javascript脚本中


var ipPort = window.location.host;
Chat.initialize = function() {
        if (window.location.protocol == 'http:') {
            Chat.connect('ws://' + ipPort
                    + '/AnInvestigation/websocket/1/2');
        } else {
            Chat.connect('wss://' + ipPort
                    + '/AnInvestigation/websocket/1/2');
        } 
    };
其中/AnInvestigation/websocket/1/2的“1”和“2”就是自定义的参数


以上3步就可以将页面的值一次性传入Java中了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值