1
whypool 2020-07-12 12:53:41 +08:00
没必要了
springboot 一把梭就行了 |
2
brucefu 2020-07-12 13:45:22 +08:00
种水稻需要深入学习吗?不需要:我只是吃而已,会买就可以了;需要:成为袁隆平那样德高望重的长者
|
3
yuekcc 2020-07-12 13:48:06 +08:00
更推荐好好了解一下 http 协议。
我已经不想再解释 query string 、request body 是什么东西了。 |
4
huntcool001 2020-07-12 14:06:11 +08:00
JSP 之类的不建议学,里面的各种标签啥的. 现在都是前后端分离了.
Servlet 的原理,相关源码, Servlet Container 是怎么运作的,Tomcat 的大致的组件构成 这些要看,面试也经常会问到. |
5
SLKun 2020-07-12 14:08:40 +08:00
看你怎么理解深入学习...
如果是自己实现一个简单的 Servlet, 那么这个是可以的, 帮助你加深对其设计的理解 至于是怎么用 Servlet 的 API, 或者 JSP 的各种神奇 tag,算了吧用的时候查文档就行 |
6
impl 2020-07-12 14:30:14 +08:00 via Android
买过这家伙两本厚厚的“读书笔记”,就是人家消化一下又吐出来的东西,没啥营养,建议看看别的。
|
7
zinplus 2020-07-12 14:39:13 +08:00
2020 年没必要。servlet 和 container 的概念早就过时了。稍微了解一下原理,不必深入。java 直接 springboot+gradle 。
|
8
zhuyongqi9 OP @impl 是的,他的书感觉非常难读
|
9
PainAndLove 2020-07-12 15:37:56 +08:00
看成了 serverless...
|
10
hantsy 2020-07-12 15:58:06 +08:00 6
只要你是写 Java,Java Web,建议首先看看 Java EE/Jakarta EE 全部规范方面的一些书籍,比如 Oracle 官方的 Java EE Tutorial,当然深入的 Java 技术书我比较推荐 Manning,Appress 的出版物。对 Java EE 规范有一个基本的认识,再选用一些技术框架时,比如 Dropwizard,Vertx,Quarkus,Helidon,Micronaunt,Spring Boot 等,脑子里面就会一个底本,从一种技术切换到另一种也不是什么难事。
Spring 离不开 Java EE/Jakarta EE 标准规范,Spring 核心框架 Imports 2000 多行规范 APIs,除了 EJB ( Spring 也可以调用 EJB )外,Spring 基本集成了所有的标准。 没有 Java EE 基础,直接上 Spring 写代码永远只能写些皮毛。 |
11
yannxia 2020-07-12 16:09:47 +08:00
不学,Servlet 直接看看 J2EE 的标准里面就说清楚了,其他的要么不属于 Servlet 要么就是具体实现的部分。
|
12
sagaxu 2020-07-12 17:03:22 +08:00 via Android
servlet 不是必须的,spring 也不是。至于 jsp,丢垃圾桶就对了,别浪费时间。
|
13
cjh1095358798 2020-07-12 17:28:10 +08:00
原理还是需要的
|
14
bigbyto 2020-07-12 17:52:39 +08:00 via iPhone
@hantsy 还是有明白人,spring 就是为了解决 javaee 太过复杂而出生的,本身也用了大量 javaee 的规范,servlet 只是其中一小部分而已,要在 java 走的更远,目光也要长远一些。
|
15
cwjokaka 2020-07-12 18:19:49 +08:00
看一下就行
|
16
qwerthhusn 2020-07-12 19:22:23 +08:00
JSP 放弃,剩下 Servlet 没多少东西了,看你想学多深,你想实现一个 Servlet 容器都行。
|
17
redbelt 2020-07-12 19:27:20 +08:00
原理肯定要懂得,细节等记忆性的东西可以忽略,你得知道它的运行原理吧,servlet 仍然是当今 Java web 的主流技术。
什么 spring boot,spring mvc 到底不还是 servlet ? 不过最近的 reactive,所谓响应式编程可以一看。做个对比。 |
18
zhuyongqi9 OP @hantsy 受教了,感谢老哥
|
19
q8164305 2020-07-12 20:45:27 +08:00 via Android
原理还是要懂的,具体细节没必要了,大概看看就行了
|
20
chihiro2014 2020-07-12 20:46:41 +08:00
Servlet 都被抛弃了,学 Reactive 把
|
21
cedoo22 2020-07-12 21:29:55 +08:00
jsp servlet 源于 j2ee 标准, , 要深入研究就看标准文档
|
22
hantsy 2020-07-12 21:47:46 +08:00
@chihiro2014
@redbelt 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 |
23
hantsy 2020-07-12 22:01:16 +08:00
@sagaxu JSP 2.0 以后的 XML 兼容方式还是可行的,与之前版本不一样的是一些 JSPParser 是用 XSLT 转换的(这和一些模板引擎一样),不是 Java Compiler 编译的。传统内嵌 Java 代码,编译太扯蛋了,先转译成 Java ( Servlet 代码),Java Compiler 再编译成 Class 运行。
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 前后分开开发看起来不错,但很多时候简单的事情搞复杂了。 |
24
ecoolper 2020-07-12 23:40:40 +08:00
servlet 规范一定要看
|
25
wleexi 2020-07-12 23:56:06 +08:00
|
26
hantsy 2020-07-13 00:11:35 +08:00
|
27
hantsy 2020-07-13 00:13:48 +08:00
|
28
nutting 2020-07-13 08:30:08 +08:00
你要是已经有 3 年工作经验,基本的 http 相关的应该都了解了,不用深入。如果新手,适当学学
|
29
wleexi 2020-07-13 09:25:22 +08:00
|
30
hantsy 2020-07-13 09:49:59 +08:00
@wleexi Java EE 8.0 ( 2017 )以前是由 SUN/Oracle 主导开发,后面的版本全部移交到了 Eclipse 。
Jakarta EE 8.0 ( 2019 )是 Eclipse 下发布的第一个版本(除了协议等,和发布的产品命名,API 使用没有太多的变化),Jakarta EE 9.0 在国庆前应该会发布。 目前 Spring 5.0 已经对齐 Jakarta EE 8.0 。 |
31
hantsy 2020-07-13 09:53:14 +08:00
写 Java 至少懂一点 Java 的历史吧,https://github.com/hantsy/jakartaee8-starter/blob/master/docs/00overview.md
|
32
hantsy 2020-07-13 09:54:56 +08:00
Jakarta EE 9 由于 Oracle 协议问题会包括破坏性 API 更新,全部包名,XML Namespace 会启用新的 Jakarta 前缀。
https://github.com/hantsy/jakartaee9-starter-boilerplate/blob/master/docs/upgrade.md |
35
qq1340691923 2020-07-13 11:12:55 +08:00
必须得了解啊
|
36
Chinsung 2020-07-13 18:36:26 +08:00 1
没什么必要,servlet 本身就是个标准,值得学习的是容器的实现。
但是从你能问出这个问题来看,可以说相等的时间去了解 TCP 连接,HTTP 连接,甚至去用 socket 写一个能处理很简单的 http 请求的 server,都比看一大堆这种所谓的深入要有用。 这种是你什么时候遇到了开源的 servlet 容器出现问题,需要研究他们实现的时候再去深入的。 |
37
walnsrully 2020-07-14 02:12:08 +08:00 via Android
servlet 要学。jsp 不用学。前后端分离已经不需要 view 层了,页面渲染都交给前端的 js 框架了
|