|
Java视频教程名称:Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程 springboot视频教程: o- @% A9 {4 W8 }6 m0 P
百度网盘下载链接:4 x: {0 T7 O& N
[/hide]
3 Q6 T( q J- {& H2 ?2 z密码: nrjp【解压密码:javazx.com】8 `; {7 z0 G0 E( T( W. _
集数合计:12章
: Z2 O: y+ p8 n
9 _/ X$ `9 v3 c/ Q( ~' m5 ?3 j3 ]( T' o6 }0 E
" Y) J4 P7 |" q/ C" F1 N( K8 m0 S4 C+ g( D
链接失效声明:如果本链接地址失效,请及时联系站长QQ:40069106" i. i& @% h) c2 W: O1 f
如何获取资源:VIP升级: https://www.javazx.com/tpgao_wmcard-wmcard.html" r8 [* E' p+ ~8 f" R3 D8 d
VIP说明: 月度VIP:使用期限30天
$ H6 l' A7 ~* b 年度VIP:使用期限365天
5 p6 E) J+ F" F& P- @ 终身VIP:使用期限永久3 x! e( U6 h# m, u% I4 T, l
4 _ S D: y9 z0 b/ W" I+ Z, R
Java视频教程详情描述:
! J. V2 ]) Z5 V! bA0236《Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程》课程中讲师将带你从无到有的开发一个仿微信的聊天App,其中涉及 Netty的websocket开发、SpringBoot开发、MUI与H5Plus(H5+)相关知识点开发和Nginx+FastDFS分布式文件系统搭建与使用等,整个课程一气呵成。学习之后自己也能开发出一个高颜值高水平的App,并且发布上线。springboot视频教程
) L- { B- _: D LJava视频教程目录:
& x3 ?+ \: b2 h+ }# i* q! ^ o2 G( W6 g! l4 a8 R7 W
, V$ q7 E2 E6 ^2 i" N! Q$ [" C) S" H第4章 使用netty构建websocket服务器0 i' ^4 A+ `$ \. x3 Q
理解实时通信,使用netty的websocket编写服务端启动类、子处理器以及助手类。 理解JS相关的websocket api,简单使用hbuilder编写通信页面与netty交互并且使用web浏览器与手机端浏览器进行测试数据交互7 k: B: E! `; d! }- ^8 m
! d$ W" ?9 y7 V' k, c; H* z' `4-1 实时通信相关概念讲解9 _- b" e) U7 X/ H
4-2 编写websocket服务端启动类! I1 |: q* W$ I( t% A
4-3 编写websocket子处理器initialzer' }# I6 Q# R t* G
4-4 编写chatHandler对消息的处理( v8 Q. ~8 ?9 M! ^4 }: I% q
4-5 基于js的websocket相关api介绍
. A8 B T$ D9 ~+ P0 u9 C4 v4-6 简单实用hbuilder工具编写前端websocket
2 V0 C3 C" A* b3 ?' i; ?5 C4-7 测试web端携手移动端与后端netty聊天通信
, E# i) c. M; K$ H) L3 c: S) N第5章 使用MUI与H5+构建移动端app
0 Z7 Z# P0 c; `6 p8 |* i. e7 H零基础讲解MUI、H5+以及hbuilder开发工具,构建慕信轻聊的基本骨架$ c- ]0 p- ~& g. k, v( F
" Y, F. U7 q. O# B! m5 i. ~9 }
5-1 MUI,H5+,Hbuilder介绍
8 W' D$ n A) H6 u; f9 s5-2 创建项目,页面基本结构讲解5 ~$ g9 [9 [" n5 l% h, ^- e$ P
5-3 自定义标题栏样式
) S9 U- y5 e2 u: z" B V6 R( [5-4 真机调试与原生标题栏样式更改5 C7 j& }3 W# s; n" a
5-5 首页底部tab选项卡的使用,MUI图标库讲解
8 @# J# R3 d! j6 b1 @6 @9 E5-6 使用阿里图标库构建自己的icon库 w2 a$ v) P# A6 R) v
5-7 tab选项卡切换页面(上)
/ N) Q! d( b, K( z$ N5-8 tab选项卡切换页面(下)$ G3 _! M% N; B, e
第6章 使用springboot整合netty搭建后台
( g: l2 u7 Z" ?- I( D* n l3 A对数据库表设计进行讲解并且使用springboot作为主要后台框架,并且整合mybatis以及netty,重构netty server并且整合
/ I$ m2 k& N" A1 j' h3 s. E1 w【Java自学网 www.javazx.com】( s; b# a2 o6 _% [0 _
6-1 数据库表设计. S( f: W# i/ Z9 u
6-2 使用mybatis逆向工具
1 a8 J$ u) N! P0 b) {2 _6-3 搭建springboot2.0工程3 \2 A1 U- j2 F6 p, `( I
6-4 springboot整合mybatis/ C6 k) R7 ]( _. |. I" e
6-5 整合netty server【Java自学网 www.javazx.com】8 X7 J$ d# G1 l2 Q) u" K% O, Q
6-6 完成netty整合springboot并且测试
8 w3 H# g8 o' u: @* L8 |1 X第7章 用户注册/登录/个人信息+ N" E3 p, G% V0 h
开发用户注册登录以及个人信息页面相关功能模块,其中涉及到高性能分布式文件存储服务器fastdfs的搭建,并且使用nginx发布可使用http进行web访问并且下载用户头像和二维码% t& A8 P- n! r1 B$ W/ i
6 B$ _7 @- |, i' v% R, t( }7-1 注册登录页面讲解与后端接口开发1
' v. _" i' w# \" Z! M2 z5 g" ?% o7-2 注册登录页面讲解与后端接口开发2) x3 z# y" A0 V+ Q7 ]
7-3 登录注册页面的判断事件与js自定义util: r0 _( i8 p4 ^ i8 \, q2 h5 `2 |* o
7-4 登录注册前后端联调
8 a! e% i: k& Y5 d3 F7-5 首页禁止返回和用户自动登录讲解
) e* r- d' H, j" o# ~$ F/ B! P7-6 开发我的个人页面
3 c0 @2 L: L' A) d7-7 动态初始化个人信息* n1 l7 c% R6 ^2 Q$ O
7-8 打开个人头像页面( O q/ R* C9 B+ @
7-9 增加可选择菜单2 V% R) n9 L/ D& s
7-10 为菜单增加事件绑定
% a" B a0 p, ]; T8 a4 F0 p2 r( r. W7-11 选择照片与裁剪插件
5 M+ y, G+ C9 K+ {7-12 文件服务器概览5 R( B- v$ s) F' z8 U. Z8 f
7-13 安装tracker服务# {( P$ V& ~# {) {3 s
7-14 安装storage服务2 Q/ a2 B e! S4 K8 `" h, ^5 z
7-15 配置client并且上传测试图片
v1 z! }, J9 d! V# H7-16 nginx安装与fastdfs配置(上)3 U/ Y4 Y4 A5 s9 ~1 i/ W2 b
7-17 nginx安装与fastdfs配置(下)
, G, x. ~3 h, }% i1 J) t5 Q7-18 fastdfs 整合springboot
5 N" Z1 i( v# J& V, A: [2 [( Y q7-19 后端上传图片功能开发, s9 X2 v, H! _. M, a% g( B4 l! p* O
7-20 上传图片前后端联调与测试3 z1 E* z- F9 `$ }
7-21 头像上传后跨页面调用自定义事件刷新& V" J1 Z8 Y5 l# Z% X- ^
7-22 上传头像细节部分处理与openwindow的bug处理. {8 ~1 [0 C% B( P+ K( T) H" s
7-23 下载头像到相册
* u$ T9 y& V1 {. k" T7-24 修改昵称页面/ F! ~: {9 O, s6 o+ K4 A: q
7-25 修改昵称后端接口
: E$ M* u. i" e* U9 o7-26 修改昵称前后端联调 b# {. f P+ {! p @% J) c8 D
7-27 用户二维码生成3 }' A7 _4 F6 d/ t" j2 d
7-28 我的二维码作业布置" o) [% a% B2 I7 V& R
7-29 我的二维码作业讲解
! ^4 t% d/ v Y# o7-30 用户退出以及简单小结# X" N4 p1 ~9 r4 t' v
第8章 发现页面与通讯录相关功能开发% a* b+ _, |% I& Y
用户可以通过搜索其他用户账号进行好友添加,或者通过用户的唯一二维码进行扫码添加,发送添加请求后其他用户可以拒绝或者同意好友请求
- C0 ~: Z4 h6 _, j$ D9 Y
, z* z" k" x, f' \' {# q, N- ^7 p. s8-1 发现页面编码
7 R T/ |9 l G0 Z8-2 搜索朋友账号接口(上)5 @& e; u0 S! \! L
8-3 搜索朋友账号接口(下)9 c3 p# @/ n& ?/ p' C2 L1 g$ z; k
8-4 搜索朋友前后端联调! f1 [* a; h N6 Z) e4 b1 ^1 v
8-5 搜索结果页讲解以及webview传参. G I1 ]) J" a1 ~. e' L
8-6 发送添加好友请求接口编码- x6 m: ]" Q4 l5 x4 ^" r
8-7 前后端连天发送好友请求
/ v9 M4 f9 x& {. |; ]8-8 查询好友请求接口, `, k' E% q2 s( X
8-9 朋友接受到请求页面联调开发
) }+ a: `' {) E8-10 好友请求HTML动态渲染
& ?; v# A; I2 n/ U d8-11 同意或忽略事件动态绑定
. I9 o7 F% t2 x" |8-12 同意或忽略controller
" Z) k( R, j; K8-13 同意或忽略的service编写
$ ^; a* O: @" ]- O* u* F# |7 l8-14 好友请求忽略或拒绝前后台联调4 T; k/ M _. e" ]; p2 r, H
8-15 构建扫描器
' z4 C4 I) O* h# y2 S0 L8-16 扫码器颜色自定义9 N4 D5 H6 e) w2 s! I
8-17 扫码添加好友联调
, U9 W; R1 j' ^$ C5 O* |8-18 延时加载预处理数据
. N0 h5 b9 P4 R8-19 mui 自带索引列表模板讲解
7 f/ e7 Q( t% o+ U [+ j5 `6 H* T8-20 通讯录列表整合& O% d+ W% E0 u$ y5 e# k+ d, u
8-21 图文列表和通讯录整合增加用户头像显示& l0 m' w N, I$ H, q
8-22 查询用户的所有好友列表接口6 z9 o, X6 f# ~
8-23 手机端获取好友列表保存到本地
& j5 _& p$ k% ]4 i R: {8-24 定义通讯录好友列表模型
9 w3 T* L& s2 s( L( W: }8-25 通讯录列表渲染展现
! X% ]4 B4 X5 O. r' ~' z9 V" P8-26 好友请求接收方更新通讯录: {% A9 l4 |& ~: D
第9章 聊天页面开发
f* [3 w/ b- O1 z p6 M# g构建手机端上的聊天页面模型,建立会话,接受发送消息,netty控制点对点消息发送,控制会话重连,聊天记录的本地保存与左滑删除,消息标记未读,消息牵手等。
( d2 J4 C* m% x; d, J
3 ?# C' h/ o. v: U9-1 聊天页面讲解与展示3 ?) F8 U& L3 p. z$ i% E
9-2 header动态改为好友昵称,动态滚动到最新消息
9 `5 v+ t) u) y0 O" z. R. J9-3 发送按钮的颜色状态改变' v$ j' C- C# R! E" }# A1 P% G
9-4 弹出软键盘重新设置聊天窗口高度* {! Y: c9 h7 b3 T ~3 \0 o! O
9-5 发送消息前置条件网络状态判断
5 e" J) @4 Z- B/ r) y9 M0 l9-6 监听网络连接事件
2 ~* l% D2 m2 C5 t1 O. q8 t9-7 发送消息html渲染, W- L1 T2 `$ L+ O+ {4 _* N
9-8 接收消息html渲染% X# ~! Q6 ]* p" o7 _8 f
9-9 发送消息与接收消息时的铃声播放. {) {7 P& \5 y: s: W. D1 }5 g
9-10 手机端websocket模型定义和发送消息0 {. p1 X P0 ^6 G
9-11 websocket接受消息的渲染_x264/ a- _% `1 Y- G
9-12 服务器断开后的重连机制6 H6 ~: `3 t& r. f9 w
9-13 chatHandler初步重构7 \3 R2 V. @' i5 H
9-14 构建聊天业务模型
: O6 {% ^7 E* N* u# i7 @9-15 chatHandler - 处理客户端连接) w$ y9 w2 \9 u
9-16 chatHandler - 保存聊天消息到数据库) N6 F' t% C# D
9-17 chatHandler - 处理消息发送
! A5 Z4 k5 @8 g; H$ ^9 ?: S9-18 chatHandler - 签收单条或多条消息0 x1 p9 ]0 W, Z4 _
9-19 客户端onopen联调,初始化用户和channel关系
) S$ ?, g8 T9 `* N9-20 客户端发送消息与接收联调
& P7 ^8 e4 m k5 \9-21 接收方获得消息后重构渲染4 k) R( X1 [5 o
9-22 客户端签收消息
/ u5 v' S8 z( i/ A/ i; T9-23 websocket新增好友类型联调5 _; }0 @9 ?) q- m0 Q; F
9-24 保存聊天记录到本地
: H$ s* ~* G6 v1 o6 P$ N0 M7 R+ f. I* i' E9-25 从本地获取聊天记录
+ Z0 C# U. e4 @5 a, f9-26 初始化聊天记录和渲染; j9 {8 |1 S! k
9-27 聊天快照业务简单讲解1 Y3 m; g+ W" @! Q3 u
9-28 保存聊天快照到本地4 W" x! T) Z; @2 R8 B" B8 h
9-29 获取聊天快照
" U+ I2 _; |, A# H8 I) h9-30 已读未读消息的设置与快照调用. B' e. f2 E3 E
9-31 展示聊天快照/ x6 f& ^2 e# s) F9 e$ @/ Z
9-32 未读消息小红点标记) v% n/ [% r' g0 N- s! J! e
9-33 点击快照开始聊天
# p: C( S: p7 \' w9-34 未读消息标记已读
8 E7 F# |0 a6 n9-35 开发获取未读消息列表接口. N" D/ a/ g* B3 _3 S
9-36 前端获取未读消息列表
" Z8 y; t% L& c* {& t1 t9-37 批量签收并且展示未读消息
. O/ I- C' R, s9-38 聊天快照左滑删除效果; J6 h. z6 c0 `/ g0 i
9-39 聊天快照右滑删除聊天记录与快照
M( K1 _) x& V% F. ^, b# W F% Y" F第10章 使用netty编写心跳检测6 O: ]0 W# u6 K9 G, D- \
app不会主动和服务端切断,只会有可能发生离线或者关机或者飞行模式,所以需要在后台控制心跳,检测客户端的读写请求来判断是否清除无用的channel。同时手机端也要保持一定的keepalive。未接受到的消息在用户下次打开后重新获取。 ...
0 g/ c7 u5 V0 x& c3 a1 \2 P; V' f6 o& n% }" U
10-1 心跳机制的概念与飞行模式! `% s4 [6 f- K1 {. P: H4 O4 L% g% L
10-2 心跳HeartBeatHandler编码
0 f, _6 E v a' T% q10-3 配置空闲handler与超时时间设置2 q- i9 j; J% l3 K9 U: _+ }
10-4 手机端与netty的心跳测试
/ M4 P4 {' e. m' {. i7 z0 X( |10-5 前端keepalive保持,与心跳测试
9 i S, h+ G J" F" @第11章 后端云部署与app云打包# }* @6 U; n' ]5 J
本章节做为上线部分,需要购买云服务器,采用腾讯云,会对其进行讲解,然后搭建基本环境,包含JDK、tomcat、MariaDB、fastdfs、nginx,springboot打包与部署。最后对手机app进行云打包+ K$ j% ]; c5 i2 J5 f
( R0 t' U- O0 j( j. j4 L8 {! n11-1 云服务器购买推荐及安全组介绍与关联
4 B# |' o4 O% ?$ y" R* z {" r11-2 文件传输工具的使用
' r; `# a. u |4 g11-3 命令行工具的简单使用
8 m- k! P$ ^: K; B, X+ M9 B11-4 云服务器配置JDK环境! A: G2 u; N A: k' ?) g) d. s
11-5 云服务器安装tomcat
; t2 k8 r: n! B9 _11-6 云服务器离线安装MariaDB2 o/ U2 _& _5 h" ~! g$ i
11-7 云服务器MariaDB安全设置与客户端连接调试
9 j$ y" T3 T. h+ A; z" A) q11-8 云服务器安装图片服务器的注意事项以及nginx反向代理tomcat服务器9 T. G6 T% t9 {" ~( R: X
11-9 springboot工程打包
# x9 |& B9 v! E5 h% g11-10 打包文件上传到云服务器并且进行tomcat部署
- s P/ p7 W' Z; U- r" T; G% ], O$ j11-11 app云打包
8 B% y& O/ X$ A. b- { K* e第12章 课程总结* `, v6 I2 Y [6 @: {- I$ Y/ H
课程总结, W' E( K7 h, d: z% {% O) }
6 {3 ~- B" q' Q! N9 o: }12-1 课程总结
) g) \# l9 L* G) `: A5 M
. {5 X2 o+ B" l0 k q0 U" y( i: W. R# A, r F
# x% F, Q! t/ c7 s5 J- w: C
/ _, Z- C+ R& c0 I
A# G2 i; X* C& a' k2 y2 X
: J' T, k9 ?& G i |
|