第二章JavaWeb基础学习路线

什么是Java Web

Java语言是当前最流行的开发语言之一。它的风格十分接近C++语言,是一个纯粹的面向对象的程序设计语言。Java继承了C++语言面向对象技术的核心,舍弃了C++语言中复杂和一些容易出错的特性,并在内存管理方面得到了增强。

web是指Internet 的图形、多媒体部分。万维网(环球网)(World Wide web)简称Web。Web 由众多Web 页组成。要浏览Web,可使用称为Web 浏览器的程序。参见“Internet”和“Web 页”。

Java Web 是指有Java语言开发出来可以在万维网上访问浏览的程序。

web通过一系列的通信实现与Java的交互,Java是你的后台,进行逻辑处理,中间层进行数据的交互,web显示给用户来看。

Java Web基础的技术栈

在这里插入图片描述

关于我们的客户端与服务端(BS)

类比生活中的服务端和客户端

在这里插入图片描述

  • 简单来说,我们的服务器就是来发布数据的,我们的客户端就是用来使用数据的,然后对数据进行使用(进行展示)

开发中服务器与客户端
在这里插入图片描述

我们客户端的形式

PC端网页

在这里插入图片描述

移动端

在这里插入图片描述

Iot设备

在这里插入图片描述

服务端应用程序

在这里插入图片描述

  • 我们开发的就是服务端应用程序
  • 我们所说的业务就是我们项目中的功能

关于请求(request)和响应(response)

类比生活中的请求和响应

在这里插入图片描述

服务器中的请求和响应

在这里插入图片描述

  • 我们客户端(浏览器)发送http请求,然后返回响应给我们的客户端,数据存储在响应中,然后我们的客户端对数据进行处理,就可以展示出我们看到的页面

项目的逻辑构成

  • 请求:请求是项目中最基本的逻辑单元,就像万事万物都由原子构成

    举例:点超链接跳转到注册页面

  • 功能:一个功能包含很多个请求

    举例:注册用户功能

    • 请求1:点超链接跳转到注册页面
    • 请求2:发送请求获取短信验证码
    • 请求3:检查用户名是否可用
    • 请求4:提交表单完成注册
  • 模块:一个模块包含很多功能

    举例:用户信息管理模块

    • 功能1:用户注册功能
    • 功能2:用户登录功能
    • 功能3:个人中心——账户安全功能
    • 功能4:个人中心——账户绑定功能
    • 功能5:个人中心——收货地址功能
    • 功能6:个人中心——我的银行卡功能
  • 子系统:根据项目规模的不同,子系统这层逻辑概念可能有也可能没有。如果设置了子系统,那么子系统中也必然包含很多模块。其实庞大项目的子系统已经相当于一个项目了,甚至比小型项目整个都大。

    举例:认证中心子系统

    • 模块1:用户信息管理模块
    • 模块2:权限管理模块
    • 模块3:授权管理模块
    • 模块4:权限检查模块
  • 项目:为了解决现实生活中的实际问题开发一个项目,这个项目就是为这个需求提供的一整套解决方案。

    举例:电商项目

    • 子系统1:认证中心子系统
    • 子系统2:商品管理子系统
    • 子系统3:购物车子系统
    • 子系统4:仓储子系统
    • 子系统5:物流子系统
    • 子系统6:订单子系统

在这里插入图片描述

架构

概念

『架构』其实就是项目的『结构』。只不过『结构』这个词太小了,不适合用来描述项目这么大的东西,所以换了另一个更大的词:架构。所以当我们聊一个项目的架构时,我们聊的是项目是由哪些部分组成的。

发展演变历程

单一架构

一个项目就是一个工程,这样的结构就是单一架构,也叫all in one。我们现在的JavaWeb阶段、SSM阶段都是学习单一架构开发技术。

所以这个阶段,先学习单一架构的技术体系

分布式架构

一个项目中包含很多工程,每个工程作为一个模块。模块之间存在调用关系。分布式架构阶段的技术分为两类:

  • Java框架:SpringBoot、SpringCloud、Dubbo等等。
  • 中间件:Redis、ElasticSearch、FastDFS、Nginx、Zookeeper、RabbitMQ等等。

在这里插入图片描述

单一架构的技术体系

在这里插入图片描述

./images

视图层

视图:用户的操作界面+数据的动态显示

  • 前端技术:HTML/CSS/JavaScript

    • 这一部分简单进行学习,没有太高的要求
  • 服务器端页面模板技术:Thymeleaf

    • 了解视图渲染和模板引擎的原理

控制层

处理请求+跳转页面

  • 服务器:Tomcat

    • 我们的服务器的功能是能够识别我们的HTTP请求
  • 控制器:Servlet

    • 能把我们的请求对应我们的Java代码
  • 域对象:request、session、servletContext

    • 了解不同域对象的有效范围和针对不同的有效范围进行不同的运用
  • 过滤器:Filter

    • 比如利用过滤器来实现我们的事务管理
  • 监听器:Listener

    • 比如监听上下文启动,在上下文启动的时候去创建IOC容器,将其保存application的作用域中
  • 异步交互:Ajax

    • 我们在不使用第三方工具的情况下,从浏览器发送请求给服务器
      • 表单发送
      • 利用ajax发送

业务逻辑层

业务逻辑计算,我们自己编写我们的Java代码,实现我们项目的功能

持久化层

操作数据库,获取和存储数据

  • 利用JDBC技术来实现Java代码对数据库的操作
  • JDBC技术控制数据库,有太多的冗余代码,所以会进一步学习Mybatis来简化操作
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

库里不会投三分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值