【Java】JavaWeb运行原理及核心概念

181 阅读2分钟

当我们在浏览器中输入网址,会看到服务器响应的网页,但中间这个过程是怎样的呢?(这个过程会伴随你学JavaWeb全程)

在Java技术诞生之前,就有静态网页或者是PHP动态网页技术了,由于Java技术的发展,现在越来越多的网页开始应用Java开发,使用Java开发网页的这一套技术就叫做JavaWeb。

就像阿里巴巴最早的网站,就是PHP版本的,随着用户量的增长,并发量及数据量也大大提升,原有的技术框架已无法支持业务的发展,现在运用的也是Java技术。

当我们输入网址点击回车时,浏览器这个桌面程序其实帮我们做了一些事,就是向服务器发送了一个HTTP请求(request)

这中间经历了DNS解析(先从本机找映射,没有再从本机配置的DNS服务器寻找)

先读取主机的host文件,寻找是否有网址对应的IP地址,找不到再去本机配置的DNS找,数据包通过网关出去(这里属于网络通信范畴了)

请求到达服务器时,一般是Tomcat服务器,会创建Servlet,把rep和resp传入,Servlet做逻辑判断,给客户端响应内容。

\

这里面涉及到的核心概念有:

静态资源:html、css、js、图片等。负责页面展现。html定义了网页的结构,css定义了网页的样式,js定义网页的动态效果,其中css和js是重点,目前有很多框架帮我们简化操作并能做出好看的页面,如Bootstrap、Ant Design Vue或Element UI帮助我们做出好看的页面,Vue(js框架),帮我们简化DOM操作。

动态资源:Servlet、JSP等。负责逻辑处理

数据库:负责存储数据

HTTP:定义浏览器与Web服务器数据传输的协议,双R:Request(简写req)、Response(简写resp),我们要知道HTTP的特点、结构,参数是如何携带的,以及一款RESTful API风格

Web服务器:这里指Apache Tomcat也可以叫Web容器或Servlet容器,负责解析HTTP协议,解析请求数据,并发送响应数据

Servlet:我们可以把Servlet、Filter、Listener看作三大组件,是用来接收req参数并进行逻辑处理,将结果通过resp返回给客户端的。

监听器和过滤器:Filter、Listener

会话技术相关组件:Cookie、Session、Token

JDBC:Java操作数据库,框架MyBatis(写Mapper代理开发)

后面打算再根据上面的核心技术分别出详细的说明文章,以记录我学习JavaWeb的过程。