首先在详述Javaweb学习路线之前,先简单描述下JavaWeb应该了解和学习到的东西:
什么是JavaWeb、JavaSE、JDBC、数据库基础、HTML+CSS和JS等Web前端内容、javaweb三大组件、Java三大框架、等。
B站推荐JavaWeb初学者必备视频教程:
https://www.bilibili.com/video/BV1Yz411B7Pk/https://www.bilibili.com/video/BV1Yz411B7Pk/
Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。所以,总的来说JavaWeb主要服务器端的应用;在B/S架构中用Java语言来编写Server中的内容以及数据库的搭建和数据的存储,使Server能与browser进行通信。
B/S架构结构图:
Java SE 是Java平台标准版的简称,其包括基础语法、面向对象、工具类、集合框架和框架底层原理。
基础语法:包括基础数据类型,引用数据类型,流程控制,数组,类与方法,文档注释,面向对象概念,面向对象特性(封装、继承、多态、抽象),接口的概念(耦合问题),内部类,数据类型转换,字符串处理、数学运算、日期与时间处理,i/o流操作,多线程,文件操作,泛型,集合框架(List),枚举,反射机制。等。
在j2se阶段,重在熟练掌握if语句、for循环的运用,接口、继承、构造方法的理解和使用,学会查API文档。
这个阶段的难点在于集合、泛型、jdbc等内容,需要了解其基本的用法和意义。
jdbc是Java数据库连接(java DataBase Connectivity)技术的简称,由一组使用java编写的类与接口组成,可以为多种关系数据库提供统一访问。Sun公司提供了JDBC的接口示范 ——JDBC API ,而数据库厂商或第三方中间厂商根据该接口规范提供针对不同数据库的具体实现——JDBC 驱动。 主要需要了解JDBC关于数据库的接口,包括JDBC原理,JDBC连接库,JDBC API。
可使用SQLserver、MySql、Oracle,三种可任选一种,并且配合JDBC一起进行学习。须掌握Java链接数据库的语句和有关数据库的操作,比如增删改查。
数据库阶段可以说是从只会编一些没什么实际作用的死程序,到能够开发小型项目的转折点,以上三种数据库至少掌握其中一种,个人建议从Mysql入手。当然数据库的种类不止这三个,
这里所列的是行内使用最多的数据库。
包括HTML+CSS、JavaScript基础,jQuery、Bootstrap、UI框架,Ajax基础。
作为做后端的人,前端的基础也是必不可少的。如果以后想做前端的话,js是关键。如果想走前端,vuejs跟nodejs不可少。如果是后端,Ajax跟Bootstrap框架也是不可少的。
JavaWeb三大组件包括,Servlet组件(接受请求,响应数据),Filter组件(过滤,拦截请求),Listener组件(监听器),这三大组件构成了javaWeb核心内容,也是作为后端来说,JavaWeb最重要的内容。
什么是Servlet组件:处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。
整个过程为:
客户端发送请求至服务器端;
服务器将请求信息发送至 Servlet;
Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
服务器将响应返回给客户端。
详细解释,见文章底部链接。
什么是Filter组件:Fileter又被通俗称为过滤网,它是为了把不符合规则的请求和加密文件在中途拦截或修改。
从上面的图,可以看出一个Filter的工作流程:
一个http请求过来之后
通过上面的流程,可以推算使用场景:
Filter详解见文章底部链接。
Listener监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext、HttpSession和 ServletRequest这三大域对象的创建、销毁事件以及监听这些域对象中的属性发生修改的事件。Servlet规范针对这三个对象上的操作,又把多种类型的监听器划分为三种类型:
监听三大范围是:请求范围,会话范围,全局范围。
Listener详解见文章底部链接。
Java三大框架为:Struts+Hibernate+Spring。Java三大框架主要用来做WEB应用。俗称的SSH整合框架。
现在主流框架为SpringMVC+Spring+Mybatis(ibatis),也是我们俗称的SSM(SSI)框架。
首个mvc模式的开源框架Struts以及后来的Struts2推出至今已经盛行了14年了,随着Spring等框架的推出和发展,使得Struts2由于大量的配置文件和独家标签库而显得相对笨重许多。这些开源框架,到底哪个好用,哪个会被取代之类的问题都不重要,因为他们都是开发的工具,作为工具来说,被更好用的工具替代是必然的,只是时间问题,所以在学习的过程中,一定要掌握工具的用法熟悉实现流程就可以了,不要死磕其实现原理。不过如果你想成为技术大牛,或者想自己也能开发一套框架出来用就另当别论了。