JavaWeb专栏之(一):什么是JavaWeb?

前言:

关注:《遇见小Du说》微信公众号,分享更多Java知识,不负每一次相遇。更多内容请访问:www.dushunchang.top

本周小Du猿开始回炉JavaWeb相关的知识点,首次接触JavaWeb还是在大一,白驹过隙,日光荏苒,时隔三年,重炉javaweb仍然收获颇多

实战开发中接触到Spring Boot后就很少再使用servlet,但仔细研究过Spring Boot底层源代码后,竟然发现Spring Boot竟然是servlet的封装迭代版,果然知识还是得温故而知新
Javaweb是一个过渡的概念技术,是JavaEE中不可或缺的核心思想。如为"过渡"?学习完JavaOOP,高级等一系类Java理论的知识后,程序与用户的交互方式不再是控制台,而是使用Web视图交互的模式,交互信息变成所见即所得,更加直观,方便高效。将会建立企业初级开发的思想架构,是正真接触开发的核心底层技术栈等等。所以称之为"过渡",但小Du猿更愿意称之为"JavaEE的基石"

本栏主要通过JavaWeb为技术栈,拓展servlet核心理论、Jsp技术、前后端分离理论、以及SpringBoot核心思想等,以项目实战为主导,从0到1开发一个CRM管理系统,以实战项目为主贴近企业开发流程,补充完善开发思想及主流技术点,为前后端分离、Spring Boot、Vue.js等核心技术知识做好基础准备、在假期中给颓废的自己充充电吧。(●’◡’●)

文章题目: 核心知识点:
一、什么是JavaWeb? Web技术、B/C与C/S架构、MCV三层架构
二、使用Maven等工具开发JavaWeb项目 配置Tomcat、Maven,熟悉Idea、eclipse开发工具
三、什么是JSP? EL、JSTL表达式、Request、Response、HTTP协议、常见Tomcat错误解决
四、Javaweb三大组件 Servlet组件、Filter组件,Listener组件、XML
五、cookie和session的区别? Javaweb九大内置对象及作用域
六、JDBC事务 Mysql操作,事务回滚、防SQL注入
七、番外技术补充 Axios(Ajax)、Result规范(前后端分离思想)、Jwt、Swagger、Bootstrap4、MD5、FileUpload、Vue.js、Element.js

文章以实际项目进度为准,敬请期待....


一、什么是JavaWeb?

Javeweb基本概念:用Java技术来解决相关web互联网领域的技术栈。web包括:Web服务端Web客户端两部分。Java在客户端的应用有Java Applet,现如今基本上已经淘汰。Java服务端的应用非常的丰富,比如Servlet,JSP、Thymeleaf、Apache Freemark、第三方框架(Spring)等。Java技术对Web领域的发展注入了强大的动力,也是起成为经久不衰的今典高级开发语言。

  • 静态Web:界面内容固定,不会根据时效性、用户类型、权限等动态刷新界面所显示内容
  • 动态Web:界面内容不固定,动态实时改变所呈现的界面内容信息。

二、什么是B/S、C/S结构?

1、C/S结构:

C/S(Client/Server):又称客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sql Server等。客户端需要安装专用的客户端软件,结果图如下:

优点:

  • **安全性:**需要其特定的客户端,所以面向对象比较确定,将所进行的信息安全处于一个可控的范围
  • **效率:**客户端的服务器直接相连,省却了中间环节,数据的传输比较快
  • 个性化:有特定的客户端,所以可以在较大程度上满足客户的个性化要求
  • 稳定性:结构比较稳定,有较强的事务处理能力,可以实现较复杂的业务逻辑

缺点:

  • 特定的客户端:对客户端有一定的要求,如:操作系统,并且它就像订在墙上的石头桌子,不可再利用
  • 中间环节:因为省却了中间环节,所以当客户端达到一定的量时,同时访问服务器,造成服务器的相应变慢,效率变低

2、B/S结构:

B/S(Browser/Server):**又称浏览器/服务器模式。是WEB兴起后的一种网络结构模式,**WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

优点:

  • 范围广:零安装,拥有一个浏览器,即可访问,面向的范围更广
  • 维护性:维护简单,更新页面,即可实现面向所有用户的更新
  • 共享性:通过浏览器访问,共享性强,就像买来的餐桌,可以再利用
    缺点:
    1、在跨浏览器上,BS架构不尽如人意。
    2、表现要达到CS程序的程度需要花费不少精力。
    3、在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
    4、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)

三、MVC三层架构模式

1、什么是MVC模型?

  • 用一种业务逻辑、数据、界面显示分离的方法,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

  • MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范

  • 三层分为表现层,数据层和业务层。项目用了目前比较流行的IOC架构。三层架构是指:视图层 View、模型层 Model,与控制层 Controller。它们分别完成不同的功能。

    • Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。
    • View(视图)是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。
    • Controller(控制器)是应用程序中处理用户交互的部分,通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

