|
Java视频教程名称:Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程 springboot视频教程# h" ]" D: h6 J6 c
百度网盘下载链接:
2 s$ f" Y3 w7 t' d; w+ L+ N8 j[/hide]$ [) `3 D/ G( p+ W5 f+ n& [
密码: nrjp【解压密码:javazx.com】
. k, |+ K( L# k+ l2 H集数合计:12章6 ~- i9 |4 W- L! F" R( N
2 M3 \6 g+ \7 @# `" X8 g
! f7 p! b( P- j! g! I+ ], h+ C
, u3 Q2 O7 ^$ G4 d1 O2 y% |" o. o
# d% P9 b1 p' Z- L3 @7 `链接失效声明:如果本链接地址失效,请及时联系站长QQ:40069106
. r2 @( X2 {1 {& ]/ d5 a如何获取资源:VIP升级: https://www.javazx.com/tpgao_wmcard-wmcard.html( b+ w+ o+ G2 Q$ @/ U
VIP说明: 月度VIP:使用期限30天) J! A$ l0 }' x8 @3 D
年度VIP:使用期限365天
, B8 A. X; K# L' m5 l, x5 _( o! N- ] 终身VIP:使用期限永久2 z$ i* ?/ |6 a+ e# k" u
- K3 |( o: l: t3 \5 p: o5 v
Java视频教程详情描述:
# Q! H# y3 m5 X0 f+ Y! Y7 B; IA0236《Netty/Springboot仿微信聊天全栈实战从0开发到上线部署视频教程》课程中讲师将带你从无到有的开发一个仿微信的聊天App,其中涉及 Netty的websocket开发、SpringBoot开发、MUI与H5Plus(H5+)相关知识点开发和Nginx+FastDFS分布式文件系统搭建与使用等,整个课程一气呵成。学习之后自己也能开发出一个高颜值高水平的App,并且发布上线。springboot视频教程3 K/ q, z5 y% C9 x# {9 R& b4 O
Java视频教程目录:
; |6 _- B4 y7 X) e; a& I1 u% c! }- @) S! U. V, ^
" T4 m) l. u7 i
第4章 使用netty构建websocket服务器4 T6 V' V( Q$ G, i5 y* Z% l- }
理解实时通信,使用netty的websocket编写服务端启动类、子处理器以及助手类。 理解JS相关的websocket api,简单使用hbuilder编写通信页面与netty交互并且使用web浏览器与手机端浏览器进行测试数据交互
, \! p, z/ y: ]$ E- t
( r. V$ r; {- D2 G. E: w9 x4-1 实时通信相关概念讲解% ~& q( `0 b6 h# `' |6 L# Y
4-2 编写websocket服务端启动类
% u4 c- ?' w# R7 T- x w( }4-3 编写websocket子处理器initialzer
5 r. X+ h* t" i; p3 D2 I4-4 编写chatHandler对消息的处理3 j$ ^' T s4 `- E! h& W
4-5 基于js的websocket相关api介绍
% w* [ Z# J j, }; b# q" B4-6 简单实用hbuilder工具编写前端websocket
: M/ U7 k+ F% L4-7 测试web端携手移动端与后端netty聊天通信 c% h+ x" k; H3 @& G3 E
第5章 使用MUI与H5+构建移动端app1 Z' @' p' k0 w, C
零基础讲解MUI、H5+以及hbuilder开发工具,构建慕信轻聊的基本骨架
& C9 x, q& F3 l$ u! R8 Y( L! o+ u( ?* e' F# [
5-1 MUI,H5+,Hbuilder介绍
`' u8 {' H# I3 \% i5-2 创建项目,页面基本结构讲解. K; d$ X& D6 C9 U
5-3 自定义标题栏样式
0 g0 X- b: E& [! a9 B$ f& L/ d5-4 真机调试与原生标题栏样式更改
( q2 f; [7 \/ ^% t2 S5-5 首页底部tab选项卡的使用,MUI图标库讲解
! `3 S$ K( f# t) d# H5-6 使用阿里图标库构建自己的icon库6 w. L1 D- T" R& O% T' T$ b
5-7 tab选项卡切换页面(上)
s+ u7 T, b7 }5 D! D6 k5-8 tab选项卡切换页面(下)
0 T3 z" {' P7 W第6章 使用springboot整合netty搭建后台" k" |2 V, w/ |* ~" e
对数据库表设计进行讲解并且使用springboot作为主要后台框架,并且整合mybatis以及netty,重构netty server并且整合& S" M3 x! H- t# Q5 G* o
【Java自学网 www.javazx.com】
1 ]( ]" {5 |' K" d) h. V6-1 数据库表设计8 I( O4 n3 ], K" T
6-2 使用mybatis逆向工具' b& a# q v; \; @$ Y! F- J7 w
6-3 搭建springboot2.0工程+ T8 a9 U8 j2 B) {4 a7 \
6-4 springboot整合mybatis. ~5 C3 ^6 H. `9 K3 B
6-5 整合netty server【Java自学网 www.javazx.com】) v. M! v$ ^9 a3 b5 A7 p
6-6 完成netty整合springboot并且测试
6 N) O" Y. m! o# A第7章 用户注册/登录/个人信息
( }1 r& x" }1 v+ F5 G# P开发用户注册登录以及个人信息页面相关功能模块,其中涉及到高性能分布式文件存储服务器fastdfs的搭建,并且使用nginx发布可使用http进行web访问并且下载用户头像和二维码
2 d( ^* V8 G; {' f& H0 \1 J8 T6 e
7-1 注册登录页面讲解与后端接口开发1
3 S7 c6 j& s6 @2 g) B; H: c* ~7-2 注册登录页面讲解与后端接口开发23 \# w: C0 a1 G) ^+ }
7-3 登录注册页面的判断事件与js自定义util
" C$ x4 g7 _' x% b$ r1 F1 z7-4 登录注册前后端联调! r$ \% R+ l1 B4 n
7-5 首页禁止返回和用户自动登录讲解4 |0 Q* w& ]5 R. Q/ w/ W4 P/ I
7-6 开发我的个人页面
( B K: O- @3 Y7-7 动态初始化个人信息
# n: V. `( y& r1 d" p# s3 n7-8 打开个人头像页面
0 |- R5 {# Q1 v* g8 A1 o( r7-9 增加可选择菜单
' f- @* S' S0 U7-10 为菜单增加事件绑定
# w, J5 _& ~9 W" |% c; X( H7-11 选择照片与裁剪插件
8 Y/ A0 {* N; [/ p9 a$ ~7-12 文件服务器概览0 Y& H' P" K6 t% D4 W, ^- W' W
7-13 安装tracker服务
, F9 ~- T+ t3 T7-14 安装storage服务
7 J; [( S$ c4 A2 R8 {" x7-15 配置client并且上传测试图片
# V" A# l% f. m7-16 nginx安装与fastdfs配置(上)7 q9 g2 X! Y3 H/ s
7-17 nginx安装与fastdfs配置(下)# R3 o1 U" b# _4 u5 \* Y/ P# y8 D( K
7-18 fastdfs 整合springboot) f. G1 C- L p
7-19 后端上传图片功能开发
. o3 x" y4 j9 A7-20 上传图片前后端联调与测试
; v- a, q! o0 q+ S! n4 r7-21 头像上传后跨页面调用自定义事件刷新
' I0 D' M" F# i ?& `" f2 i7-22 上传头像细节部分处理与openwindow的bug处理
" J; \& M0 s7 @0 N5 \. q/ o: [+ o7-23 下载头像到相册
]2 }: o/ D% j4 L; ]& P; b0 `8 F# W7-24 修改昵称页面5 e1 d+ a2 u6 g/ X* |
7-25 修改昵称后端接口
6 _" [; Q Y+ G% a/ Q2 j* z. C7-26 修改昵称前后端联调; Q9 ?. S S. v( `7 y t# `
7-27 用户二维码生成5 t9 x3 p; B& S, B5 m' t
7-28 我的二维码作业布置
/ V# i4 _! g: J: H0 `+ ]" R7-29 我的二维码作业讲解. A' A' @* l) B$ |# a9 s) ^
7-30 用户退出以及简单小结
6 Z3 Z- {7 `; f1 w& f" Z6 Z& r) v第8章 发现页面与通讯录相关功能开发9 X- j$ q- D* E$ ]9 g# ]
用户可以通过搜索其他用户账号进行好友添加,或者通过用户的唯一二维码进行扫码添加,发送添加请求后其他用户可以拒绝或者同意好友请求2 B0 _( Y E6 B) b
1 \4 h) W2 x) v; }4 H
8-1 发现页面编码
5 x) E1 @% Q) }/ s6 s& H6 y3 l7 M8-2 搜索朋友账号接口(上)
# {# @6 a, ^) g8-3 搜索朋友账号接口(下)
8 h; q$ G+ I8 Z _ O8 s8-4 搜索朋友前后端联调 n L4 X9 |% [1 Y2 w2 p# _
8-5 搜索结果页讲解以及webview传参5 R- @* p, c4 a' |5 r M5 n
8-6 发送添加好友请求接口编码
* P/ W4 k: U v" |1 l9 Z# V7 g8-7 前后端连天发送好友请求2 I3 j& p4 r- F' c! M
8-8 查询好友请求接口 [- @, i, A; v. l; |3 d; S' v7 ~6 F
8-9 朋友接受到请求页面联调开发
! q9 l( D3 O) o" Y) K) g8-10 好友请求HTML动态渲染
# b( s4 l# w* V( A' ]8-11 同意或忽略事件动态绑定 c% p& N3 @* x- I: a# ^
8-12 同意或忽略controller1 r9 n+ @3 l2 r) O
8-13 同意或忽略的service编写: B# c; X9 J/ A- S4 l
8-14 好友请求忽略或拒绝前后台联调% d* @. I; i) I7 X
8-15 构建扫描器
4 E2 a* f. o& b& \8-16 扫码器颜色自定义
3 `# Z* N I2 S, Y5 b! d8-17 扫码添加好友联调
4 y8 ~5 K& V. p8 k2 _8-18 延时加载预处理数据# N9 T4 w( t( p% u! h( ]
8-19 mui 自带索引列表模板讲解
. B. E& f- F8 i! m1 ]' ^8-20 通讯录列表整合
+ K2 N- O. [ ]9 q8-21 图文列表和通讯录整合增加用户头像显示
# u. U7 W/ ^% b* H8-22 查询用户的所有好友列表接口( ]' Q4 x9 b7 v3 X' ?% Z- P4 K
8-23 手机端获取好友列表保存到本地0 R; V c# e/ o" t7 _& c' f
8-24 定义通讯录好友列表模型
7 w1 c# w0 `, k. f: A5 t8-25 通讯录列表渲染展现" k, J3 }# ?" B, O4 A1 o* V1 z$ f& f
8-26 好友请求接收方更新通讯录$ r Q& [! H# n: t
第9章 聊天页面开发
- D% f0 X4 K3 G8 ]构建手机端上的聊天页面模型,建立会话,接受发送消息,netty控制点对点消息发送,控制会话重连,聊天记录的本地保存与左滑删除,消息标记未读,消息牵手等。0 ^( u8 ?. {4 i. d" E( w& U
4 w1 @/ ?: {4 X9 w3 k" O4 ]
9-1 聊天页面讲解与展示
! H; f D" h9 j" ^' J, C( D. e9-2 header动态改为好友昵称,动态滚动到最新消息
" J. n4 Y3 ?4 y) R+ U: U) |( W9-3 发送按钮的颜色状态改变
) y& Q1 m( z7 [0 D9-4 弹出软键盘重新设置聊天窗口高度
$ L" T+ X' C* |# s9-5 发送消息前置条件网络状态判断- I9 G: V( b7 Z4 d& s9 n/ Z
9-6 监听网络连接事件
1 S2 V m" U8 y6 B$ S$ x0 d' q9-7 发送消息html渲染
4 e) P6 _$ s; X: [9-8 接收消息html渲染
6 e+ g, m. N" A6 h7 {5 o9-9 发送消息与接收消息时的铃声播放5 X5 Z: h5 F# j4 r1 u
9-10 手机端websocket模型定义和发送消息
% v0 {" ?8 p* a! b1 Y4 E) ^1 h9-11 websocket接受消息的渲染_x264- ~5 A% \( n2 E
9-12 服务器断开后的重连机制4 w+ {" t q% _ Z# I
9-13 chatHandler初步重构8 B& z0 ~! b+ C8 W
9-14 构建聊天业务模型
5 [! g) N! @: j5 p9-15 chatHandler - 处理客户端连接
1 d6 } w+ M# l# U( B1 T9-16 chatHandler - 保存聊天消息到数据库$ R: N& Z# p& Q5 S
9-17 chatHandler - 处理消息发送
+ j P V: G, E; }9-18 chatHandler - 签收单条或多条消息7 Y" ?4 F& C# K) o; ?8 m
9-19 客户端onopen联调,初始化用户和channel关系
' u8 i7 k0 R. v6 F S1 G% L9-20 客户端发送消息与接收联调. v3 B, q& ^, C! [% e$ x
9-21 接收方获得消息后重构渲染2 i0 _+ P6 Q9 ]4 u9 x. U- X
9-22 客户端签收消息
3 V* H: }! ^& q4 h; a# m% d9-23 websocket新增好友类型联调9 e( p5 L1 _9 R/ d
9-24 保存聊天记录到本地
5 \& B/ x. E. i( x1 v9-25 从本地获取聊天记录
9 P. P, @: k( L% R, Y- g9-26 初始化聊天记录和渲染6 I9 {5 H# ^! l; z+ @
9-27 聊天快照业务简单讲解
% t8 Q1 s% {3 X1 c1 g- s& J9-28 保存聊天快照到本地
2 Z. s- x7 R* p0 l9-29 获取聊天快照
$ g: U I ` l: \9-30 已读未读消息的设置与快照调用
8 D( @6 E" ]* {8 C% [( Q) n" X& w9-31 展示聊天快照
0 t; L. j% G1 L/ F r: s9-32 未读消息小红点标记
% T, Z7 m6 o; w# ~9-33 点击快照开始聊天
# M. |9 R+ H9 ~9-34 未读消息标记已读
& k3 U& J' H; [9-35 开发获取未读消息列表接口
1 P6 Q& Z) r( o1 w5 K' P" }5 e9-36 前端获取未读消息列表
; p, ?: t+ C( }9-37 批量签收并且展示未读消息. x& M; K$ F: \% Y. p2 x
9-38 聊天快照左滑删除效果% ~& }! N8 \2 X- |& @/ I
9-39 聊天快照右滑删除聊天记录与快照/ H! O% D. K: F# y* r l
第10章 使用netty编写心跳检测! n7 T' ~& @: B# d9 h9 B
app不会主动和服务端切断,只会有可能发生离线或者关机或者飞行模式,所以需要在后台控制心跳,检测客户端的读写请求来判断是否清除无用的channel。同时手机端也要保持一定的keepalive。未接受到的消息在用户下次打开后重新获取。 ...( l! e/ y# B7 @" j8 W
5 T- t: \" c. d$ }; p& r+ @; r) q
10-1 心跳机制的概念与飞行模式
5 _- q+ _$ F$ L T6 _' }: V( J10-2 心跳HeartBeatHandler编码# v1 O9 s1 Y( E6 W. _2 ?$ Y6 q- _
10-3 配置空闲handler与超时时间设置
3 d& u1 i% Q0 e2 l' a Q10-4 手机端与netty的心跳测试
2 V2 X: r) b- H& u10-5 前端keepalive保持,与心跳测试9 y: G) K8 ~; I1 Y# r" h9 D3 l7 K
第11章 后端云部署与app云打包
m- T- M3 _& x' ?本章节做为上线部分,需要购买云服务器,采用腾讯云,会对其进行讲解,然后搭建基本环境,包含JDK、tomcat、MariaDB、fastdfs、nginx,springboot打包与部署。最后对手机app进行云打包1 H6 |' z1 b( P2 L
* j V# L" M# _- G# h' C
11-1 云服务器购买推荐及安全组介绍与关联
5 f4 [0 l7 D9 A% H11-2 文件传输工具的使用
s! o/ n- K) ^; s) G11-3 命令行工具的简单使用" [. O- f: q7 `/ t
11-4 云服务器配置JDK环境
( A' ?8 {. P6 L. q11-5 云服务器安装tomcat
& e) y8 _5 a) }1 }# M( z) m4 [11-6 云服务器离线安装MariaDB* ~7 F- D2 T. s O, r* Q7 D
11-7 云服务器MariaDB安全设置与客户端连接调试
$ X- _( q8 _( V9 J3 z2 `11-8 云服务器安装图片服务器的注意事项以及nginx反向代理tomcat服务器
& |" {0 S; W, ]* @4 V$ a& B5 ]3 {11-9 springboot工程打包
8 @: F J5 B* `) Z11-10 打包文件上传到云服务器并且进行tomcat部署
0 }) t6 W% T! F1 k8 L( G11-11 app云打包& J$ F* U$ h- Y! E5 @: [
第12章 课程总结
: j2 @7 n/ i: q" G( n课程总结
4 ~, G0 p) }+ H {6 X/ J" c! I; C$ ?' `7 w1 e8 ^
12-1 课程总结
' q+ S; Q0 ^1 B! p ^9 O4 x' a0 R. Q8 x M3 V! D! c9 d
9 |$ B) h# {) J: I6 ~" f; m# K) I' I6 P4 r) u1 U, g! x
; W9 L# g+ I$ N8 c2 b
# U7 e. a; A2 U; F( O! M6 C( _" p
6 D; o8 H5 _, R' J4 ?0 m |
|