点击蓝色“程序员书单”关注我哟

加个“星标”,每天带你读好书!



经过了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工程师一看!的更多相关文章

  1. Java 架构师 -- 必读书单

    “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会. 个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远 ...

  2. 个人的java web开发书单

    首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...

  3. [Java Web 王者归来]读书笔记2

    第二篇 基础篇 第三章 深入Servlet技术 1 浏览器的request http数据报中包含一些关键信息,如访问方式.所用的http版本.所用的浏览器.当前的页面地址等信息 2 http查询数据方 ...

  4. [Java Web 王者归来]读书笔记3

    第四章 JSP JSP基本语法 1 JSP中嵌入Java 代码 <% Java code %> 2 JSP中输出 <%= num %> 3 JSP 中的注释 <%-- - ...

  5. [Java Web 王者归来]读书笔记1

    第一章 Java web 开发概述 1 WEB服务器运行时一直在TCP 80(默认端口)监听, 若使用其他端口在url中需要显示标注端口号(例如:8080) 2 WEB服务器:微软的IIS.Apach ...

  6. java web 学习 --第十天(Java三级考试)

    第九天学习内容:http://www.cnblogs.com/tobecrazy/p/3470195.html 需求概述 创建程序模块,读取并显示数据库中的书籍信息.当前有如下需求:需要显示数据库中所 ...

  7. Java Web学习总结(32)——Java程序员最亲睐的Web框架

    这一次,我们要讨论的是web框架. 只有少数几种语言像Java一样提供了各种各样的web框架,上面的统计图就是一个证据.下面是其他开发者所使用web框架列表: spring MVC/Spring Bo ...

  8. Java Web学习总结(29)——Java Web中的Filter和Interceptor比较

    1. 背景 在设计web应用的时候,用户登录/注册是必不可少的功能,对用户登录信息进行验证的方法也是多种多样,大致可以认为如下模式:前端验证+后台验证.根据笔者的经验,一般会在前端进行一些例如是否输入 ...

  9. 循序渐进看Java web日志跟踪(2)-Java日志API认识

    接触过Java的朋友应该都会知道,java的开源框架百花齐放,实现同样的功能,总能找到几个强大的开源框架来进行选择.在日志方面,Java同样不逊色.除了JDK本身自带的简单的日志工具,java还有如l ...

随机推荐

  1. 9-4 Vue 缓存和子传副(组件)方法绑定

    学习了Vue框架近三个月,现在对数据绑定有了点认识,但是发现自己反而对js不是特别的熟. 下面是今天写代码刚好碰到的问题: 缓存的话:3句代码 sessionStorage.setItem(" ...

  2. vscode 的tab空格设置设置为4的方法

    1.点击“文件>首选项>设置” 进入设置页面,设置如下几个选项 2.在“文件>首选项>设置” 的“用户设置”里添加 "editor.detectIndentation ...

  3. java学习笔记(1)——有关接口

    接口: interface intf0{ public void doSomething(); } interface intf1{ public void doAnything(); } class ...

  4. java集合-把商品放入集合中调用(新手)

    //创建的一个包名. package qige; //导入的一个包.import java.util.*; //定义一个类.public class Ipcs { //公共静态的主方法. public ...

  5. Spring Cloud 系列之 Netflix Hystrix 服务容错

    什么是 Hystrix Hystrix 源自 Netflix 团队于 2011 年开始研发.2012年 Hystrix 不断发展和成熟,Netflix 内部的许多团队都采用了它.如今,每天在 Netf ...

  6. 在MacOS上利用docker构建buildroot

    之前有听说过docker,但是一直没有使用过.最近终于下定决定使用了一下docker,感觉docker用于跨操作系统的软件工具使用还是比较友好的. 适用人群 本文忽略的部分Linux软件包安装的过程, ...

  7. ysoserial分析【一】 之 Apache Commons Collections

    目录 前言 基础知识 Transformer 利用InvokerTransformer造成命令执行 Map TransformedMap LazyMap AnnotationInvocationHan ...

  8. MySQl数据类型和条件限制

    数据库的增删改查已经介绍完毕,今天从表的详细操作开始讲解 表操作 今日内容 1.数据类型 建表的时候,字段都有对应的数据类型 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 ...

  9. hdu1532 最大流板子题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532 题目给出源点和漏点,还有一些边,要求源与漏之间的最大流,我采用了Edmonds Karp算法,该 ...

  10. ios 13 陀螺仪DeviceOrientationEvent需要申请用户权限

    有些代码跑着跑着就报错了,有些陀螺仪用着用着就不能用了. 目前时间是2020.4.4,发现  ios 13系统调用陀螺仪 需要申请用户权限(这应该是个趋势,后面安卓应该陆续跟进).具体实现来看下: 1 ...