2、MVC业务逻辑处理?

1.实体类库(Model),在Java中,往往将其称为Entity实体类。数据库中用于存放数据,而我们通常选择会用一个专门的类来抽象出数据表的结构,类的属性就一对一的对应这表的属性。一般来说,Model实体类库层需要被DAL层,BIL层和UI层引用。

2.数据访问Dao层(DAL),主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作,DAL就是根据业务需求,构造SQL语句,构造参数,调用帮助类,获取结果,DAL层被BIL层调用

3.业务逻辑service层(BLL),BLL层好比是桥梁,将UI表示层与DAL数据访问层之间联系起来。所要负责的,就是处理涉及业务逻辑相关的问题,比如在调用访问数据库之前,先处理数据、判断数据。

  • View 层:用于接收用户提交请求的代码在这里编写。
  • Service 层:系统的业务逻辑主要在这里完成。
  • Dao 层:直接操作数据库的代码在这里编写。

4.为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。


本期知识分享到这,更多内容请访问www.dushunchang.top 关注小Du猿公众号:《遇见小Du说》,不负每一次相遇

下期内容为:《Idea、eclipse创建JavaWeb项目》,敬请期待....

JavaWeb专栏之(一):什么是JavaWeb?相关推荐

  1. JavaWeb专栏之(三):Eclipse创建JavaWeb项目

    JavaWeb专栏之(三):Eclipse创建JavaWeb项目 前言: 关注:<遇见小Du说>微信公众号,分享更多Java知识,不负每一次相遇.更多内容请访问:www.dushuncha ...

  2. 基于javaweb+jsp的医院住院管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap)

    基于javaweb+jsp的医院住院管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap) JavaWeb JavaBean JSP MVC ...

  3. 基于javaweb+jsp的设备维修管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)

    基于javaweb+jsp的设备维修管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot) JavaWeb JavaBean JSP MVC ...

  4. 基于javaweb+jsp的个人日记管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)

    基于javaweb+jsp的个人日记管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax) 运行环境 Java≥8.MySQL≥5. ...

  5. 基于javaweb+jsp的个人日记管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)

    基于javaweb+jsp的个人日记管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax) JavaWeb JavaBean JSP MVC ...

  6. 基于javaweb+jsp的鲜花花卉销售管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)

    基于javaweb+jsp的鲜花花卉销售管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot) JavaWeb JavaBean JSP MV ...

  7. 基于javaweb+jsp的餐饮店信息管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)

    基于javaweb+jsp的餐饮店信息管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot) JavaWeb JavaBean JSP MVC ...

  8. 基于javaweb+jsp的健身房信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)

    基于javaweb+jsp的健身房信息管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax) 运行环境 Java≥8.MySQL≥5.7.T ...

  9. 基于javaweb+jsp的工作日志管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot)

    基于javaweb+jsp的工作日志管理系统(JavaWeb MySQL JSP Bootstrap Servlet SSM SpringBoot) JavaWeb JavaBean JSP MVC ...

最新文章

  1. 【Java】 leetCode 删除链表中等于给定值 val 的所有节点。
  2. 使用MarkDown画矩阵
  3. 更改mssqlserver的表的编码格式_Excel格式全揭秘,赶紧收藏起来吧
  4. #串口通信超时处理_【学院推荐】划重点!LabVIEW中串口参数需注意的几点
  5. Oracle 11g新特性:索引不可见
  6. 7-26 Windows消息队列
  7. oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...
  8. AIR-Android开发外部数据访问与存储
  9. tomcat设置编码
  10. 电商平台微服Dubbox实战,实现高并发抢购
  11. 解决Windows系统无法复制粘贴问题
  12. 用SPSS对参数进行正态性检验
  13. Python基础——np.where
  14. JavaScript学习笔记(二)
  15. 牛客网剑指offer(Python版)
  16. 音频处理 windows10下python三方库librosa安装
  17. 知否:高增长时代已过,汽车互联网玩家如何开拓更多增量?
  18. CVS和CSV概念区分
  19. 分布式系统中使用分布式session和token的区别
  20. oracle中使用online,batch(Oracle+shell)及Online(web即Java)使用场景区分(1)

热门文章

  1. 怎么理解卡卷会员接口
  2. Veritas针对通用数据保护再出手
  3. 【杂篇 · 技巧】WebStorm页面窗口与显示bug
  4. 潮汕地区1-潮州观感
  5. Unity优化翻译官方文档(六) ------ CPU Usage Profiler
  6. 富士康java面试_富士康Java开发面试题目
  7. 第十次 Java作业
  8. 悲观锁、乐观锁、间隙锁、死锁、自旋锁等
  9. Android之短信验证码
  10. MDA110-16-ASEMI单臂共阳极整流模块MDA110-16