用于view的jsp过时了,现在view一般用【模板】或【完全静态+ajax+json】了。
1.1Java基础
在学习Java基础时,我简单来说一下什么东西可以不碰:
&^|位运算符,++i和i++类似这种绕死人的语法
内部类
AWT,SWING编程
注解
需要深入理解的知识点:
流程控制
面向对象的概念
Java语法
this指针、重写和重载、final、static等等这些基础的东西
集合(包括泛型)
常用的集合类
IO流
IO流代码的编写
(理解这些知识点,能够在有提示的情况下码出代码,但不要为了一些细节钻牛角尖)
简单过一遍的知识:
异常
多线程
网络编程
反射机制
(你得知道这个知识点是干嘛用的,为什么要学这个知识点,能看懂具体的代码!)
1.2 Java web基础
首先我们可以学习一下Web前端的知识(此部分都简单过一下就好了)
HTML/CSS/JavaScript/jQuery
CSS框架(都有中文手册,很快就上手了,选一个自己喜欢的就好了):
BootStrap:http://www.bootcss.com/
Materialize:http://www.materializecss.cn/
到目前为止,学完上面这些可以搭建“能看”的静态网页了。曾经看过一段话来总结上面的技术:
- “HTML是名词,CSS是形容词,JavaScript是动词”
随后学习JavaWeb的路线如下:
Tomcat(简单过一下)
XML/注解(简单过一下)
Servlet(重点理解)
HTTP协议(重点理解)
Filter过滤器(重点理解)
Listener监听器(简单过一下)
JSP(简单过一下)
AJAX、JSON(简单过一下)
<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;">Servlet知识点</figcaption>
基于上面的学习,起码已经可以使用request对象来接收前端发送过来的数据,使用response对象将Java后端的数据返回给前端,使用Filter拦截器来处理中文乱码问题(Tomcat默认的编码是ISO-88591)。总的来说已经可以实现前后端交互了!
1.3 学习数据库
数据库这里指的是关系型数据库,一般我们以MySQL来入门就足够了。
在学习期间,其实很多时间都耗费在配置环境上面,比如我之前安装JDK,安装MySQL,安装Oracle就耗费了不少时间。后来我也将其写成博客,需要重新安装的时候翻一下博客就好了。
- 比如MySQL安装教程:https://segmentfault.com/a/1190000013530782
主要学习SQL的基本使用吧:
创建表(create table)
增删改查(insert,delete,update,select)
对于存储过程、触发器这些了解一下即可
对于索引、锁后面再学(此部分很重要,但以快速入门来说,可以先不看)
<figcaption style="margin: 10px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; line-height: inherit; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;">MySQL基本语法</figcaption>
1.4学习Java连接数据库(JDBC)
到这里,我们Java Web、数据库、Web前端的基础都已经基本学完了,但此时Java和数据库是相互独立的。我们想要以程序的方式来对数据库的数据进行操作,那就要学习一下Java连接数据库(JDBC)。
JDBC这项技术并不难呀,就是模板代码,来来去去就几个步骤:
导入MySQL或者Oracle驱动包
装载数据库驱动程序
获取到与数据库连接
获取可以执行SQL语句的对象
执行SQL语句
关闭连接
由于这些代码可能会重复出现,那我们可以学习一下DbUtils这个组件:可以帮我们减少编写JDBC的模板代码。
1.5 项目管理和框架的学习
经过上面的学习,已经是可以在本地写一个Web项目了。
页面框架使用BootStrap/Materialize框架来搭好
请求处理交由Servlet,返回的数据可以通过AJAX或者使用JSP,DAO层可以使用DbUtils。
数据保存在MySQL中
为了让写代码变得更爽,我建议用半天学一下Maven(项目管理工具),用几天学一下SpringBoot。
从Servlet直接跳到SpringBoot可能有点难理解,但多搞几天我相信还是可以的..
1.6 Linux学习
最后,我们在本地上写完的项目想要让其他人都看得见,一般都会部署在Linux环境下的。(此部分的学习可以等到将项目写完,想要部署项目才学习)
我是不推荐使用虚拟机再搞Linux的,直接买一台方便很多
如果是学生的话,一个月的学生版也就10块一个月。
如果是转行的大哥话,现在阿里云双十一有优惠,买起来就很便宜了。
优惠链接:https://m.aliyun.com/act/team1111/#/share?params=N.FF7yxCciiM.pfn5xpli
总结
总结一下我认为学习Java的路线:
Java基础-->流程控制-->面向对象(包括Java语法)-->Java集合-->Java IO流-->异常-->多线程-->网络编程-->反射
JavaWeb基础-->HTML/CSS/JavaScript/jQuery-->Tomcat-->XML/注解->Servlet-->HTTP-->Filter过滤器和监听器-->JSP-->AJAX/JSON-->数据库(MySQL)-->JDBC和DbUtils
项目管理和框架-->Maven-->SpringBoot
Linux基本命令
最后我们的项目是这样的:
以Maven来管理我们的项目
前端通过BootStrap来搭建页面框架
SpringBoot来搭建Java后端环境,SpringMVC处理前端请求(SpringBoot整合了)
DAO层使用DbUtils组件来完成,MySQL作为数据库