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 方法的主要内容,如果未能解决你的问题,请参考以下文章