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

最近用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中了。

下面是代码和运行截图:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-24 17:14:05

WebSocket在建立连接时通过@PathParam获取页面传值的相关文章

TCP建立连接时,为什么要进行三次挥手?

TCP建立连接时,为什么要进行三次挥手?   在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段. 它们的含义是: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置, Sequence number(顺序号码), Acknowledge number(确认号码). 其中,ACK是可能与SYN,FIN等同时使用的,比如S

与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。

今天同学请教我数据库为什么打不开了,打开SQL Server 2008 的 SQL Server Management Studio,输入sa的密码发现,无法登陆数据库?提示以下错误: "在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)": 他最近刚刚装过了

出现“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。”这样的错误!

1.基本现象:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. 2. 可能出现的情况,拷贝了别人的项目,或者在网上找的别人的项目运行时附加到自己的数据库上,特别是在有版本差异的时候进行附加的时候,(比如:用SQL2005建的数据库,你附加在SQL2008的下面的时候)你需要修改项目中Web.Config文件中的数据库连接字符串,这时候你就需要注意了,根据不同版本的数据库,它的

在与SQL Server建立连接时出现于网络相关的或特定于实例的错误

客户遇到一个问题,用“服务器名\实例名”远程连接另外一台命名实例的时候连接失败,报“在与SQL Server建立连接时出现于网络相关的或特定于实例的错误,未找到或无法访问服务器.请验证实例名称是否正确并且SQL Server已配置允许远程访问连接.(provider:SQL Network Interfaces,error:26-定位指定的服务器/实例时出错)”. 首先,尝试用ip和端口号进行连接,发现可以连接上,说明实例运行正常,并不是因为实例未开启导致无法连接,如果此连接失败,则需要检查实例

在与SQL Server建立连接时出现与网络相关的或特定于实例的错误!

在做机房收费系统时,自己的数据库屡屡遇到了"在与sql建立连接时出现与网络相关的或特定于实例的错误!"这种错误提示,截图例如以下: 找了非常多的资料都没有得到解决.终于还是在同学的帮助下解决的.在这里对同学提供的帮助深表谢意(就不提名字了啊!)以下我将会把这个问题的解决方法一一道来,希望对大家有所帮助,同一时候也希望自己可以牢记这样的解决的方法. 首先,打开本地电脑的"管理". 接下来.在管理菜单中选择"服务和应用程序",选择"服务&q

连接数据库与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误,请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。

如果您的连接字符串是这样的 <add key="ConnectionString" value="server=127.0.0.1;database=NewsTest;uid=sa;pwd=***"/> 或者这样的 <add key="ConnectionString" value="server=local;database=NewsTest;uid=sa;pwd=***"/> 并且没有语法错误,建议

在与 SQL Serve2008r 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) j解决方案

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 今早开机发现,打开SQL Server 2008 的 SQL Server Management Studio,输入sa的密码发现,无法登陆数据库?提示以下错误: “在与 SQL Server 建立连接时出现与网络相关

在与sql server 建立连接时出现与网络相关的或特定于实例的错误

今天在配置MSSQL 2005 数据库备份JOB后,在运行JOB时出现下图错误: 在搜索一番后认为可能与mssql协议相关,并且与本地配置进行核对后,发现本地确实未启用named pipes协议,于是采用下面办法: 在SQLServer 实例上启用远程连接 1.指向"开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器" 2.在"SQL Server 2005 外围应用配置器"

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

出现这种情况的原因,很大一部分原因是因为数据库的连接字符串错误. 一:先说一下数据库连接字符串都有哪些格式: 1 Data server=./SQLEXPRESS;Initial Catalog=Northwind;User ID=**;Password=****** 2 Data Server=服务器名/SQLEXPRESS;Initial Catalog=Northwind;User ID=**;Password=****** 3 Data Server=localhost/SQLEXPRE