本文目录一览:
java web开发如何学习?
作者:动力节点
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先推荐一个专栏和文章
JavaWeb学习总结(一)--JavaWeb开发入门 - 孤傲苍狼 - 博客园
此文详细介绍了javaweb的总结和入门,读之大有裨益。
Java教程视频库--知乎专栏
此专栏,每日会更新java相关的知识技术,以及干货资源
下面,详细说说,如何学习web技术
1.html,css,javascript
先学习一些前端的基本知识,如果打算做后端开发的话,这部分快速看下。
2.jquery,vue,bootstrap
再进阶学习一些前端框架的知识,同样如果是打算做后端开发的话,这部分快速看下。
3.mysql等数据库
学习一些数据库方面的内容,数据库有很多种,可以先学mysql,网上教程多,把一个学会之后再学另一个会容易很多
4.学习jdbc,servlet,filter,listener,tomcat,ajax等相关知识
这部分知识相对比较重要,如果学好了,再学习后面框架的时候会容易很多。
5.框架部分,spring mvc,mybatis,spring,spring boot等
这部分知识比较重要,企业中大部分都会直接使用这些框架来开发
6.dubbo,spring cloud,NGINX,redis,hbase,mq
如果是要做并发量较大的项目,还需要学习这些相关知识。
另外给你奉上学习路线图,其实说到系统,路线图是最系统的了。
web前端
可以开发基本的网页,并且可以看懂别人编写的HTML页面。详细讲解了什么是css ,层叠样式表。大量前端小案例、JavaScript事件处理、JavaScript对象、继承、JSON等知识点,学到这便开启WEB前端之路
JavaWeb
Eclipse快捷键与下载安装、Tomcat9配置和使用、JavaWeb开发基础、Servlet编程、JSP……通过众多知识点的串联,迅速了解掌握javaweb
Web项目
使用基于JDBC+Servlet+JSP的开发模式完成企业真实应用的开发,对MVC架构模式进行了封装,并且引入了连接池技术,同时涵盖了常见的工厂、代理、责任链等设计模式,通过此Java视频教程的学习,一定会为后期学习三大框架知识奠定夯实的基础。
北大青鸟java培训:web前端编程该怎样学习?
做了那么多年Web编程,仔细想想,其实本质上就那点事儿,你抓住了几个重点问题,北大青鸟分享学起来一点都不难。
1.理解浏览器/服务器结构(B/S)B/S是从90年代的客户端/服务器端发展而来,共同点都是由一个(或一组)服务器来服务多个客户端。
差别在于:首先,C/S结构的客户端可能是由不同语言编写的,例如VB,Delphi,PowerBuilder等,B/S结构中浏览器成为了一个通用的客户端,程序以Web的方式呈现,不需要安装,服务器端的升级就意味着所有客户端的升级,这和C/S相比是个翻天覆地的变化。
其次B/S的访问协议也标准化为HTTP(s),而不是原来各种各样的私有协议。
最后B/S结构中的服务器面向全球用户访问,而不像C/S那样仅仅是局域网,所以压力更大,挑战更大。
2.Web页面是怎么组成的?简单来说就是HTML+CSS+Java,我们看到的Web界面就是由这三者组成。
HTML负责结构,CSS负责展现,而Java负责行为。
我们说的前端开发也主要是做这一块,对于前端工程师,需要能理解DOM模型,以及如何通过java(例如JQuery等框架)来操作DOM模型。
3.浏览器和服务器是怎么打交道的?当然是HTTP!HTTP说穿了就是浏览器和服务器聊天是的一种约定,这个约定确保双方互相理解。
完整的HTTP是非常复杂的,《HTTP权威指南》一书厚达700多页。
其实我们最常用,也是最重要的也就那么几点:(1)GET和POST。
GET从服务器端获取数据,POST向服务器端发送数据(由此引出图片上传问题)(2)HTTP是个没有状态的协议,需要通过额外的机制来维持状态(例如登录状态),常用的方法就是cookie。
(3)理解HTTP状态码(4)理解同步vs异步(由此引出AJAX,以及JQuery等框架)4.URL和代码的映射理解url和代码之间的关联,例如这样的url是怎么和后端的业务代码关联起来的?这样的规则是在哪里定义的?用代码、注解还是配置文件?后端的业务代码该如何组织?相信现在不会有人把业务逻辑都写到Servlet当中了,所以需要很多MVC框架像Struts,SpringMVC来组织代码,让系统清晰易懂。
5.数据的验证、转换和绑定如何保证浏览器发过来的数据是符合要求的?例如不能为空、不超过8个字符、两个密码必须相等....,出错了得给出错误提示。
浏览器发过来的数据都是形如username=liuxinpassword=123456这样简单的文本,但是后台程序却有着丰富的数据类型,什么String,Date,Integer等等。
所以需要把文本变成指定语言的类型。
类型转换以后,后端的业务代码怎么才能有效的使用呢?最简单的就是弄一个key:value这个样的Map出来,业务代码直接用map.get(key)即可。
高级一点的可以把页面发来的数据直接绑定到对象的属性上,并且支持数组,嵌套等复杂的结构。
例如user.name=liuxinuser.password=123456可以绑定到一个叫User的对象,其中有两个属性userName和password。
零基础如何系统学习Java Web?
如果你之前没有接触过Java的话你可以先从JavaSE开始学起,毕竟JavaWeb前面还有数据库以及web前端。
如果你是零基础的话,可以看书开始学起也可以看视频教程开始学,当然每个人的学习方法都是不一样的。
零基础如果学习Java,你可以看看这套学习路线:
第一:先学习Java的核心库(JavaSE)
JavaSE的内容包括:环境搭建、基础语法、面向对象、数组、集合、常用类、IO流、反射机制、网络编程……..
第二:MySQL数据库
搞定一门数据库相关的课程,例如:MySQL、Oracle,搞定一个就可以了,目前互联网公司,例如:京东、阿里等,他们都在使用MySQL,所以建议大家学习MySQL数据库,小巧轻盈,免费,由于互联网公司的项目访问量比较大,所以一般会搭建数据库的集群,可以一个数据库不够,所以需要搭建数据库集群,为了应付高并发。(搭建的比较多的时候,免费就很重要了。)
第三:WEB前端
以后从事Java开发,从事JavaEE开发,主要开发的系统结构是B/S结构的,B指的是Browser,S指的是Server。要开发这种系统,B端要会,S端也要精通。WEB前端的学习就是学习B端技术。包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底层对JS进行了封装)…
第四:WEB后端(JavaWEB)
WEB后端其实可以是很多种不同的编程语言,例如:PHP、C、C++、Java,他们都可以进行WEB后端的开发,我们既然选择了比较火爆的Java,那么我们学习的后端一定是基于Java语言实现的,包括:Servlet、Filter、Jsp、EL、JSTL、MVC架构模式、数据库连接池(阿里巴巴的Druid连接池)、代理模式(动态代理)。另外后端学习了之后,还要学习一个异步编程技术AJAX。(完成网页的局部刷新,AJAX其实不属于后端,是前端浏览器上的程序。)
学习到这里为止,表示Java基本/基础的技术已经学完了。但是这些最基层的技术在实际的开发中不会使用的,一般为了开发效率,都会使用大量的提前封装好的框架。
第五:最好能够停留下来,做一个项目。
这个项目最好能将之前所学全部串起来。(对以前的知识点进行巩固。)
这个项目最好是基于:Servlet + Jsp+AJAX+jQuery+MySQL….
在这个项目的开发过程中:大家一定要记住,目前比较好的项目自动构建工具:Maven是一定要精通的。还有一个就是团队协作开发:Git/SVN是一定要会用的。(目前使用Git比较多一些。)
第六:学习高级框架
Spring、SpringMVC、MyBatis(持久层框架,这个框架互联网公司使用比较多,因为互联网项目需要进行SQL优化,MyBatis的SQL优化很方便,所以大部分都是使用MyBatis)
Struts2(很少使用了,使用这个的肯定是很老的项目)、Hibernate(传统企业,还有政府等可能会使用Hibernate。)
SpringBoot(新项目大部分使用的都是boot了。所以在项目中遇到还在使用SSM的一般都是遗留项目。)
当你走到这里之后,基本上你可以出山了。(去找工作,8K的薪资应该问题不大,但前提是你学的好。学习的深度够了,广度够了。)
第七:最好能有一个大型项目是使用框架来完成的。
SpringBoot做一个项目。
Spring SpringMVC MyBatis做一个项目。
这个项目最好是找几个人搭伙做一下。体验一下团队协作。(尤其是使用一些协作的工具。怎么沟通,怎么写日报,怎么开会,怎么使用Git,等等….)
第八:如果你的薪资想达到15K的话,你可能需要还要学习一些分布式相关的一些技术。
能够应付高并发的一些技术,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..
你可以根据这套学习路线进行学习。更多学习资料免费拿全新精讲视频/面试题,初学者电子书籍等等免费领取看这里