WebSocket系列2---SpringBoot下解决获取Httpsession及bean无法注入问题

对于现存的问题已经期望带来的Httpsession值得获取,我们的目标已经很明确了,那么直接说实现:

1, 在获取Httpsession教程的基础上进行修改

package com.ws.chat;

import javax.servlet.http.HttpSession;
import javax.websocket.HandshakeResponse;
import javax.websocket.server.HandshakeRequest;
import javax.websocket.server.ServerEndpointConfig;

import org.springframework.web.socket.server.standard.SpringConfigurator;

public class NewConfigurator extends SpringConfigurator {
    @Override
    public void modifyHandshake(ServerEndpointConfig config, HandshakeRequest request, HandshakeResponse response) {
        HttpSession httpSession = (HttpSession) request.getHttpSession();
        config.getUserProperties().put(HttpSession.class.getName(), httpSession);
    }
}

然后在@ServerEndpoint注解里面添加configurator属性

@ServerEndpoint(value="/chat",configurator =  NewConfigurator.class)

这样修改就能做到既可以获取Httpsession又可以解决bean无法注入的问题。

你可能感兴趣的:(WebSocket)