发布时间:2018-10-30
 
技术:spring mvc+mybatis+nett4+layui
 

概述

简单快捷的IM方案,快速打造在线IM,可用于公司内网、外网通讯,客服系统等,实现了socket,websocket,能和安卓、IOS应用结合使用 Java后端和js消息采用Google Protobuf传输,如需修改protobuf文件请参考当前文档 项目可以直接生成后台代码、页面及js文件,大大节省开发时间 目前实现了单聊 群聊 及机器人回复功能,项目已经结合Mysql数据库,聊天的信息会保存到数据库表中,后续会跟layim结合完成

详细

一、前言

(1)适合人群

1,JAVA服务端开发人员

2,初级人员开发人员

3,了解spring springboot + maven

3,了解小程序开发跟前端人员接口对接

(2)你需要准备什么?

1,积极主动学习

2,微信公众号开发基本流程

3,java后端几大框架掌握如(spring springboot maven mybatis,netty4)

二、前期准备工作

软件环境:eclipse

官方下载:HTTPS://www.eclipse.org/downloads/

1 ,基本需求

简单快捷的IM方案,快速打造在线IM,可用于公司内网、外网通讯,客服系统等,实现了socket,websocket,能和安卓、IOS应用结合使用

三、项目结构

项目目录结构

四、程序配置与运行

1,Java后端和js消息采用Google Protobuf传输,如需修改protobuf文件请参考当前文档

项目可以直接生成后台代码、页面及js文件,大大节省开发时间,目前实现了单聊 群聊 及机器人回复功能,项目已经结合Mysql数据库,聊天的信息会保存到数据库表中,服务需要修改端口请参考文件 spring-im-config.xml

Imserver默认端口为2000,需要的请自行修改

    <!-- imserver  port 2000    -->
<bean id="imServer" class="com.qiqiim.server.ImServer" init-method="init" destroy-method="destroy">
<property name="port" value="2000"/>
</bean>

ImWebsocketServer默认端口为2048

   <!-- imwebsocketserver  port 2048    -->
<bean id="imWebsocketServer" class="com.qiqiim.server.ImWebsocketServer" init-method="init" destroy-method="destroy">
<property name="port" value="2048"/>
</bean>

2,数据库连接账户密码修改 resources/db.properties

jdbc.url=jdbc:mysql://127.0.0.1:3306/qiqiim?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456 jdbc.initialSize=5
jdbc.maxActive=30 jdbc.minPoolSize=2
jdbc.maxIdleTime=30000
jdbc.idleConnectionTestPeriod=100

3,数据库连接成功后请执行SQL文件创建数据库及表SQL文件地址 webapp/qiqiim.sql有layim的用户,不知道layim文件怎么放,参考下图目录结构

4,java测试请执行QiQiImClient main方法

五、运行效果

1、Websocket测试 请tomcat启动项目,浏览器运行http://127.0.0.1:{端口}/{项目名} 到首页

首页

注:聊天界面都扒的京东的机器人客服界面,只是为了演示功能

2、单聊

3、群聊,需要多开浏览器

4 、机器人,请自行申请图灵机器人key

5、用户管理

6、消息管理

7、后台代码生成

8、 结合layIm实现所需要的功能,已实现PC端和手机端访问的聊天功能

9、输入账号和密码登录,内置用户账号1,2,3,4,5,6,7 一共7个,密码和账号相同,具体查看user_account 数据表

消息互通界面

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

ssm(spring mvc+mybatis)+netty4开发qiq的更多相关文章

  1. Spring Boot 2.X(三):使用 Spring MVC + MyBatis + Thymeleaf 开发 web 应用

    前言 Spring MVC 是构建在 Servlet API 上的原生框架,并从一开始就包含在 Spring 框架中.本文主要通过简述 Spring MVC 的架构及分析,并用 Spring Boot ...

  2. ssm整合说明与模板-Spring Spring MVC Mybatis整合开发

    ssm整合说明 spring+spring mvc+mybatis 说明 源码下载 由于之前存在ssh框架,spring+struts+hibernate,其中spring负责aop与ioc,所以一般 ...

  3. SSM(Spring+Spring MVC+Mybatis)开发前台后功能完整的java开源博客管理系统

    项目描述 本项目通过SSM(SpringMVC+Mybatis+Spring)框架编写的一个人博客管理系统,使用hexo主题,以及MAVEN进行对项目管理,并且前端具有粒子和点击爱心效果.后端的页面框 ...

  4. Spring MVC 学习总结(十)——Spring+Spring MVC+MyBatis框架集成(IntelliJ IDEA SSM集成)

    与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和 ...

  5. maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    maven/eclipse搭建ssm(spring+spring mvc+mybatis) 前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实 ...

  6. 最详细的SSM(Spring+Spring MVC+MyBatis)项目搭建

    速览 使用Spring+Spring MVC+MyBatis搭建项目 开发工具IDEA(Ecplise步骤类似,代码完全一样) 项目类型Maven工程 数据库MySQL8.0 数据库连接池:Druid ...

  7. SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建

    SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...

  8. SSM(Spring +SpringMVC + Mybatis)框架搭建

    SSM(Spring +SpringMVC + Mybatis)框架的搭建 最近通过学习别人博客发表的SSM搭建Demo,尝试去搭建一个简单的SSMDemo---实现的功能是对用户增删改查的操作 参考 ...

  9. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

随机推荐

  1. Visio中方向键不能移动物件而是滚动画布

    不知怎么的, 我的Visio中按方向键不能移动目标对象, 效果却是移动整个画布. 上网查了一下, 找到了原因. 因为不知怎么的错按了键盘上的Scroll Lock键, 再按一下就好了.     参考资 ...

  2. winform中RichTextBox在指定光标位置插入图片

    代码如下: //获取RichTextBox控件中鼠标焦点的索引位置 int startPosition = this.richTextBox1.SelectionStart; //从鼠标焦点处开始选中 ...

  3. FileProvider N 7.0 升级 安装APK 选择文件 拍照 临时权限 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 记录Activity启动时间 ActivityLifecycleCallbacks

    ActivityStackManager 定义一个集合(Stack)保存所有还未销毁的 Activity public class ActivityStackManager { private Sta ...

  5. tf.concat, tf.stack和tf.unstack的用法

    tf.concat, tf.stack和tf.unstack的用法 tf.concat相当于numpy中的np.concatenate函数,用于将两个张量在某一个维度(axis)合并起来,例如: a ...

  6. 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

    http://blog.csdn.net/zouxy09/article/details/20319673 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) z ...

  7. 本地时间转化成 GMT 时间

    DateTime.Now.ToUniversalTime().ToString("yyMMddHHmmss");

  8. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十七):kafka manager安装

    一.kafka-manager简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很容 ...

  9. Dubbo框架应用之(三)--Zookeeper注冊中心、管理控制台的安装及解说

    我是在linux下使用dubbo-2.3.3以上版本号的zookeeper注冊中心客户端. Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注冊中心. Dubb ...

  10. c++ 中const的使用

    在c++中.const是这么一个东西:假设你希望可以有一些东西是别人不能改动的,这个时候const就起作用了. const 在使用情况例如以下: a.修饰常量 const int a; int con ...