|
Java视频教程名称:Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程 springboot视频教程
! a u' x6 n! O1 T1 Z6 b9 N1 V百度网盘下载链接:5 z* |) L. G) U% v9 J6 V; x
[/hide]
! H# J- f" H/ M# A$ M密码: nrjp【解压密码:javazx.com】, H% M4 z1 q# N: w
集数合计:12章
4 I3 a ~# q9 s6 q3 k7 o
. G! |: \' U: D* i9 v1 y4 a! t" P2 a
1 u8 N. U2 W9 c7 \: n2 @* `) B5 J
0 }# l. k+ `- J2 c o' g4 z1 x+ N! o* V% e
链接失效声明:如果本链接地址失效,请及时联系站长QQ:40069106
. L& t7 e& S2 O |如何获取资源:VIP升级: https://www.javazx.com/tpgao_wmcard-wmcard.html
% X/ ~" `( g+ EVIP说明: 月度VIP:使用期限30天; v; u K/ W4 r, w9 y0 p! r
年度VIP:使用期限365天, d3 i. _# X" m/ B" p
终身VIP:使用期限永久+ s2 a1 L& {/ k% R3 [
" V; n4 A7 [% _! k( JJava视频教程详情描述:
" S8 x# @- ?$ d& s* B2 f0 bA0236《Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程》课程中讲师将带你从无到有的开发一个仿微信的聊天App,其中涉及 Netty的websocket开发、SpringBoot开发、MUI与H5Plus(H5+)相关知识点开发和Nginx+FastDFS分布式文件系统搭建与使用等,整个课程一气呵成。学习之后自己也能开发出一个高颜值高水平的App,并且发布上线。springboot视频教程+ f7 C1 F9 y4 B- q+ `" h H
Java视频教程目录:
$ ?! k! K1 }/ s" N9 W0 T# u# k3 L% O6 C( j
d, o6 d2 ^6 ?+ E# f% J第4章 使用netty构建websocket服务器
2 `% u/ K6 q1 [' p" I0 q: g8 j& d4 L理解实时通信,使用netty的websocket编写服务端启动类、子处理器以及助手类。 理解JS相关的websocket api,简单使用hbuilder编写通信页面与netty交互并且使用web浏览器与手机端浏览器进行测试数据交互+ o' U' B# v; j/ o4 ]" z; K
N0 R, Y' S- e7 ]0 j" U4-1 实时通信相关概念讲解4 t4 r$ R/ Y9 g" z
4-2 编写websocket服务端启动类* o# \' ?9 T+ M# k
4-3 编写websocket子处理器initialzer
( N( a* S" d& Q0 y( c4-4 编写chatHandler对消息的处理
1 U8 O% r/ u# p; E# p( M3 ?4-5 基于js的websocket相关api介绍
* o8 f+ |5 {8 p4 L9 V4-6 简单实用hbuilder工具编写前端websocket
' L/ _* s% b$ b4-7 测试web端携手移动端与后端netty聊天通信; \( H$ d4 a X( }
第5章 使用MUI与H5+构建移动端app! y# m: X5 P( K. Q$ D" d* Z
零基础讲解MUI、H5+以及hbuilder开发工具,构建慕信轻聊的基本骨架
# w# J& a8 Q6 ~, [, i5 x! a4 F9 a6 ^( _
5-1 MUI,H5+,Hbuilder介绍 O: Q0 T7 l( a# ]
5-2 创建项目,页面基本结构讲解
2 t z) |9 \! N1 n5-3 自定义标题栏样式# D" B/ ^. y* M; m( _' ]% j, s
5-4 真机调试与原生标题栏样式更改+ U3 m' w* D/ R9 K6 I5 v
5-5 首页底部tab选项卡的使用,MUI图标库讲解
# w+ @4 o1 T5 C4 ^2 X5-6 使用阿里图标库构建自己的icon库2 [9 ~) _# u; z5 n! t
5-7 tab选项卡切换页面(上)
% ?5 l, Z- n5 A: _" E, k: x) m* V( e5-8 tab选项卡切换页面(下)
[% ^: S# k% a6 H3 f I" C6 z第6章 使用springboot整合netty搭建后台
; A4 ^- K% g/ o! x7 b" k7 R1 b对数据库表设计进行讲解并且使用springboot作为主要后台框架,并且整合mybatis以及netty,重构netty server并且整合/ I6 G0 N8 t4 Q; \
【Java自学网 www.javazx.com】
- U. k; H* Q3 I7 O; `. @6-1 数据库表设计
) S. x( n' H0 \6-2 使用mybatis逆向工具
+ n2 R6 W9 Y- `6 o6-3 搭建springboot2.0工程, F* s, |9 C; X. m/ d t( }: ^
6-4 springboot整合mybatis; W! q5 r$ |6 E3 N" u1 Q6 F
6-5 整合netty server【Java自学网 www.javazx.com】
2 Y, N7 h P* {* C( E* W6-6 完成netty整合springboot并且测试: l3 E1 K/ Z6 Y8 `% C" J' M
第7章 用户注册/登录/个人信息
+ @! v( ~& R3 U( z# Y: N' }开发用户注册登录以及个人信息页面相关功能模块,其中涉及到高性能分布式文件存储服务器fastdfs的搭建,并且使用nginx发布可使用http进行web访问并且下载用户头像和二维码
$ T3 U( X1 {' z2 e8 ~
6 z6 @, ^0 e& m: H- n+ M7-1 注册登录页面讲解与后端接口开发1" e, y3 i/ S0 _3 j4 u2 k1 [4 [6 j, A: e
7-2 注册登录页面讲解与后端接口开发2
2 U) G" h* d3 ]+ P5 J7-3 登录注册页面的判断事件与js自定义util
& u1 T8 P3 ~# d# A: `7-4 登录注册前后端联调$ z+ U" Q6 J5 D) D
7-5 首页禁止返回和用户自动登录讲解
9 e& T# I# W2 H9 \7-6 开发我的个人页面
# Y$ i$ [" l0 Y( Q$ \5 n! a7-7 动态初始化个人信息 n, M ]. f1 b7 Z2 [% G7 ?0 `* Y' D! r
7-8 打开个人头像页面
$ w* L" h0 T0 k8 Y1 _2 k7-9 增加可选择菜单
6 \* R% m j Y3 B, M0 y& y7-10 为菜单增加事件绑定6 D# E5 j9 K" D
7-11 选择照片与裁剪插件
j1 W2 ~# L/ G S( ~/ ?, K7-12 文件服务器概览$ G9 V }$ X5 A
7-13 安装tracker服务4 q& |, h5 M( M5 B
7-14 安装storage服务. ^. X% r: ]4 A; A% ?8 y
7-15 配置client并且上传测试图片
- T, o$ D+ s; b: ?) T7-16 nginx安装与fastdfs配置(上)1 h3 G8 X' Y) O+ ~
7-17 nginx安装与fastdfs配置(下)
4 |. K7 a+ V* q) U7-18 fastdfs 整合springboot( J( f9 d. I, Q
7-19 后端上传图片功能开发
# O8 V. O$ k3 I {7-20 上传图片前后端联调与测试& n& n" }, `. Q; O9 e
7-21 头像上传后跨页面调用自定义事件刷新1 _: Z) M; h, u' O
7-22 上传头像细节部分处理与openwindow的bug处理
% E" |' _. C* n6 }7 x7-23 下载头像到相册' R+ g3 o7 t. K( `
7-24 修改昵称页面( x* q; A5 D3 u* N# K' ?% ]
7-25 修改昵称后端接口
% j5 y+ l: d' |7-26 修改昵称前后端联调
$ [! h4 s s0 R7-27 用户二维码生成
3 V! r( ~! ]$ o2 Y/ b7-28 我的二维码作业布置2 C4 y t# w# L+ h) @) O
7-29 我的二维码作业讲解
& |% z9 @- L+ C6 b2 r$ u7-30 用户退出以及简单小结2 Q( ?! P1 n4 m
第8章 发现页面与通讯录相关功能开发
H' W9 |* ]: K: Q- Z1 p用户可以通过搜索其他用户账号进行好友添加,或者通过用户的唯一二维码进行扫码添加,发送添加请求后其他用户可以拒绝或者同意好友请求
1 \6 A1 L! b: w( S( }" ]( t* D, ?% U
8-1 发现页面编码
. N- F* m: N1 D+ p8-2 搜索朋友账号接口(上)% z% b! @) D' \' @8 {) ], F% O
8-3 搜索朋友账号接口(下)
$ C5 Q! U( Z* A) I+ t5 j& T8-4 搜索朋友前后端联调
2 m( ?1 }( x1 [1 a ~2 O8-5 搜索结果页讲解以及webview传参# Q- |1 h" {* H/ M! m
8-6 发送添加好友请求接口编码( B3 ~: ]9 b* r9 O$ Y' v; ^
8-7 前后端连天发送好友请求% J9 u: D. v2 q6 U; z! y
8-8 查询好友请求接口
7 j/ c4 |9 c: Z8 ]3 U& {) J8-9 朋友接受到请求页面联调开发
2 _4 g6 P: V* I2 i" `' L2 `2 |8-10 好友请求HTML动态渲染% @/ O+ U* D+ C. R, R
8-11 同意或忽略事件动态绑定5 M; \# R- }2 o
8-12 同意或忽略controller
- _. q- I, g$ s. C4 V$ `6 M" f8-13 同意或忽略的service编写
: O* Y( A# f" N5 I3 W ~3 Q* X$ g% r1 _8-14 好友请求忽略或拒绝前后台联调% X; S, G. f& J* K
8-15 构建扫描器
: ?0 s. u. k9 T% ?8 H8-16 扫码器颜色自定义
4 _; E9 S* h$ ]8-17 扫码添加好友联调
: U2 B" H0 k& v7 \2 e# ?0 y8-18 延时加载预处理数据
- T4 s2 ~+ J; k6 I3 Q. w8-19 mui 自带索引列表模板讲解
8 V9 S/ ]6 g! l5 g3 I: M8-20 通讯录列表整合
0 e& z: P3 |( w7 F; P$ L* d" a% b8-21 图文列表和通讯录整合增加用户头像显示
7 `' s! j8 s% Q# C" `# o; {8-22 查询用户的所有好友列表接口. n& ?, K& M5 S( l @8 x, T: g; k
8-23 手机端获取好友列表保存到本地
1 X7 D' b; Z2 u7 `8-24 定义通讯录好友列表模型 D0 g% j8 X8 N5 F) F% `+ x, N
8-25 通讯录列表渲染展现* M, \0 E: e) V1 [2 V
8-26 好友请求接收方更新通讯录, L, W! i: ?+ F- e5 |
第9章 聊天页面开发& X6 |, a- I% ?
构建手机端上的聊天页面模型,建立会话,接受发送消息,netty控制点对点消息发送,控制会话重连,聊天记录的本地保存与左滑删除,消息标记未读,消息牵手等。
3 k1 x' O; b7 ~1 j/ P+ N
* H7 n+ [6 y( o/ w: d; x9-1 聊天页面讲解与展示
9 q( _+ y( S1 P1 G9-2 header动态改为好友昵称,动态滚动到最新消息/ Y# ~! S4 S$ b. i
9-3 发送按钮的颜色状态改变
; g% f& ?4 a0 S( j4 E$ n9-4 弹出软键盘重新设置聊天窗口高度
. d8 y1 \' n0 ?3 `- e2 c9-5 发送消息前置条件网络状态判断1 V3 d V: V1 q! v
9-6 监听网络连接事件
' w0 N7 `! [4 J0 x1 m" L" _0 P9-7 发送消息html渲染
* x% B7 X. Q0 e9-8 接收消息html渲染
. s: e9 i- v1 p7 h( x8 ~9-9 发送消息与接收消息时的铃声播放8 M- F8 @$ N# u
9-10 手机端websocket模型定义和发送消息* { G- a+ P; s9 I: j" J$ N
9-11 websocket接受消息的渲染_x264$ V4 g6 i2 s& @5 R$ t K$ |3 s
9-12 服务器断开后的重连机制9 O" r- G9 G8 ]' R2 |; w, T
9-13 chatHandler初步重构6 x* ?' Z; I) P1 p' }
9-14 构建聊天业务模型/ P$ [ B3 s' e/ W4 p7 k4 k/ S
9-15 chatHandler - 处理客户端连接
$ E, g& q3 l4 q, R; f9-16 chatHandler - 保存聊天消息到数据库3 a+ s8 O* ^- z& w F- K
9-17 chatHandler - 处理消息发送
4 d1 ]0 j1 Y [; t2 s: t5 D( @9-18 chatHandler - 签收单条或多条消息
7 X# T5 [7 J: W- _, o: ^+ @9-19 客户端onopen联调,初始化用户和channel关系8 Q- l# n8 `6 H, ?; C) u9 v
9-20 客户端发送消息与接收联调
+ {7 @; F) v* q" V/ m6 j9 b% i) h9-21 接收方获得消息后重构渲染$ M+ c; i% F' g1 @) A' Z
9-22 客户端签收消息: x# z" G. L" f6 j$ n
9-23 websocket新增好友类型联调: r- L3 A+ y( e
9-24 保存聊天记录到本地% ]% k8 g) A0 ~) N
9-25 从本地获取聊天记录
% g9 y+ ^, O0 R/ J9-26 初始化聊天记录和渲染
' f0 Z9 p2 D6 W# T1 I* p9 ^9-27 聊天快照业务简单讲解
5 L) I7 Y6 {! G" z9-28 保存聊天快照到本地3 _1 y' [! X, h3 f* w3 T
9-29 获取聊天快照
9 l$ V- k5 L6 x: V: E2 F; e" C9-30 已读未读消息的设置与快照调用
3 ^) o" X; l& |" ]( t9-31 展示聊天快照) f% F @2 k( N$ b2 P
9-32 未读消息小红点标记! ^1 @2 V& m x
9-33 点击快照开始聊天8 R" @' C4 v; u- Q: F% O
9-34 未读消息标记已读
) k$ W2 H- y2 o9-35 开发获取未读消息列表接口% u% `5 {3 M f) P
9-36 前端获取未读消息列表6 Z' W1 p) G' g4 ^
9-37 批量签收并且展示未读消息
7 @' S& _( }: L( L8 J; W9-38 聊天快照左滑删除效果 ~; E: E" ]1 D x# b- N d
9-39 聊天快照右滑删除聊天记录与快照1 Q; [0 h3 N. y: z
第10章 使用netty编写心跳检测& t4 @) o5 V( C2 p; w
app不会主动和服务端切断,只会有可能发生离线或者关机或者飞行模式,所以需要在后台控制心跳,检测客户端的读写请求来判断是否清除无用的channel。同时手机端也要保持一定的keepalive。未接受到的消息在用户下次打开后重新获取。 ...3 a; W+ \+ o: s" ^
+ s. S; D, ?6 j. F9 o) Y10-1 心跳机制的概念与飞行模式' h4 y5 Y T2 M/ ~6 s- M5 f j
10-2 心跳HeartBeatHandler编码( M$ @1 u; t. B. x/ \4 A: ?9 t6 A
10-3 配置空闲handler与超时时间设置' ?- v$ S$ i) F* Q! s2 z
10-4 手机端与netty的心跳测试) ~, I6 N! K4 A$ y/ {5 D) }
10-5 前端keepalive保持,与心跳测试, p" E% E' m9 C; Q
第11章 后端云部署与app云打包2 L, W$ @' _3 ^
本章节做为上线部分,需要购买云服务器,采用腾讯云,会对其进行讲解,然后搭建基本环境,包含JDK、tomcat、MariaDB、fastdfs、nginx,springboot打包与部署。最后对手机app进行云打包. I7 s5 d" ^* L% R
* |& X& ]( T) J/ {) j11-1 云服务器购买推荐及安全组介绍与关联
' ~, U7 }! ?* p& c0 z9 }' O0 V11-2 文件传输工具的使用
+ J0 p" m' T0 h5 T) b9 V11-3 命令行工具的简单使用% R- }+ t: R% i" [
11-4 云服务器配置JDK环境
" p$ E$ r# Y5 c6 V! v* A* D5 j8 O& D: {11-5 云服务器安装tomcat0 I! P4 K- y# B) ^6 e
11-6 云服务器离线安装MariaDB( j7 X& Z# Z2 w
11-7 云服务器MariaDB安全设置与客户端连接调试
' w' J& q4 z- x9 Z0 }4 D. p6 t11-8 云服务器安装图片服务器的注意事项以及nginx反向代理tomcat服务器7 F% G0 N0 C7 M0 W3 h
11-9 springboot工程打包2 N2 m( U- g3 w
11-10 打包文件上传到云服务器并且进行tomcat部署
: Z' Q5 S8 V7 H" |9 }$ S% Z8 x11-11 app云打包- a) F# B6 g# {( f6 o' y
第12章 课程总结
+ |" i8 c2 |) y$ |+ F课程总结' L* z0 |$ r# Q& d. C; v% q1 h
8 H5 D# h/ G* r' k12-1 课程总结! b. S0 p6 k5 y2 d* l0 U
3 @9 t W/ ^: I2 \8 b" c) T6 z R$ r
7 Z6 V" T8 @, I" j+ b. A
. G$ F4 Z) t- C0 E* d- o/ S8 x
* T7 y) g' g2 V4 Z9 u, J! X
# E. J+ @! H, a- E4 h! |" V
$ {! \: d+ d1 n0 o7 l |
|