Java 前后台通信用的技术就是 servlet 吧?

2019-01-22 09:00:15 +08:00
 cirton

刚接触 web 开发不久. 用 java 做 web 开发的话,前后台通信是不是就是 servlet 一种方式?

4522 次点击
所在节点    Java
18 条回复
vcheckzen
2019-01-22 09:02:38 +08:00
微服务
sagaxu
2019-01-22 09:02:42 +08:00
不是
x7395759
2019-01-22 09:04:01 +08:00
先学习一下计算机网络
lhx2008
2019-01-22 09:08:32 +08:00
servlet 是处理 HTTP 包的一种接口,还有其他接口,包括 TCP 层的,比如 netty 的。所以和网络没啥关系。网络通信是下面 NIO 的包
TMDlw
2019-01-22 10:01:34 +08:00
java 最基础的网络编程应该是 socket 吧,servlet 是根据 http 协议对 socket 封装的吧,个人理解,不对的话求指点
nutting
2019-01-22 10:04:30 +08:00
初学就是 servlet 了,万变不离其宗,spring 也是对 servlet 进行了拦截包装,用起来更方便了
hunterhug
2019-01-22 10:10:46 +08:00
其实在传输层,就是 TCP,再上一层是 HTTP1,HTTP2

servlet 是处理 HTTP 协议的 Java 类集合,用来写 HTTP 接口。jsp 是模板,最后还是生成 servlet。Java Web 开发,从 servlet/jsp 开始,然后 struts,spring,hibernate,mybatis。

前后台通讯,如果前台指的是网页前端,那么可以用 servlet,也就是 HTTP,也可以用 websocket,是双工的,一次 HTTP 请求后转化为 TCP 持久连接。

如果前台指的是不太重要的服务,是其他的代理端,交互可以用 RPC,RPC 有直接 TCP socket 的,有 gRPC,gRPC 底层是 HTTP2,有 thrift RPC,也有不同语言独立的 RPC 方法。
zhangfeiwudi
2019-01-22 10:12:25 +08:00
开放个 http 接口 返回 json 数据 这是前后台通信

java web 方便的做一个 http 接口出来 可以用 servlet
gz911122
2019-01-22 10:28:52 +08:00
不是 还有 mina,netty 等等
assiadamo
2019-01-22 10:47:32 +08:00
基础都是 socket
ren2881971
2019-01-22 11:12:32 +08:00
你要是做应用的话 servlet 基本满足 80%的需求。。。
yc8332
2019-01-22 11:19:18 +08:00
如果你说的是接口 /网页开发,我想是的。。。那些框架也是基于 servlet 的封装,可能有加了过滤器,但是本质还是 servlet。。。。
leonard916
2019-01-22 12:24:00 +08:00
HTTP 吧
tatelucky
2019-01-22 15:02:28 +08:00
socket
Belmode
2019-01-22 15:53:21 +08:00
servlet 事 javaweb 的一种浏览器通过 http 与后台服务交互的规范。servet 标准是对 http 协议的封装,浏览器和 ava 后台交互也就这一个主流标准。但是,不止这一种方式可以实现浏览器和 java 后台的交互。甚至可以自己通过实现解析 http 请求的后台服务,来交互数据。或者通过 WebSocket 来与 java 后端通信。但是说到底,都是 TCP 请求。只要理解了各种标准,完全可以自己实现一个简单的连接协议和应用服务器。
gz911122
2019-01-23 11:38:02 +08:00
@yc8332 很多框架都不是基于 servlet 的,比如 play,vert.x 等等
cirton
2019-01-23 16:52:46 +08:00
天惹,大家都懂的好多哦。之前做大数据相关,刚接触 web 开发不久,发现内容好多好杂,框架+前端,看的头晕脑涨。。。
a450606756
2019-01-23 23:04:13 +08:00
就是 servlet 至于其他各种框架 spring mvc struts 之类都是封装了 servlet

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529327

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX