本章介绍了Web技术基础知识,对于软件架构、C/S架构、B/S架构以及对应的工作原理进行了详细的介绍,对于Web服务器的使用,主要引入了市场主流的Tomcat服务,对于该服务器的安装与使用进行了演示,最后一 一说明了市场使用率很高的Web开发框架。
客户端和服务器直接相连
客户端可以处理一些逻辑事务
客户端操作界面
C/S架构的软件是在是数不胜数,从办公的OFFICE,WPS,WINRAR到杀毒软件如金山,瑞金再到娱乐软件,如播放器,QQ,微信等,无处不见C/S架构。
第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。
第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。
第三层是数据库服务器,他扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。
B/S架构是应WEB技术的飞速发展而从传统的C/S架构发展而来,并且一举成为当今主要的网络架构。目前主要的网站,尤其是商务网站都是基于B/S架构建立的。
虽说B/S架构有很多优越性,但是也不可避免有些缺陷。不过,在理论上,既然B/S是C/S的改进版,应该克服了C/S的很多缺陷,所以缺点不是很多.
新出来了一个WEBQQ,从WEBQQ名称中的WEB就不难看出它属于B/S架构,是一种浏览器服务器结构。事实上也是如此,因为WEBQQ根本不需要安装客户端,只需要有浏览器就可以进行聊天交互了。
工作流程:
B/S架构采用请求/响应模式进行交互
类别 | 服务器软件举例 | 功能 |
---|---|---|
Web服务器软件 | Apache、IIS 、PWS等 | 接收来自浏览器的任务请求,分派任务给其他服务器软件, 接收其他服务器软件对任务的处理的结果,将该结果返回给浏览器 |
服务器点脚本解释软件 | PHP、ASP等 | 接收来自Web服务器软件分派给自己的服务器端脚本执行任务: 进行脚本的语法分析,若语法有错误,则向Web服务器返回错信息, 否则,执行脚本,将解析结果/执行结果返回给Web服务器软件 |
数据库服务器软件 | MySQL、Oracle、MS SQL Server等 | 接收来自其他服务器软件的数据处理任务请求,执行该任务,将执行结果返回给请求者 |
电子邮件服务器软件 | MS Exchange、Sendmail等 | 接收来自其他服务器软件的数据处理任务请求,执行该任务,将执行结果返回给请求者 |
比如: http://www.baidu.com/news/202104/newslist.jsp?page=6 http ---》协议 www.baidu.com ---》主机地址 /news/202104/newslist.jsp ---》目标资源地址 page=6 ---》传递的参数
Tomcat是一个免费的开源代码的Servlet容器,属于轻量级应用服务器,是开发和调试JSP程序的首选;
下载地址:https://tomcat.apache.org/download-90.cgi
Tomcat目录解压或安装
默认端口号:8080
通过配置文件server.xml修改Tomcat端口号
1.修改端口为8080,则访问地址是 http://localhost:8080/...
部署静态网站
Hello,Tomcat!
启动Tomcat
测试效果
停止Tomcat
框架名 | 功能描述 | 图标 |
---|---|---|
Struts2 | MVC设计模式的实现 拦截器 可变和可重用的标签 | |
Hibernate | ORM,简化数据库操作 DAO层 | |
Spring | 依赖注入容器 / AOP实现 声明式事务 简化Java EE应用 黏合剂,将大家组装到一起 | |
SpringBoot | 是由Pivotal团队提供的全新框架 设计目的是用来简化新Spring应用的初始搭建以及开发过程 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs; 内嵌Tomcat或Jetty等Servlet容器; 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置; 绝对没有代码生成,不需要XML配置。 | |
MyBatis | 半自动化的ORM实现 DAO层 动态SQL 小巧灵活、简单易学 | |
MyBatisPlus | MyBatis-Plus 是一个 MyBatis的增强工具。 在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求. |