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项目》,敬请期待....
|