这份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 ...
随机推荐
- Flutter Weekly Issue 47
教程 开辟 Dart 到 Native 的超级通道,饿了么跨平台的最佳实践 当永恒的软键盘问题遇到Flutter 插件 fijkplayer ijkplayer for flutter. ijkpla ...
- 测试必知必会系列- Linux常用命令 - history
21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 查看历 ...
- Python生态_turtle库
Python生态_turtle库: 绘制状态函数: pendown():别名pd(),落下画笔,之后,移动画笔将绘制形状 penup():抬起画笔 pensize():画笔粗细大小 颜色控制函数: p ...
- oracle中的创建过程,函数,包
一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...
- React && ReactDOM
如果你是 React 的初学者,一定会对 React 和 ReactDOM 感到迷惑.为什么要分成两个包呢?害得我还要引入两次,说好的减轻开发人员负担呢,这丫的在搞什么飞机.带着这个疑问,我们一起来康 ...
- 欲善事先利器-IEAD插件篇
工欲善其事,必先利其器,好鞋踢好球是非常合乎逻辑的事情. --<长江七号> 同样的开场白,不一样的酒,不一样的故事. 上篇<欲善事先利器--系统篇>已经推荐了一些个人常用的效率 ...
- 15. 获取类路径下文件对应的输入流(inputStream)方式
//获取 inputStream 方式一Resource resource = new ClassPathResource("excel/template/test.xlsx"); ...
- Swift中的感叹号( ! )与问号( ? )之谜
基本了解 在Swift代码会经常看到定义属性或方法参数时类型后面会紧跟一个感叹号( ! )或问号( ? ), 刚开始接触Swift的童鞋就可能不太明白之代表什么意思,一头雾水,开始凌乱了. 本文将带你 ...
- 全国职业技能大赛信息安全管理与评估-MySQL爆破脚本
DEMO: #coding=utf-8 import MySQLdb class MSSQL: def __init__(self,host,user,pwd): self.host = host s ...
- Servlet(一)----快速入门
## Servlet:server applet * 概念:运行在服务端的小程序 * servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则. * 将来我们自定义一 ...