发布时间: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. T 分布(近似标准正态分布)

    1.1      定义 定义:假设X服从标准正态分布N(0,1),Y服从卡方分布,那么的分布称为自由度为n的t分布,记为. T分布密度函数其中,Gam(x)为伽马函数. 可用于两组独立计量资料的假设检 ...

  2. DOM对象操作html元素1

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  3. 在webstorm中配置sass环境

    最近开始用SASS,LESS等来写CSS,而在Webstorm中,它自带一个File Watchers功能,设置一下,即可实时编译SASS,LESS等. LESS的实时编译很简单,在node平台安装一 ...

  4. Android 多语言支持

    本文内容 字符串本地化原理 环境 创建项目 测试其他语言 Android 本地化语言 ISO 编码 参考资料 使用 Android 的人越来越多,每天都在增加.因此,当你想把你的应用成功地全球化时,通 ...

  5. jQuery 操作 radio、select、checkbox

    <script type="text/javascript"> $(function () { 一.radio 1.获取选中值,三种方法都可以: $('input:ra ...

  6. 让.aspx同样实现.ashx文件的功能: IHttpHandler

    我们需要一个能够调用该处理程序的入口点.在此上下文中,该处理程序代码的入口点只不过是一个HTTP终点——即,一个公共的URL.该URL必须有一个惟一的名称,使IIS和ASP.NET运行库能够把它映射到 ...

  7. 简单实用的extend对象合并

    /** * 合并对象 * 示例:o = extend({ a: 'a' }, o); */ function extend(s, t) { if (!s) { return {}; } if (!s) ...

  8. 定时执行任务FluentScheduler

    private void Form1_Load(object sender, EventArgs e) { Registry registry = new Registry(); registry.S ...

  9. canvas绘制图片

    canvas保存为data:image扩展功能的实现 [已知]canvas提供了toDataURL的接口,可以方便的将canvas画布转化成base64编码的image.目前支持的最好的是png格式, ...

  10. linux2.6.30.4内核移植(6)——移植应用程序hello world常见的错误:-bin/sh ./hello not found

    通常在开发板上搭建好开发平台后,我们会试着移植一个最简单的应用程序Hello world来测试一下.初次尝试,我们经常会碰到的问题就是,在开发板上运行./hello的时候出错:-bin/sh ./he ...