|
Java视频教程名称:Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程 springboot视频教程
1 W8 E2 F$ N# V& ^百度网盘下载链接:9 F4 l7 e @/ [! t
[/hide], ]" @' E0 z6 g# L H/ i
密码: nrjp【解压密码:javazx.com】; ?# l; r: f& l& u1 F' f9 i
集数合计:12章% d( v5 m* j7 |: _% l
5 G( v. W f% K6 f1 v$ k3 G. _2 t9 A0 C3 x
- @9 ]3 m5 v( L1 w$ ? i
1 u$ Q' ?+ k- t& }链接失效声明:如果本链接地址失效,请及时联系站长QQ:40069106
* M6 B, Y( L" e: @. u0 g6 r如何获取资源:VIP升级: https://www.javazx.com/tpgao_wmcard-wmcard.html9 q( z* P- Q) B9 b( F1 o V# N
VIP说明: 月度VIP:使用期限30天
$ R! e2 p7 Q# F 年度VIP:使用期限365天/ I8 h6 e; ?5 A6 A ~5 ?/ Y
终身VIP:使用期限永久
$ [: J) S# O+ f: f: O2 j/ B0 k# E/ T% c/ s+ U$ ~
Java视频教程详情描述: . L. J3 S& U1 T# r+ G1 D+ e9 C
A0236《Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程》课程中讲师将带你从无到有的开发一个仿微信的聊天App,其中涉及 Netty的websocket开发、SpringBoot开发、MUI与H5Plus(H5+)相关知识点开发和Nginx+FastDFS分布式文件系统搭建与使用等,整个课程一气呵成。学习之后自己也能开发出一个高颜值高水平的App,并且发布上线。springboot视频教程6 ^1 W2 H3 m! W) B4 l2 V
Java视频教程目录:
; N" z6 P7 E% n' X7 G% o s- d+ B8 J3 Y; x% b; F; x
+ z& S% W# L2 k, P3 X( t' F4 N9 e) p
第4章 使用netty构建websocket服务器
( S7 T9 |- j! e7 \( x6 T" v理解实时通信,使用netty的websocket编写服务端启动类、子处理器以及助手类。 理解JS相关的websocket api,简单使用hbuilder编写通信页面与netty交互并且使用web浏览器与手机端浏览器进行测试数据交互
; T4 N1 S0 J& q9 d1 [
- m5 U0 m" ~ O$ l6 _1 O- P4-1 实时通信相关概念讲解& o0 Z. c2 G. C' N0 ]* p8 \
4-2 编写websocket服务端启动类$ U) e e" E/ @
4-3 编写websocket子处理器initialzer2 L2 I- C1 ?# ~; ^7 e; I4 }8 P
4-4 编写chatHandler对消息的处理; Z) h: d& ~! [ j
4-5 基于js的websocket相关api介绍2 J0 [5 n- [) G1 ]3 Y4 D% J
4-6 简单实用hbuilder工具编写前端websocket
, C$ Z' \7 t( \, f5 s" x; ^# L4-7 测试web端携手移动端与后端netty聊天通信
; w+ p) h9 A+ @( c% `/ W5 x第5章 使用MUI与H5+构建移动端app5 M) P$ q9 `& j8 U
零基础讲解MUI、H5+以及hbuilder开发工具,构建慕信轻聊的基本骨架
3 P+ \1 [/ v% p! p& B$ p, V5 F9 [- Q- X
5-1 MUI,H5+,Hbuilder介绍! H- u/ ~7 X2 v: g
5-2 创建项目,页面基本结构讲解
, d$ z) I4 w4 `8 ^2 n* L, y5-3 自定义标题栏样式' r/ ~0 A1 x# \- t; q
5-4 真机调试与原生标题栏样式更改3 J: v3 e0 Y5 f' h
5-5 首页底部tab选项卡的使用,MUI图标库讲解1 }2 T$ ^0 |0 \- v7 s/ J
5-6 使用阿里图标库构建自己的icon库
6 G* @& }7 T3 A! T5-7 tab选项卡切换页面(上) t& {; ^1 X+ ~; a4 M) P. e
5-8 tab选项卡切换页面(下)
/ N5 i' l f6 E/ w第6章 使用springboot整合netty搭建后台
6 I" s; E3 N4 i( q. U4 ~: s: O对数据库表设计进行讲解并且使用springboot作为主要后台框架,并且整合mybatis以及netty,重构netty server并且整合' Y+ Q2 G6 O4 l9 j( G; f
【Java自学网 www.javazx.com】2 A6 H: P- J3 Z+ I
6-1 数据库表设计
/ g' D* o* n: `$ `, u: {( W- d' J6-2 使用mybatis逆向工具
, p& V9 t9 Y- U! ^% f& s1 V9 f$ _6-3 搭建springboot2.0工程7 Z) z+ w9 O! }3 R5 U2 }9 f
6-4 springboot整合mybatis. k- C1 ?$ d! ?4 o8 ~, E
6-5 整合netty server【Java自学网 www.javazx.com】, k- _5 N5 ^. ^! w1 B
6-6 完成netty整合springboot并且测试
4 r7 B% Y+ A- y& ~1 [第7章 用户注册/登录/个人信息/ }. {; U6 B h6 Y0 x3 }9 U
开发用户注册登录以及个人信息页面相关功能模块,其中涉及到高性能分布式文件存储服务器fastdfs的搭建,并且使用nginx发布可使用http进行web访问并且下载用户头像和二维码
% \, J9 B. `+ f) F; P! ]7 Q) L/ N6 T7 b: M+ l1 X
7-1 注册登录页面讲解与后端接口开发1
6 K# |) O5 b! E- e, l9 R) ]! w7-2 注册登录页面讲解与后端接口开发2 [5 S; ~6 N3 S2 a0 b& C
7-3 登录注册页面的判断事件与js自定义util
7 b5 Y: T) s2 |9 Y7-4 登录注册前后端联调% f4 C2 n# Z, `
7-5 首页禁止返回和用户自动登录讲解, \' E/ n) p: x1 l- C- \
7-6 开发我的个人页面
6 A; u% A6 ^7 R: D# T: m7-7 动态初始化个人信息
" R1 n# P8 ^/ O# O* E+ l- Q7-8 打开个人头像页面
& g7 x% |# B4 l4 P0 ~5 ~7-9 增加可选择菜单
' z' I1 @- m5 L* y. c" H7-10 为菜单增加事件绑定
4 d9 _, _# G% x3 q+ V A) B' ~7-11 选择照片与裁剪插件
( m, Y9 t8 M8 {" `7-12 文件服务器概览4 x# g$ I- b$ ?& R0 ?! `; Q' x; k
7-13 安装tracker服务
4 d& Y# I' m7 c6 e7-14 安装storage服务
8 ^& G1 j3 t" w7-15 配置client并且上传测试图片
8 }: S4 M4 R* [4 X5 l- W8 w7-16 nginx安装与fastdfs配置(上)
1 `4 |- S& ~: J7-17 nginx安装与fastdfs配置(下)
2 j; p$ b: k$ x% i- L$ {. d6 l' c- K, j7 c7-18 fastdfs 整合springboot d- s5 O$ i s" B' g. T
7-19 后端上传图片功能开发; z1 d+ M6 j" P& Q( t
7-20 上传图片前后端联调与测试1 B7 c7 J, o3 @
7-21 头像上传后跨页面调用自定义事件刷新, T9 u% d0 G9 F, C/ i) w3 J" N7 r
7-22 上传头像细节部分处理与openwindow的bug处理
% {7 M4 \( Q U9 [/ X3 {7-23 下载头像到相册
7 a! \1 z. @+ ?3 b* J/ K7-24 修改昵称页面: e8 P9 v: c1 u. G1 G( J
7-25 修改昵称后端接口6 S9 }% o) Y7 M( x1 I: W( M+ W
7-26 修改昵称前后端联调: P/ Y* Y. u# |- Y, n/ X
7-27 用户二维码生成
! ~7 n0 W: j# y( [7-28 我的二维码作业布置+ U2 L; c' T) h: h& q. j+ j7 F( X
7-29 我的二维码作业讲解* P; I5 j$ M' G/ ]# e, j2 Q' Z
7-30 用户退出以及简单小结
3 }- d0 h; d4 W1 D* y, j第8章 发现页面与通讯录相关功能开发4 a0 Z2 H7 [8 ]5 L+ }
用户可以通过搜索其他用户账号进行好友添加,或者通过用户的唯一二维码进行扫码添加,发送添加请求后其他用户可以拒绝或者同意好友请求0 S* ~ ?$ [8 F' V+ Q1 K
! F9 X* V9 u* `8-1 发现页面编码 l0 R4 X6 e$ i+ l r' t8 h3 i, O! j
8-2 搜索朋友账号接口(上)
: b9 L/ P& u7 H4 p# \8-3 搜索朋友账号接口(下) ` y! a8 `1 |* p( ]
8-4 搜索朋友前后端联调
$ U ^' M1 O8 Z" E2 d6 ~8-5 搜索结果页讲解以及webview传参
0 `4 W9 i( t& L, h8-6 发送添加好友请求接口编码
' _+ z9 g+ B) v b5 ~8-7 前后端连天发送好友请求( R/ M9 S1 ~8 S; ?
8-8 查询好友请求接口' Z% H8 B( q9 x3 M
8-9 朋友接受到请求页面联调开发4 x; I; U8 X% ]6 \+ G
8-10 好友请求HTML动态渲染
9 r4 U4 H. j- O8 n8-11 同意或忽略事件动态绑定
7 n% y9 {7 l4 F9 n5 a8 O8-12 同意或忽略controller
* b0 P! J& z# P; }) c8-13 同意或忽略的service编写; @* ]2 }, b: ?1 r; m
8-14 好友请求忽略或拒绝前后台联调
1 U* |7 E4 Z$ l/ {, N1 q% O8-15 构建扫描器
; R' @; P7 t9 |6 Y9 l8-16 扫码器颜色自定义1 H- k1 I- Z, U; u, X+ z/ v' M0 u
8-17 扫码添加好友联调$ ~2 V! D) m9 O8 U
8-18 延时加载预处理数据
! A i( ` |9 G1 V( @8-19 mui 自带索引列表模板讲解
: S+ {: n& e. t5 h5 h, ]8-20 通讯录列表整合! t2 m; Z" }: i: d7 }! N3 u; e5 f9 q
8-21 图文列表和通讯录整合增加用户头像显示
! K* S& K: Y$ Q/ B8-22 查询用户的所有好友列表接口! Y+ L( m: H/ P8 R
8-23 手机端获取好友列表保存到本地7 Y4 \ m3 R. a R# L* {" D
8-24 定义通讯录好友列表模型
) y. H% Q. }+ Z" o b8 `4 O8-25 通讯录列表渲染展现
7 C0 O& r0 c+ s, o3 g8-26 好友请求接收方更新通讯录
4 \! r" \' r( S4 z( W第9章 聊天页面开发 v$ l f+ d$ v7 Z) B+ c
构建手机端上的聊天页面模型,建立会话,接受发送消息,netty控制点对点消息发送,控制会话重连,聊天记录的本地保存与左滑删除,消息标记未读,消息牵手等。& Q4 y, z0 J! d' ^/ X+ y
F2 i+ u! X R8 `
9-1 聊天页面讲解与展示8 c2 P0 O& ?: d8 G8 T. d% s
9-2 header动态改为好友昵称,动态滚动到最新消息0 i# i6 Q" v+ l/ S; r6 W
9-3 发送按钮的颜色状态改变' ?6 Q) P3 Y& s" w, N' N% t
9-4 弹出软键盘重新设置聊天窗口高度
7 [1 W; O9 N& s9-5 发送消息前置条件网络状态判断
& Y" ?" ~* `8 Q& K9-6 监听网络连接事件9 {$ s- r( {% ?0 f
9-7 发送消息html渲染
' K/ G) ~+ _: ~' W' I9-8 接收消息html渲染
# d$ @: X+ ~2 H& u6 {9-9 发送消息与接收消息时的铃声播放
5 H* j. h5 @+ H4 q+ H: k9-10 手机端websocket模型定义和发送消息6 T+ g0 _5 m/ Q! _
9-11 websocket接受消息的渲染_x2643 i/ e i4 _1 Q0 p7 M
9-12 服务器断开后的重连机制- F! n. n {! D! t
9-13 chatHandler初步重构 Z+ r0 q( Y: {
9-14 构建聊天业务模型
) R U6 V ^. C# ^2 H9-15 chatHandler - 处理客户端连接: p- O" y# @/ H+ I9 Q
9-16 chatHandler - 保存聊天消息到数据库
/ j* D: W3 ^1 [# M( J, u7 I9-17 chatHandler - 处理消息发送
: d; A- k" U# Q1 ]7 p- c( ~7 h9-18 chatHandler - 签收单条或多条消息
# o# \# g- x2 a! ?9-19 客户端onopen联调,初始化用户和channel关系
# \, t& |! `1 `" m5 x+ u( K0 ]* Y9-20 客户端发送消息与接收联调9 b3 o% Q& ~9 D; e$ v
9-21 接收方获得消息后重构渲染" X5 [+ t ]% E: i3 R; `5 |
9-22 客户端签收消息
% y+ y! T( ]" A2 T9-23 websocket新增好友类型联调! G. ]) K3 U- K4 [ u- V
9-24 保存聊天记录到本地
5 V- ]5 S& a2 n& c" \. s9 N. S, A7 ~9-25 从本地获取聊天记录% y" t) [/ J+ |) s
9-26 初始化聊天记录和渲染8 s1 S, ]! I; @3 T! ]; ?
9-27 聊天快照业务简单讲解7 H4 w* k* F0 ?7 U! [4 I+ S% h
9-28 保存聊天快照到本地$ c3 `3 p* _9 u3 u/ u9 P8 V# b. a& A
9-29 获取聊天快照9 E9 Q7 T5 C7 K, i1 J: z
9-30 已读未读消息的设置与快照调用
9 a0 u9 @) H" {9 k& B( i! O7 r9-31 展示聊天快照
1 l; g/ |9 s8 N! G5 e& ]8 T) f9-32 未读消息小红点标记6 N" s+ |) u. N/ L0 N% L
9-33 点击快照开始聊天6 {% N4 e7 j% S1 k. o w
9-34 未读消息标记已读- X# i1 |6 Q$ i$ \
9-35 开发获取未读消息列表接口6 [( T9 Q7 @0 R8 P$ G7 A G( t
9-36 前端获取未读消息列表: [4 o& x+ _; ]
9-37 批量签收并且展示未读消息
/ E, t, v! `* t2 @9 d: ?9-38 聊天快照左滑删除效果+ F' v+ n6 |2 V
9-39 聊天快照右滑删除聊天记录与快照
$ G" |/ t8 Z l$ W' h第10章 使用netty编写心跳检测2 r; g% D+ ^( { A8 }/ m1 A
app不会主动和服务端切断,只会有可能发生离线或者关机或者飞行模式,所以需要在后台控制心跳,检测客户端的读写请求来判断是否清除无用的channel。同时手机端也要保持一定的keepalive。未接受到的消息在用户下次打开后重新获取。 ...
3 @8 T; c- K# G1 f3 W3 K; K% u7 R% B( y h% A
10-1 心跳机制的概念与飞行模式
4 i. H) a4 R% O10-2 心跳HeartBeatHandler编码
9 Q/ h' t' ^; E/ `3 E10-3 配置空闲handler与超时时间设置
) t" t, X" G9 H$ t* X10-4 手机端与netty的心跳测试
% j6 z7 @) f, {7 Z8 y, ~. z10-5 前端keepalive保持,与心跳测试
6 A& W0 [2 H0 ^; @; R第11章 后端云部署与app云打包1 e2 M2 ?! i0 C5 K A* ~( m2 P
本章节做为上线部分,需要购买云服务器,采用腾讯云,会对其进行讲解,然后搭建基本环境,包含JDK、tomcat、MariaDB、fastdfs、nginx,springboot打包与部署。最后对手机app进行云打包
3 P9 d- \0 X& I$ g1 O9 s3 x3 {! ]* `' p/ l9 P! E
11-1 云服务器购买推荐及安全组介绍与关联
0 B) w; s1 ]3 n11-2 文件传输工具的使用3 [7 C$ Y9 B6 M( Y8 k- P6 S
11-3 命令行工具的简单使用/ m! h( |! \+ j$ h# z
11-4 云服务器配置JDK环境
1 j( ^- z& R% {1 |% f2 S11-5 云服务器安装tomcat
4 \% o) p2 g. ^, P# p; g11-6 云服务器离线安装MariaDB
- D7 R1 T- x4 h' F11-7 云服务器MariaDB安全设置与客户端连接调试 H6 P; y) `$ d1 B& B
11-8 云服务器安装图片服务器的注意事项以及nginx反向代理tomcat服务器& u8 Y. Y( F% M1 R
11-9 springboot工程打包
8 U( q: b" {7 W) l+ e11-10 打包文件上传到云服务器并且进行tomcat部署2 r4 S* q3 a+ j% r/ U/ U( s
11-11 app云打包6 [) B5 j2 P7 E. a( e$ h
第12章 课程总结 j. S5 c- i5 ^- v$ { q) F
课程总结
% i! D5 \; A- f" M/ g
% n7 ]' ]+ C: j12-1 课程总结
+ `+ G$ t: }8 z9 b1 u* q
+ w) _3 \) H7 T+ x( a1 h: H y
; f2 ]" [! e0 b" g) p5 g' M: b& e9 B ?- D8 G1 O7 {9 @6 T
) M1 o2 [9 x8 F0 Z# e' T
9 C( ~4 ?$ D! g9 @) i+ i* v! c4 \3 Y: Y8 j4 }+ E
|
|