Servlet 需要深入学习吗
我已经不想再解释 query string 、request body 是什么东西了。
Servlet 的原理,相关源码, Servlet Container 是怎么运作的,Tomcat 的大致的组件构成 这些要看,面试也经常会问到.
至于是怎么用 Servlet 的 API, 或者 JSP 的各种神奇 tag,算了吧用的时候查文档就行
Spring 离不开 Java EE/Jakarta EE 标准规范,Spring 核心框架 Imports 2000 多行规范 APIs,除了 EJB ( Spring 也可以调用 EJB )外,Spring 基本集成了所有的标准。 没有 Java EE 基础,直接上 Spring 写代码永远只能写些皮毛。
什么 spring boot,spring mvc 到底不还是 servlet ?
不过最近的 reactive,所谓响应式编程可以一看。做个对比。
Spring 5.0 开始支持 Reactive 编程,但是并不是所有特性都有 Reactive 版本。
https://github.com/hantsy/spring-reactive-sample
Servlet Stack 在很长的一段时间还会是主流,与 Reactive Stack 并存。
另外 Spring 5 也支持 Kotlin Coroutines,本来用 Functional 或者叫流式的程序,又拉直了,看起来和传统的 Servlet 写法一样,因为并不是所有的人都是喜欢 Functional 。
https://github.com/hantsy/spring-kotlin-coroutines-sample
同时传统的 Servlet 编程也支持 Functional 类似的写法。
https://github.com/hantsy/spring-webmvc-functional-sample
https://github.com/hantsy/spring4-sandbox/blob/master/mvc-tiles3/src/main/webapp/WEB-INF/views/details.jspx
我之前到 JSF 1 。2 后,基本都是用 Facelets 了。
现在很少碰 Java EE 的内置的 Web UI 方案了。现在 REST 前后分开开发看起来不错,但很多时候简单的事情搞复杂了。
Jakarta EE 8.0 ( 2019 )是 Eclipse 下发布的第一个版本(除了协议等,和发布的产品命名,API 使用没有太多的变化),Jakarta EE 9.0 在国庆前应该会发布。
目前 Spring 5.0 已经对齐 Jakarta EE 8.0 。
https://github.com/hantsy/jakartaee9-starter-boilerplate/blob/master/docs/upgrade.md