• 蔡伶
    2019-05-15
    打卡

    先说下听完老师课程的感受:经典不会随着时间而消逝。java和servlet规范已经发布20多年、操作系统和网络协议以及html更是经过了几十年的洗礼,现在依然是业内最核心的技术基础,毫不动摇。

    课程的理解:当前web技术涉及的知识包括这样几层,
    第一层:核心规范相当于宪法,主要包括servlet规范、网络协议等;
    第二层:主流技术支撑相当于各类法律,包括java语言、各类中间件等;
    第三层:基于各行业的业务应用和框架,相当于行政法规地方法规。
    规范是基础,具体实现可以用java也可以用python等等,行业应用和框架更是可以百花齐放。
    那我们的学习一定是从具体技术入手,从规范和体系结构统筹安排,最后再落实到实现。是一个自底向上再由上向下的一个过程,也是一个由薄到厚再由厚到薄的过程。
    展开

    作者回复: 说的很好👍

    
     21
  • 落幕
    2019-05-14
    和一群优秀的人共同进步,这种感觉很好。
     1
     19
  • G
    2019-05-13
    你说的所有spring. 都应该说springMVC

    作者回复: 嗯嗯,SpringMVC是Spring的子集,我就说成Spring了~

    
     17
  • 今夜秋风和
    2019-05-14
    应用程序的上下文,这个概念总是感觉理解不透彻

    作者回复: 简单可以这里理解:

    我们把Spring的IOC容器理解为一个工厂,这个工厂负责创建组装你的Bean。

    但是我们怎么向IOC容器中放入Bean呢?可能通过配置文件或者注解或者其他方式,于是容器除了做创建、组装Bean的工作,还需要去做解析配置文件或者注解的工作,于是把容器换个说法,叫应用上下文。

    
     11
  • 贤蛋蛋
    2019-05-15
    请问为什么说http是超文本传输协议,文本两字的含义是什么?http2.0所说的二进制帧,为什么说是二进制,和1.1格式上的本质区别是什么?再往下一层到TCP能否都看成二进制帧?

    作者回复: 文本可以理解为只有文字信息的文档,超文本是带有超链接的文档,可以链接到另一个文档,或一张图...

    HTTP1.1是文本协议,HTTP2.0是二进制协议。

     文本协议的协议数据是由ACSII字符组成的,比如文章里的HTTP请求的例子:请求行、请求头和请求体,我们一眼就看出什么意思。这是因为协议里的每个Byte都是用ACSII字符来解释的。

    二进制协议的的每个Byte完全由协议本身来定义,比如一个Byte有8个Bit,这8个Bit可能有不同的意思(比如代表长度或者其他标志位),不一定代表一个ACSII字符。

    TCP是二进制协议。


    
     6
  • 凌霄
    2019-05-14
    遇到过一个偶发的tomcat8问题,请求到tomcat后,nio长连接,到了20秒后超时后才自动断开连接,返回结果内容正常,抓包发现和正常的比少了最后的回车换行。

    作者回复: 你的应用程序设置的响应长度Content-Length与实际响应数据长度不符,可能长了那么一丢丢,这样Tomcat一直在等你的数据呢。

    
     5
  • yy_java
    2019-05-18
    请问老师,操作系统基础 除了您推荐的那本书以外还有其他薄点的书籍推荐吗?

    作者回复: 😑,我理解这本书是有点厚,但还是建议读经典的比较好,你不需要一口气读完,专栏讲到了某个点再去看看相关的部分~

    
     4
  • 小可爱(๑• . •...
    2019-05-14
    期待不断更新,希望老师能够讲清楚,让大家都理解

    作者回复: 后面的内容基本是先回顾基础知识,再谈Tomcat&Jetty如何在真实场景下运用这些基础知识,这样理解起来比较容易。

    
     3
  • JackJin
    2019-05-13
    还停留在使用容器的阶段,并不清楚其原理,例如:一个请求到一个响应返回,其涉及到的设计模式,以及为什么这样做,这样做的好处是什么;我能在容器的基础上做一些自定义的扩展吗?希望在专栏收获到这些。

    作者回复: 对的,这个专栏会学习Tomcat&Jetty为什么设计成这样,设计者是怎么考虑问题的;

    Tomcat和Jetty做为中间件,可扩展性非常强,你可以通过它们定制自己的Web容器!

    
     3
  • Monday
    2019-05-16
    操作系统还是我的痛,但也不是一两天就能补充得了的。只好边学本专栏边学操作系统了。希望不要因为操作系统的缘故拖了学习本专栏的后腿😃😃

    作者回复: 不会的,咱们这边都有具体应用场景,根据实际运用场景开学理解起来会容易些

    
     2
  • Jaswine
    2019-05-15
    带着问题学知识,学习的时候问自己几个为什么,为什么这么设计?为什么不那么设计?在自己解答这些为什么的时候,最后发现都是计算机基础知识决定的,操作系统,网络,数据结构和算法

    作者回复: 嗯嗯,除了学,还要思考和总结

    
     2
  • 熊斌
    2019-11-14
    工作几年之后才明白 万变不离其宗,所以一直努力往技术的最底层走。跟着大佬探寻常用技术的本质。双11刚买的课,每天看一两节
    
     1
  • 日拱一卒
    2019-08-18
    我当前主要基于微服务架构做一些项目的架构设计,因为微服务默认采用tomcat作为web服务器,而且比较稳定,一直没有深入探究过细节。这是一个坑,将来如果微服务运行出现问题,需要更多理解web服务器的细节,才能有底气去解决问题。
    希望这个专栏能有深度,帮助我们在深入理解tomcat的同时,能在将来的工作中运用到。
     2
     1
  • Geek_99fab9
    2019-06-17
    虽然自己还是小渣渣,但是想自己有天能成大神,希望自己进步吧
    
     1
  • Geek_f318ce
    2019-05-16
    打卡第一天。我们通过深入的学习Tomcat&Jetty来完成自我提升。今天主要回答了两个问题,第一,Web容器是什么?简而言之,Web容器就是Servlet容器加HTTP服务器,它使得我们请求的页面可以与客户端动态的交互。还介绍了Tomcat,Jetty与Weblogic,Jboss的区别。后者不但包含了HTTP服务器和Servlet容器,它还包含了EJB,是完整的JavaEE应用服务器。第二,回答了如何学习Web容器。我总结为,打好基础,发散思维。我们要有操作系统,Java编程语言,Web开发的基础。在学习时,多问问自己为什么?为什么这样设计?不这样设计会咋地?对这些问题的回答就是对自己的提高。
    
     1
  • 大白
    2020-02-02
    web容器是http服务器+servlet容器。http服务器负责网络请求的接收、解析、响应。servlet容器负责管理servlet的全生命周期,包括启动、创建、销毁等。
    
    
  • Rumble
    2020-01-15
    我天,1楼的大佬也太6了,没去从政真的是浪费人才
    
    
  • poettian
    2020-01-03
    非科班出身,半道转的PHP,最近想学学java,目前对 servlet/spring 这些名词还只是停留在浅显的层面,看解释都是一头雾水,虽然对整个 java web 开发的主线稍有了解,但没有项目经验,希望能跟着老师的这个专栏对 tomcat/servlet 能应用起来先。
    
    
  • Demon.Lee
    2019-12-23
    老师,我们现在微服务部署是按spring boot 内嵌的方式处理的,打包成jar,然后放在docker容器里跑,一个docker容器给1G内存,20个微服务就是20个G,现在想把docker容器去掉,比如部署4-5个tomcat,每个tomcat里面放置5-4个微服务war包,这样能节约内存么?如何部署比较合适呢(一个tomcat里面放几个app.war合适)?文章里面说:"由应用本身来启动一个嵌入式的 Web 容器,而不是通过 Web 容器来部署和启动应用,这样可以降低应用部署的复杂度。",到底那种方式更好呢,我有点糊涂了。我想着一起每个docker里面都会启动一个jvm,现在一个tomcat才会启动一个jvm吧,感觉更节约内存。另外,想着把几个微服务war包里面都公用的一些common包放在tomcat的lib下,不知道是否可行?还望老师解答下,或者给些思路。
    
    
  • yunfeng
    2019-11-21
    Java web开发基础一节没有说明白,是自己动手去玩Springmvc还是原生servlet&jsp
    
    
我们在线,来聊聊吧