Hi!欢迎光临陕西省的权威思科、华为、Oracle、红帽、深信服、微软认证培训中心!
| 029-88235527
您现在所在位置:首页 > 新闻资讯 > 行业新闻 >

Java Web到底要学习哪些东西

发布日期:2020-03-10 16:58:36点击次数:

分享到:
作为一个新手Java工程师,如何学习Java Web呢,我先假设你只是一个Java小白,学过了一些Java基础,对于Web开发一窍不通,那么你应该掌握的东西有哪些呢,不怕吓到你,真的非常多。
 
Java基础知识
 
首先,请先掌握好Java基础,之前我在第一篇文章已经讲了,如何学习java基础,建议你先去看看那篇文章后,再来看本文,比较容易衔接的上。
 
要想搞定Java Web,Java基本功必须扎实,像是面向对象基础、集合类、异常处理、IO流、多线程等技术都是经常会用到的。
 
前端知识
 
我一个后端工程师,为啥还要懂前端知识呢?想来还有点郁闷,不过其实现在前后端分离的趋势已经很明显了,很少还有哪个Java工程师需要懂jsp,也很少有Java工程师还在搞全栈了,毕竟现在专业的H5工程师多的是,你一个做Java的外行何必凑热闹。
 
不过作为一个学习者,很多东西还是绕不过去的,比如你要写一个简单的web页面,至少也要会个HTML、CSS和JS吧,然后,如果你想用点高级的语法,可能就要上jQuery了,想搞点漂亮的页面,再上个bootstrap,最后,你还想用高大上的框架,结果你掏出了reactjs(不好意思这个我也不会)
 
对于前端知识,我的建议是,了解一下html、js、css还是有必要的,至少你要能大概看懂前端的代码,其他的内容就不用太在意了,懂得在浏览器上使用开发者工具排查请求问题就行了,现在的前后端交互大多是用json,也不需要你去写前端代码。
 
HTTP和web基础知识
 
作为一个Java Web工程师,你天天要打交道的就是http请求,给你一个url,你要如何返回给他一个http的响应报文,不过还好,Tomcat帮你把HTTP报文请求和处理的问题解决了,你只要告诉tomcat你要返回什么内容给前端就好了,一般来说,前后端用的数据格式就是json。
 
关于这个http请求,你要了解的东西就不少了,计算机网络的基础知识要知道吧,http协议的报文结构和常见方法你要知道吧,url的dns解析你也需要懂。
 
这还只是基础的,web应用里面有两个常用的技术,叫做session和cookie,session一般存在服务器上,用于记住用户状态,而cookie一般保存在浏览器上,用于记录你的一些常用信息,比如登录某个网站的账号密码,这两个东西平时你应该不陌生,但是Java Web工程师需要合理地使用这两个东西,以实现自己的应用目的。
 
session和cookie一般用于解决应用问题,而网络通讯里还有一个重要的内容就是安全问题,防止不法分子盗取信息,诈骗盗刷。这里就涉及到了HTTPS协议,以及使用token、加密算法等技术来提升应用的安全性。
 
除此之外,还有很多web相关的技术知识,这里不再一一列举,毕竟这些东西,只有真正接触到了之后,多加实践,才能更好地进行学习和理解。
 
servlet和jsp
 
绕来绕去,还是绕不开这两个早已过气的技术,以前我们用这两个东西是直接用,现在我们不直接用,框架会把servlet封装起来,我们只需要写一些喜闻乐见的controller就可以了,而jsp早就已经退出历史舞台了。
 
这两个东西没必要花太多时间,毕竟现在的Java Web其实就是spring全家桶+web相关技术,接下来我们就来看看spring全家桶应该如何学习。
 
spring全家桶
 
spring全家桶主要包括spring、springmvc和springboot,当然还有springcloud,主要是用于分布式服务的,我们一个小小的Java Web就不请它出来了。对于前面三样技术,很多人早就已经不陌生了。
 
spring颠覆了Java中实例管理的方式,实例的管理被统一到spring的bean容器中,而很多切面型逻辑也被AOP这种处理方式给解放出来了,IOC和AOP是spring最令人称道的两个特点。
 
而到了springmvc时代,分层结构开始愈发流行,model层用于映射数据,view用于渲染数据和前端交互,controller则用来分发请求。而对于很多的Javaweb应用,他们的代码结构一般也是controller-service-dao这样的分层结构。springmvc制霸了Java Web应用很久了,直到它的进化版springboot的出现。
 
springboot横空出世,直接砍掉了复杂的spring配置,转而用注解的方式简化了开发流程,并且直接吃掉了tomcat了,一切从简。springboot的出现使得JavaWeb的学习成本更低了,建议新手朋友直接用springboot开启你的第一个Java web项目,体验一定会比用springmvc好得多。
 
数据库
 
不好意思,把这个老哥给忘了,数据库作为一切web应用的基石,没有它就没有数据,应用就毫无价值,当然了,让我们天天沉迷于CRUD无法自拔的也是这个东西。
 
几乎没有哪个web应用是不用数据库的,现在市面上最流行的仍然是MySQL数据库,想要做一个web应用,先学会sql的基本语法吧,懂得建表,懂得在sql里CRUD,这样你才能够回到代码里继续CRUD(增删改查)当然了,关于数据库要学习的知识远不止于此。