Java WebSocket HandshakeRequest getParameterMap 方法

Posted

技术标签:

【中文标题】Java WebSocket HandshakeRequest getParameterMap 方法【英文标题】:Java WebSocket HandshakeRequest getParameterMap method 【发布时间】:2016-03-22 10:57:54 【问题描述】:

HandshakeRequest的方法getParameterMap是否包含路径参数?我似乎找不到有关此的详细文档。

【问题讨论】:

【参考方案1】:

HandShakeRequest#getParameterMap() javadoc 说如下:

返回与请求关联的请求参数。

它说的是请求参数,而不是路径参数。

让我们检查一下 URL 是如何组成的:

http://example.com/context/foo/bar?foo=bar&bar=foo ---------------- 请求 URI http://example.com/context/foo/bar?foo=bar&bar=foo -------- 上下文路径 http://example.com/context/foo/bar?foo=bar&bar=foo --- --- 路径参数 http://example.com/context/foo/bar?foo=bar&bar=foo -------- -------- 请求参数

当手头只有HandShakeRequest,没有任何方法直接返回路径参数时,最好的办法是使用getRequestURI() 并执行字符串操作(拆分、子字符串等)以提取路径参数.

另一种方法是将任务移动到Endpoint#onOpen()@OnOpen,路径参数可以直接通过Session#getPathParameters() 获得。

【讨论】:

谢谢你。我将不理会握手,然后在 OnOpen 上工作。

以上是关于Java WebSocket HandshakeRequest getParameterMap 方法的主要内容,如果未能解决你的问题,请参考以下文章

java怎么做websocket

java怎么做websocket

java socket怎么与websocket对接

java http可以websocket不行

java WebSocket的实现以及Spring WebSocket

安卓websocket 封装基于Java-websocket