这份Java Web必读书单,值得所有Java工程师一看!
点击蓝色“程序员书单”关注我哟
加个“星标”,每天带你读好书!
经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,而目前市面上最流行的Java Web框架已然是Spring全家桶,从过去的Spring,SpringMVC,再到SpringBoot。而曾经流行的JSP和servlet,随着前后端分离的趋势,以及Spring这类框架的冲击,也逐渐地淡出了人们的视线,被历史所抛弃。
那么今天如果我们要学习Java Web,应该按照什么样的一个路线去学习呢,其实,而很多技术虽然已经过时,但是我们仍有必要了解一些它们的历史和发展历程,就比如servlet,曾经需要我们显示进行开发,而现在则内嵌在了springMVC框架中,还有Tomcat,干脆直接包在了框架里,但实际上这些技术还是值得我们去学习和了解的。
这份书单将会推荐几本我认为在学习Java Web方面上比较合适的优质书籍,从JavaWeb基础开始,再到SSM框架开发实战,然后是SSM框架的原理解读和源码解析,还有最后一本书,干脆直接叫你写一个Java Web框架,是不是感觉有“从入门到精通”的意思了。不管怎么说,这份书单多少都会对你有一些帮助,赶紧开始看吧。
JavaWeb技术学习必备书单
入门篇
《深入分析Java Web技术内幕》
许令波 著
这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的知识点,作者是资深的淘宝Java工程师,恨不得在一本书里把所有的Java Web知识点丢给讲清楚,不过,一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的。
市面上Java Web书籍的质量参差不齐,如果要我推荐的话,这一本足矣。
作者介绍:
许令波,毕业于合肥工业大学,获计算机硕士学位。热爱Java Web技术,关注服务端性能优化,热衷开源技术的研究和分享,曾获developerWorks最佳作者称号。2009年进入淘宝工作,目前从事模板渲染框架与MVC框架的开发与应用、Java Web的性能优化、高访问量系统静态化和商品详情系统的业务改造等工作。
《Java EE互联网轻量级框架整合开发》
杨开振,周吉文,梁华辉,谭茂华 著
刚刚我们提到的上面那本书籍,旨在介绍Java Web的技术生态,更多地是在讲解相关的实现原理和技术分析,事实上,JavaWeb这种应用型的技术需要我们想通过实战去学习,于是我找到了这么一本书,把spring,springmvc、mybatis以及Redis进行整合介绍,并且通过高并发场景的秒杀处理实践,让读者对这一类的场景的开发方法有更好的了解。
这本书整体对SSM和Redis都做了介绍,算是偏实战类的基础书籍,而这部分技术栈基本上也是一名Java工程师需要学习的大部分内容了,所以通过这本书去开始JavaWeb的工程实践,确实也是个不错的选择。
作者介绍:
杨开振,拥有十余年一线Java开发工作经验,热衷于Java互联网技术方向研究,目前从事Java互联网技术在线教育,著有畅销书《深入浅出MyBatis技术原理与实战》。
梁华辉,资深Java开发专家,有丰富的企业级应用及Web项目的开发经验。对软件设计模式和代码整洁方面有深入理解,对Spring、Hibernate等主流开源框架有深入研究。
谭茂华,资深Java开发专家,拥有十余年供应链管理、金融、物联网等行业大型系统软件开发经验。热衷于软件架构、软件研发过程控制、Java开源技术(尤其是Spring体系技术)的研究。
《互联网轻量级SSM框架解密》
李艳鹏 著
刚刚介绍的那本书,已经带我们打开了Java Web的实践大门,当你能把商品秒杀功能实现之后,相信你对于SSM框架的使用和开发已经有了一些心得和经验了,当然了,代码量对于一个工程师来说还是很重要的,如果你已经能够熟练掌握这类系统的开发方法,那么进一步的学习就势在必行了。
聊完了实战部分之后,接下来就要深入源码去分析实现原理了,SSM框架到底是如何实现的呢,你有没有思考过这一点,或者是否有去了解过其中的源码知识,如果没有也没关系,这本书把这三个框架的源码都进行了解读,对于我们这类不愿意自己看源码的人来说,确实解决了一个很实在的问题,并且本书对于源码的分析,可以让我们更好地进行应用的开发和调试。
作者介绍:
李艳鹏,高级技术专家,著有《分布式服务架构:原理、设计与实战》和《可伸缩服务架构:框架与中间件》,是“云时代架构”技术社区的发起者,曾经在易宝支付、花旗银行、甲骨文、路透社、新浪微博等大型机构中担任技术负责人和首席架构师。
曲源,资深Java开发者,曾任美图技术经理、易宝支付交易系统技术负责人、当网Java工程师。在电商、支付公司从业近10年,熟悉 相关领域的架构规划和系统研发。
宋杨,爱奇艺技术产品中心架构师,从事互联网支付行业一线开发、架构等工作,熟悉互联网通用技术栈。
《架构探险:从零开始写Java Web框架》
黄勇 著
第一本书帮我们了解了Java Web技术栈整体的内容和一些实现原理,第二本书让我们快速上手SSM的应用开发,而第三本书则带着我们进行了SSM框架的源码解读,这样的学习曲线是比较平滑的,正常来说,到这里就应该结束了,但是我刚好又遇到了这么一本书,不教你怎么使用Java Web,也不带你解读源码,而是干脆带着你重新开发一个Java Web框架,这也可以说是学习Java Web最后的一步了,如果你能开发出一个Java Web框架,那么你对于其中的实现原理和特性一定是再清楚不过了的。
当然了,真的要实现一个Java Web框架并不容易,所以这本书的难度还是比较大的,如果你完成了前三本的学习,觉得还不过瘾的话,那么也许这本书能让你重新认识Java Web的技术栈。
作者介绍:
黄勇,从事近十年的JavaEE应用开发工作,现任阿里巴巴公司系统架构师。对分布式服务架构与大数据技术有深入研究,具有丰富的B/S架构开发经验与项目实战经验,擅长敏捷开发模式。国内开源软件推动者之一,活跃于“开源中国”社区网站,SmartFramework开源框架创始人。热爱技术交流,乐于分享自己的工作经验。
这份Java Web必读书单,值得所有Java工程师一看!的更多相关文章
- Java 架构师 -- 必读书单
“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会. 个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远 ...
- 个人的java web开发书单
首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...
- [Java Web 王者归来]读书笔记2
第二篇 基础篇 第三章 深入Servlet技术 1 浏览器的request http数据报中包含一些关键信息,如访问方式.所用的http版本.所用的浏览器.当前的页面地址等信息 2 http查询数据方 ...
- [Java Web 王者归来]读书笔记3
第四章 JSP JSP基本语法 1 JSP中嵌入Java 代码 <% Java code %> 2 JSP中输出 <%= num %> 3 JSP 中的注释 <%-- - ...
- [Java Web 王者归来]读书笔记1
第一章 Java web 开发概述 1 WEB服务器运行时一直在TCP 80(默认端口)监听, 若使用其他端口在url中需要显示标注端口号(例如:8080) 2 WEB服务器:微软的IIS.Apach ...
- java web 学习 --第十天(Java三级考试)
第九天学习内容:http://www.cnblogs.com/tobecrazy/p/3470195.html 需求概述 创建程序模块,读取并显示数据库中的书籍信息.当前有如下需求:需要显示数据库中所 ...
- Java Web学习总结(32)——Java程序员最亲睐的Web框架
这一次,我们要讨论的是web框架. 只有少数几种语言像Java一样提供了各种各样的web框架,上面的统计图就是一个证据.下面是其他开发者所使用web框架列表: spring MVC/Spring Bo ...
- Java Web学习总结(29)——Java Web中的Filter和Interceptor比较
1. 背景 在设计web应用的时候,用户登录/注册是必不可少的功能,对用户登录信息进行验证的方法也是多种多样,大致可以认为如下模式:前端验证+后台验证.根据笔者的经验,一般会在前端进行一些例如是否输入 ...
- 循序渐进看Java web日志跟踪(2)-Java日志API认识
接触过Java的朋友应该都会知道,java的开源框架百花齐放,实现同样的功能,总能找到几个强大的开源框架来进行选择.在日志方面,Java同样不逊色.除了JDK本身自带的简单的日志工具,java还有如l ...
随机推荐
- mysql 多个字段重复记录查询
select * from productstockquantity t where () ORDER BY t.CombinationI
- Dubbo之服务暴露
前言 本文 Dubbo 使用版本2.7.5 Dubbo 通过使用dubbo:service配置或@service在解析完配置后进行服务暴露,供服务消费者消费. Dubbo 的服务暴露有两种: 远程暴露 ...
- java基本类型、数组、和枚举类型
开始之前先吐槽一下,学艺不精,面试要吃大亏,出来混迟早要还的. 别的不说了,从零开始复习基础知识 1.标识符和关键字 意义:标识符用于对变量.类.和方法的命名.规范的标识符命名可以提高程序的可读取性. ...
- Redis详解(一)
redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多 包括string(字符串).list(链表).set(集合).zset(sor ...
- php 调用curl_init失败
当你在开发微信公众号,微信小程序的时候,往往会遇到困难 进入服务器,输入 tail -f /var/log/apache2/error.log 看看apache2的日志 就因为php 的curl扩展没 ...
- 物联网时代-新基建-ThingsBoard调试环境搭建
前言 2020开年之际,科比不幸离世.疫情当道.经济受到了严重的损失.人们都不幸的感慨: 2020年真是太不真实的一年,可以重新来过就好了!国家和政府出台了拯救经济和加速建设的利好消息.3月份最热的词 ...
- python基础知识1——简介与入门
什么是Python:Python能做什么:安装与更新:第一个Python程序:变量:pyc字节码:编码:条件和循环:Python运算符:算数,比较,赋值,位,逻辑::::::::::::::::::: ...
- servlet本质是什么
作者:Javdroider Hong链接:https://www.zhihu.com/question/21416727/answer/339012081来源:知乎著作权归作者所有.商业转载请联系作者 ...
- Servlet(四)----HTTP、Response、servletContent
## HTTP协议: 1.请求消息:客户端发送给服务器端的数据 * 数据格式: 1.请求行 2.请求头 3.请求空行 4.请求体 2.响应消息:服务器端发送给客户端的数据 * 数据格式: ...
- pat 1044.火星数字 Java版
个人网站:https://www.lingluan.xyz 火星人是以13进制计数的: 地球人的0被火星人称为tret. 地球人数字1到12的火星文分别为:jan, feb, mar, apr, ma ...