资源简介
使用WebSocket作为前后端连接方式, SpringMVC+JSP+WebSocket, 即时通讯, 最近聊天记录, 好友列表.
需要配置D盘下创建好对应文件, 图片需要配置nginx才可以访问:
server {
listen 8888;
server_name localhost;
location / {
alias D://itchat4j/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
代码片段和文件信息
package com.wechat.web;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONobject;
import com.wechat.web.api.MessageTools;
import com.wechat.web.beans.baseMsg;
import com.wechat.web.beans.UserInfo;
import com.wechat.web.core.Core;
import com.wechat.web.face.IMsgHandlerFace;
import com.wechat.web.test.SimpleDemo;
import com.wechat.web.utils.JacksonUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@Controller
@RequestMapping(“/“)
public class ChatController {
public static String QR_CODE_PATH = Contains.base_PATH + Contains.QR_CODE_PATH + “/QR.jpg“;
private static Core core = Core.getInstance();
@RequestMapping(value = “index“ method = RequestMethod.GET)
public String doIndex(HttpServletRequest request HttpServletResponse response) {
File file = new File(QR_CODE_PATH);
if (file.exists()) {
request.setAttribute(“qrCodePath“ Contains.FILE_base_URL + Contains.QR_CODE_PATH + “/QR.jpg“);
}
return “hello“;
}
@ResponseBody
@RequestMapping(value = “qrcode“ method = RequestMethod.GET)
public String doQrCode(HttpServletRequest request HttpServletResponse response) {
File file = new File(QR_CODE_PATH);
if (file.exists()) {
return Contains.FILE_base_URL + Contains.QR_CODE_PATH + “/QR.jpg“;
}
return ““;
}
@ResponseBody
@RequestMapping(value = “ping“ method = RequestMethod.GET)
public String doPing(HttpServletRequest request HttpServletResponse response) {
JSONobject object = new JSONobject();
object.put(“alive“ core.isAlive());
ListseMsg> list = new ArrayList<>();
for (baseMsg msg : core.getMsgList()) {
if (!msg.getFromUserName().equals(core.getUserName())) { // 发送者是自己
list.add(msg);
}
}
object.put(“msgList“ list);
Listject> recentChats = new ArrayList<>();
for (String key : core.getMsgMap().keySet()) {
JSONobject user = null;
if (key.startsWith(“@@“)) {
for (JSONobject group : core.getGroupList()) {
if (key.equals(group.get(“UserName“))) {
user = group;
}
}
} else
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 311 2018-07-20 14:09 wechat\.idea\artifacts\web_chat_war.xm
文件 3696 2018-07-23 13:51 wechat\.idea\artifacts\web_chat_war_exploded.xm
文件 286 2018-07-23 14:48 wechat\.idea\artifacts\wechat_war.xm
文件 3896 2018-07-26 14:29 wechat\.idea\artifacts\wechat_war_exploded.xm
文件 1269 2018-07-23 14:48 wechat\.idea\compiler.xm
文件 76 2018-07-20 14:09 wechat\.idea\copyright\profiles_settings.xm
文件 42 2018-07-20 14:09 wechat\.idea\desc
文件 343 2018-07-20 16:02 wechat\.idea\encodings.xm
文件 550 2018-07-20 14:16 wechat\.idea\libraries\Maven__aopalliance_aopalliance_1_0.xm
文件 572 2018-07-20 14:19 wechat\.idea\libraries\Maven__commons_codec_commons_codec_1_9.xm
文件 608 2018-07-20 14:16 wechat\.idea\libraries\Maven__commons_logging_commons_logging_1_1_3.xm
文件 550 2018-07-20 14:19 wechat\.idea\libraries\Maven__com_alibaba_fastjson_1_2_31.xm
文件 680 2018-07-20 15:38 wechat\.idea\libraries\Maven__com_fasterxm
文件 631 2018-07-20 15:38 wechat\.idea\libraries\Maven__com_fasterxm
文件 659 2018-07-20 15:38 wechat\.idea\libraries\Maven__com_fasterxm
文件 565 2018-07-20 14:19 wechat\.idea\libraries\Maven__com_squareup_okhttp3_okhttp_3_8_0.xm
文件 546 2018-07-20 14:19 wechat\.idea\libraries\Maven__com_squareup_okio_okio_1_13_0.xm
文件 561 2018-07-20 14:19 wechat\.idea\libraries\Maven__com_vdurmont_emoji_java_3_2_0.xm
文件 577 2018-07-20 14:19 wechat\.idea\libraries\Maven__javax_activation_activation_1_1_1.xm
文件 546 2018-07-20 14:16 wechat\.idea\libraries\Maven__javax_servlet_jsp_jsp_api_2_1.xm
文件 558 2018-07-20 14:16 wechat\.idea\libraries\Maven__javax_servlet_servlet_api_2_5.xm
文件 473 2018-07-23 14:48 wechat\.idea\libraries\Maven__jstl_jstl_1_2.xm
文件 491 2018-07-26 14:27 wechat\.idea\libraries\Maven__junit_junit_4_11.xm
文件 505 2018-07-20 14:19 wechat\.idea\libraries\Maven__log4j_log4j_1_2_16.xm
文件 592 2018-07-20 14:19 wechat\.idea\libraries\Maven__org_apache_commons_commons_lang3_3_0.xm
文件 613 2018-07-20 14:19 wechat\.idea\libraries\Maven__org_apache_httpcomponents_httpclient_4_5_3.xm
文件 599 2018-07-20 14:19 wechat\.idea\libraries\Maven__org_apache_httpcomponents_httpcore_4_4_6.xm
文件 585 2018-07-20 14:19 wechat\.idea\libraries\Maven__org_apache_httpcomponents_httpmime_4_5.xm
文件 568 2018-07-20 14:16 wechat\.idea\libraries\Maven__org_hamcrest_hamcrest_core_1_3.xm
文件 524 2018-07-20 14:19 wechat\.idea\libraries\Maven__org_json_json_20140107.xm
............此处省略114个文件信息
- 上一篇:扫雷UI的JAVA代码
- 下一篇:迷宫java实现
相关资源
- java web网络通讯录
- commons-codec-1.3.jar和commons-httpclient-3.0
- java web学生管理系统(源码+数据库+截
- JavaWeb停车场管理系统(源代码,数据
- Java Web实现的易买网系统网站(源码
- 安装libwebkitgtk提示没有可用的软件包
- 基于JAVAweb的教务排课系统
- 锐聘学院QST青软JavaWeb十二个打包
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- websockets实现tomcat日志在线输出
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- 一款Java的MySqlWeb管理工具
- websocket推送(兼容低版本的IE浏览器)
- java web知识点总结思维导图
- java web项目案例——知识管理软
- 博客系统笔记以及源码
- 李兴华JavaWeb培训经典笔记
- javaweb程序源码
- 网上商城后台管理系统Oracle+Java web
- java实现websocket简单demo
- StudentManagerWeb.zip
- [Java] Java Web 应用高级编程 (英文版)
- 基于JavaWeb的美食图片分享网站.zip
- webshell -真实可用的jsp 马
- JavaWeb-学生在线选课系统
- web项目-投票系统(java编写)
评论
共有 条评论