若是你能搜到這篇文章,說明你對WebSocket已經有所瞭解。在此就不做贅述。
一、準備好一個ssm或者ssh框架項目,最好是使用maven管理的html
本文以ssm爲例。
二、配置pom.xml文件:git
主要爲了引入支持websocket的spring4 jar包。
三、編寫你的WebSocket:github
主要包括三部分:WebSocketConfig(注入處理器)-->MyHandler(開發自定義功能)-->MyHandshakeInterceptor(攔截器),(可參考官網提供的實例代碼)
四、spring文件(applicationContext.xml、spring-mvc.xml、web.xml)配置,採用自動注入方式。web
此步爲難點所在:網上有好N種寫法,2個配置文件組合就有N的平方種寫法。通過屢次試驗,終於保證了webSocket與Controller同時註冊成功。因此,可行的方法不只限於本文提供的這種。
五、創建鏈接:spring
由界面中的sockjs調用,詳情見源碼。(注:假如你的sockjs創建鏈接等內容寫在main.jsp,那麼一旦跳轉離開該界面,webSocket鏈接會自動斷開,爲了不反覆鏈接帶來一些沒必要要的麻煩。本例將sockjs鏈接功能寫在了一個界面的同時,在該界面內添加iframe,讓iframe中的界面去跳轉。)
六、發送消息:spring-mvc
在本身的controller中注入webSocket的處理器,使用其中的方法便可。 @Autowired MyHandler myHandler; @RequestMapping("/tt") public String sendMsgToUser(HttpServletRequest request){ String msg = "2016,與你相遇,猴幸運!"; String userCd = (String) request.getSession().getAttribute("USER_CD"); myHandler.sendMessageToUser(userCd, new TextMessage(msg)); return "redirect:/web"; }
本項目源碼已放在github上:https://github.com/chenhongen...,且代碼中有所註釋,本文只爲操做嚮導,不粘貼大量代碼以亂視聽。websocket
固然,在你導入源碼實際開發後必不可少會產生進一步問題,歡迎交流(qq:251601797)。mvc
本例剝離至本人15年畢設,時隔8個月,從新實操遇到了很多問題,因此但願你們有一點小小「成果」之類的都能及時記錄。app
參考文獻:
官方(純英文):http://docs.spring.io/spring/...
Spring+Websocket實現消息的推送:http://my.oschina.net/ldl1232...框架