前言
反思
推荐做笔记工具
Java基础
idea这个集成开发工具。即使我们的视频都是使用eclipse,但是Intellij idea的风势越来越大,用起来也很好用,只不过有点难上手而已。
Web前端基础
在学习完Java基础之后,我建议直接去学习Web前段的基础HTML、CSS和JavaScript。
因为Java基础都是面对一个命令行窗口或者我们IDE的输出窗口,太过无聊了,我们得学习些见效快的东西。
参考视频:
一、韩顺平HTML+CSS【讲得比较细,可以加速观看的视频速度】
二、韩顺平JavaScript【讲得比较细,可以加速观看的视频速度】
参考书籍:
HTML5+CSS3疯狂讲义
参考网站:
w3c
在学完此阶段上,我们就会理解到HTML是名词,CSS是形容词,JavaScript是动词这么一个比喻。
XML
在学习完Web前端之后,我们知道了HTML的概念,而XML是HTML的升级,但是XML是用来传输数据的【它本身是希望既能够做页面展示,又能够传输数据,可是我们觉得它做页面展示不好】。
XML解决了传输的数据是关系型数据的问题,并且是一种格式通用的传输数据文本,通常我们可以将它作为配置文件。接下来Servlet就是使用XML作为配置文件的。
参考视频:
韩顺平xml细讲【讲得比较细,可以加速观看的视频速度】
参考博文:
XML教程
Tomcat
在学习Servlet之前,我们得先学习一个中间件:Tomcat。这个是可以让我们写的页面能够被别人访问。在之前,我们写的HTML都仅仅是自己机器上的访问,我们写出来的东西当然是想被别人访问的,只要把写的东西放在Tomcat这么一个中间件上,就能够被别人访问到了(局域网)。
而Tomcat也是装载着Servlet和JSP的一个容器,是非常适合我们学习的。
参考视频:
方立勋JavaWeb教程
参考博文:
Tomcat基础知识
Servlet与JSP
在学习Servlet之前,要看看HTTP协议的基本知识,了解HTTP的消息头。
市面上很多书籍都是先讲JSP,再讲Servlet的,其实我认为我们先要学Servlet,再学JSP。
Servlet其实就是一个Java类,只是这个Java类被称作是Servlet这样高大上的名称而已。由于Servlet不适合做页面的输出,因此就诞生了JSP。JSP本质上就是Servlet的,因此我们只要把Servlet学好,JSP就很自然的懂了。
参考视频:
方立勋JavaWeb教程
参考书籍:
李兴华JavaWeb
JavaWeb王者归来【我认为这本书还是啰嗦了一点,很多输出到页面上的代码都是用Servlet来写,其实是没必要】
参考博文:
Servlet与JSP教程
Servlet和JSP要好好学,因为Servlet是JavaWeb最基础的部分了,后面所谓的框架本质上都是对Servlet进行包装的。只要把Servlet好好学了,那么理解后面的框架也就不难了,就很快可以上手。
Servlet知识点:
JSP知识点:
过滤器和监听器知识点:
JDBC与数据库
学到这里,我们就存储数据有这么几种方式
一、使用普通文件来存储数据
二、使用XML来存储数据
一般地,由于我们涉及到的数据量可能是很大的,普通的文件和XML能存储的数据量是远远不够支撑我们的数据。因此我们做项目都是将数据存储到数据库中的,所以我们要学习数据库的内容。
第一次接触数据库的话,我推荐是使用Mysql比较好,安装起来比较方便,配置没有那么麻烦。当然了,Oracle也顺带学学也不错。
参考视频:
方立勋JavaWeb教程
传智播客32期中Oracle教程
李兴华Oracle
参考书籍:
SQL必知必会【这本书挺薄的,涵盖了数据库的所有知识,作为入门是不错的】
李兴华Oracle
参考博文:
数据库基础知识教程
Mysql命令图:
SQL知识点大纲图:
当我们知道如何使用SQL,了解数据库的基本用法之后,我们就可以去学习JDBC了。
JDBC其实翻译过来就是Java连接数据库的缩写。也就是说,Java通过程序接口来连接数据库!
JDBC参考视频:
方立勋JavaWeb教程
JDBC参考博文:
JDBC教程
JavaWeb小项目
到这个阶段,我们已经把所有的JavaWeb基础学完了,我们可以做几个小项目来练手练手
参考博文:
五个JavaWeb项目练手
参考视频:
方立勋JavaWeb教程
AJAX与JSON
做完几个JavaWeb小项目之后,我们会发现即使请求的是页面上一小部分的内容,我们还是使用Servlet返回整一个页面给浏览器。这样的话是非常耗费资源的,明明我们页面上其他的数据是不用动的。因此,我们接下来就要学习AJAX了。AJAX就是能够将一小部分的数据发送给我们的Servlet,Servlet处理完数据返回给页面也是一小部分,那么浏览器只要处理那小部分数据就行了!
Servlet返回的数据如果是非常简答的话,那么我们可以直接使用字符串即可了。如果返回的数据是带关系型的话,那么我们就要使用XML了。而XML数据又过于复杂化了,因此又出现了一种通用的传输技术-JSON
JSON其实也就是字符串,它可以被JavaScript语法解析,轻量级并且很方便解析。
参考视频:
王兴魁Ajax教程【这个教程有点老了,并且我个人不太喜欢那种风格】
传智播客32期Ajax章节视频
参考博文:
AJAX与JSON
Web前端库
在之前,我们一直用的是HTML、CSS、JavaScript来做简单的页面布局,但我们发现,如果每次都是从零开始写页面的话,那未免复杂了一点。
还有就是,我们在学习AJAX和处理XML的的时候就知道,浏览器的兼容性问题,IE和Chrome等浏览器处理方式可能是会不同的。
每次使用原生JavaScript的时候,代码量的也比较高...
基于上面的问题,我们就要开始学习一些简单的Web前端库了。首先就是我们的Jquery
Jquery是JavaScript的一个库,它封装了Javascpirt很多的功能,屏蔽了浏览器的兼容性问题,在使用AJAX的时候就十分地简单了。
在学习完Jquery之后,我们发现要对页面进行DOM操作就非常简单了。Jquery也提供了动画效果这样的接口供我们使用。
可是在页面上,还是需要我们从零开始写HTML、CSS代码呀。此时,我们就可以学习ESAY-UI,BootStrap这样的前端框架了。
对于我们学习过了Juqery而言,并且EASY-UI和BootStrap都是有中文的文档的,我们是非常容易上手的。
传智播客32期
Jquery参考书籍:
锋利Jquery
参考资料:
bootStrap中文网
EASYUI中文网
参考博文:
Web前端库
Struts2
在进入此阶段的时候,我们已经将所有JavaWeb基础都已经学完了,是时候去学习框架了。
在学习框架的时候,我们要明确我们为什么要学框架?比如,为什么我们要学习Struts2这个框架呢??
一、我们在页面上获取数据到Sevlet上的时候,如果我们要获取的参数有多个,那么我们就必须一个一个来进行获取(当然了,我们可以使用beanUtils)。
二、在文件上传的时候,我们又要使用SmartUpload或者FileUpload等上传组件,而且用起来也没有想象中那么方便
三、如果我们的功能比较多的话,那么我们的编写Servlet的次数是会非常多的,并且Servlet上的很多代码其实也是重复的。
Struts2框架是针对我们的Controller控制层的,也就是Servlet处理那模块的。
基于上面几种原因,我们就需要学习框架来帮我们管理一些重复性的代码,这样就能够提高我们的开发效率。
参考视频:
传智播客Java32期
参考博文:
参考书籍:
JavaWeb王者归来
Hibernate
学完了Controller层的框架,我们接下来学习Dao层的框架了。
我们Dao层中经历了这么的阶段
一、原生JDBC
二、JDBCUtils框架
其实我们用JDBCUtils框架的时候,已经是用得非常爽了。可是如果你学习了Hibernate的话,那么就更加爽了!
Hibernate可以说是全自动实现ORM(对象映射数据库表)的一个框架,学习了它就不用我们写SQL语句来对数据库进行操作了。
它里边封装了增删改查的方法,对应SQL中的insert、delete、select、update语句,用起来就很爽!
参考视频:
传智播客Java32期
参考博文:
Hibernate教程
参考书籍:
JavaWeb王者归来