V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cirton
V2EX  ›  Java

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

  •  1
     
  •   cirton · 2019-01-22 09:00:15 +08:00 · 4403 次点击
    这是一个创建于 1919 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    18 条回复    2019-01-23 23:04:13 +08:00
    vcheckzen
        1
    vcheckzen  
       2019-01-22 09:02:38 +08:00 via Android
    微服务
    sagaxu
        2
    sagaxu  
       2019-01-22 09:02:42 +08:00 via Android
    不是
    x7395759
        3
    x7395759  
       2019-01-22 09:04:01 +08:00   ❤️ 1
    先学习一下计算机网络
    lhx2008
        4
    lhx2008  
       2019-01-22 09:08:32 +08:00 via Android
    servlet 是处理 HTTP 包的一种接口,还有其他接口,包括 TCP 层的,比如 netty 的。所以和网络没啥关系。网络通信是下面 NIO 的包
    TMDlw
        5
    TMDlw  
       2019-01-22 10:01:34 +08:00
    java 最基础的网络编程应该是 socket 吧,servlet 是根据 http 协议对 socket 封装的吧,个人理解,不对的话求指点
    nutting
        6
    nutting  
       2019-01-22 10:04:30 +08:00
    初学就是 servlet 了,万变不离其宗,spring 也是对 servlet 进行了拦截包装,用起来更方便了
    hunterhug
        7
    hunterhug  
       2019-01-22 10:10:46 +08:00   ❤️ 9
    其实在传输层,就是 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
        8
    zhangfeiwudi  
       2019-01-22 10:12:25 +08:00
    开放个 http 接口 返回 json 数据 这是前后台通信

    java web 方便的做一个 http 接口出来 可以用 servlet
    gz911122
        9
    gz911122  
       2019-01-22 10:28:52 +08:00
    不是 还有 mina,netty 等等
    assiadamo
        10
    assiadamo  
       2019-01-22 10:47:32 +08:00
    基础都是 socket
    ren2881971
        11
    ren2881971  
       2019-01-22 11:12:32 +08:00
    你要是做应用的话 servlet 基本满足 80%的需求。。。
    yc8332
        12
    yc8332  
       2019-01-22 11:19:18 +08:00
    如果你说的是接口 /网页开发,我想是的。。。那些框架也是基于 servlet 的封装,可能有加了过滤器,但是本质还是 servlet。。。。
    leonard916
        13
    leonard916  
       2019-01-22 12:24:00 +08:00
    HTTP 吧
    tatelucky
        14
    tatelucky  
       2019-01-22 15:02:28 +08:00
    socket
    Belmode
        15
    Belmode  
       2019-01-22 15:53:21 +08:00
    servlet 事 javaweb 的一种浏览器通过 http 与后台服务交互的规范。servet 标准是对 http 协议的封装,浏览器和 ava 后台交互也就这一个主流标准。但是,不止这一种方式可以实现浏览器和 java 后台的交互。甚至可以自己通过实现解析 http 请求的后台服务,来交互数据。或者通过 WebSocket 来与 java 后端通信。但是说到底,都是 TCP 请求。只要理解了各种标准,完全可以自己实现一个简单的连接协议和应用服务器。
    gz911122
        16
    gz911122  
       2019-01-23 11:38:02 +08:00
    @yc8332 很多框架都不是基于 servlet 的,比如 play,vert.x 等等
    cirton
        17
    cirton  
    OP
       2019-01-23 16:52:46 +08:00
    天惹,大家都懂的好多哦。之前做大数据相关,刚接触 web 开发不久,发现内容好多好杂,框架+前端,看的头晕脑涨。。。
    a450606756
        18
    a450606756  
       2019-01-23 23:04:13 +08:00
    就是 servlet 至于其他各种框架 spring mvc struts 之类都是封装了 servlet
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   988 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:30 · PVG 04:30 · LAX 13:30 · JFK 16:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.