被@OnMessage修饰的函数是用来接收和返回客户端发送过来的消息的,接收的参数和返回值可以为Java对象。
要使@OnMessage修饰的函数可以处理Java对象,需要对端点类设置decoders和encoders,其中decoders类需要实现接口javax.websocket.Decoder.Text,而encoders类需要实现接口javax.websocket.Encoder.Text,下面是具体例子:
1.点击连接按钮与服务端连接;
2.点击发送按钮发送一个json对象到服务端;
3.服务端返回一个java对象的json字符串到客户端;
4.关闭与服务端的连接;
pom文件
javax.servlet
javax.servlet-api
3.0.1
javax.servlet
jstl
1.2
javax
javaee-api
7.0
javax.websocket
javax.websocket-api
1.0
provided
com.alibaba
fastjson
1.2.20
实体类
实体类是一个POJO对象,叫User,具有两个属性Id和Name,下面是实体类的代码:
package cn.net.bysoft.websocketapp.lesson3;
public class User implements java.io.Serializable {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
转换类
转换类有两个,分别是UserDecoder和UserEncoder。
注意:UserDecoder类中,有一个willD