当前位置: 首页 > news >正文

Web开发-基础知识扫盲

目录

  • Web 服务器
    • Web 服务器例子
  • MVC架构
  • Web 项目运行过程
  • 负载均衡和反向代理
  • 持久化Java对象
    • JPA

Web 服务器

  • Web 服务器是一种计算机程序,它通过 HTTP 协议接收和响应客户端发送的请求。Web 服务器将 HTML、CSS、JavaScript 和其他资源文件发送给客户端,以便在浏览器中显示网站的内容。
  • 它允许用户通过 Web 浏览器访问 Web 页面和其他 Web 资源。Web 服务器可以根据 HTTP 协议(HyperText Transfer Protocol)接收和处理来自 Web 浏览器的请求,并将响应返回给浏览器。
  • 浏览器是客户端,web 服务器是服务器端。浏览器通过 HTTP 协议向 web 服务器发送请求,web 服务器接收请求并返回响应,通常是一个 HTML 页面。浏览器解析 HTML 页面并显示给用户。

Web 服务器例子

  1. Apache: Apache是一款功能强大的 Web 服务器,可以运行在多种操作系统上,支持多种协议(如 HTTP、HTTPS 等)。Apache 可以通过模块扩展功能,例如支持 PHP、Perl 等语言。

  2. Tomcat: Tomcat是一个 Java Web 服务器,它是 Apache Software Foundation 的一个项目。Tomcat 主要用于部署 Java Servlet 和 JavaServer Pages(JSP)技术,支持 Java EE 规范。Tomcat 与 Apache 可以集成使用,共同提供 Web 服务。

  3. Nginx: Nginx是一款高性能的 Web 服务器和反向代理服务器,它主要用于在服务器前端处理静态文件和 SSL 加密。Nginx 可以与 Tomcat 等后端服务器配合使用,提高 Web 应用的性能。

总结:Apache、Tomcat 和 Nginx 都是 Web 服务器,它们可以相互配合使用,根据需求部署在不同的位置。Apache 和 Tomcat 集成可以提供完整的 Java Web 服务;Nginx 作为反向代理服务器,可以提高 Web 应用的性能。

MVC架构

MVC 架构是一种软件设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种架构模式有助于分离关注点,提高代码的可重用性和灵活性。

  1. 模型(Model):负责处理应用程序中的数据和业务逻辑。它可以是数据表、对象或其他表示数据的方式。
  2. 视图(View):负责向用户显示模型中的数据。视图可以是 HTML 页面、文本文件或其他形式的可视化表示。
  3. 控制器(Controller):负责处理用户输入并与模型和视图进行交互。它可以根据用户的请求更新模型中的数据,并通知视图进行相应的更新。

MVC 架构的优点包括:

  • 分离关注点:将应用程序的不同方面划分为独立的组件,有助于各个组件专注于自己的任务。
  • 可重用性:每个组件都可以在其他应用程序中重复使用,提高了代码的复用率。
  • 灵活性:MVC 架构可以根据需求进行调整和扩展,以满足不同的功能需求。

总之,MVC 架构是一种结构清晰、模块化程度高的软件设计模式,广泛应用于各种类型的应用程序。

Web 项目运行过程

  1. 客户端发起请求:当用户访问一个网页或点击一个链接时,客户端(如浏览器)会向 Web 服务器发起一个 HTTP 请求。

  2. Web 服务器接收请求:Web 服务器接收到客户端的请求后,会根据请求的 URL 找到对应的网站目录和文件,然后将请求转发给对应的处理程序(如 Servlet、PHP 脚本等)。

  3. 处理请求:处理程序接收到请求后,会根据请求类型(如 GET、POST 等)执行相应的操作,如查询数据库、处理表单提交等,然后生成 HTML 页面或其他格式的响应。

  4. 生成响应:处理程序生成响应后,会将响应内容返回给 Web 服务器。Web 服务器会对响应进行封装,并生成一个 HTTP 响应报文,然后将其发送回客户端。

  5. 客户端接收响应:客户端接收到 HTTP 响应报文后,会对其进行解析,并根据响应内容呈现相应的页面或更新页面状态。

  6. 结束请求:客户端和服务器之间的 HTTP 请求和响应完成后,会关闭连接。

整个过程可以概括为:客户端发起请求 -> Web 服务器接收请求 -> 处理请求 -> 生成响应 -> 客户端接收响应 -> 结束请求。

负载均衡和反向代理

  • 负载均衡(Load balancing)是一种将网络流量分配到多个计算资源上的技术,以实现更高的性能、可靠性、容错能力和安全性。负载均衡通常用于服务器集群、数据库集群和网络设备集群等场景,以提高系统的可用性和可扩展性。
  • 反向代理(Reverse proxy)是一种网络代理服务,它位于客户端和目标服务器之间,充当客户端与目标服务器之间的中转站。反向代理的主要作用是接收客户端的请求,将其转发给目标服务器,然后将服务器返回的结果返回给客户端。反向代理可以提高服务器的安全性、性能和可扩展性,同时也可以隐藏服务器的真实 IP 地址和实现负载均衡等功能。常见的反向代理服务器有 Nginx、Apache 等。

持久化Java对象

  • 持久化 Java 对象是指将 Java 对象的状态转换为一种可以保存到磁盘或数据库中的形式,以便在需要时可以重新读取和恢复。这样做可以避免在程序运行过程中丢失对象的状态信息。

JPA

  • JPA(Javaa Persistence API)一种用于持久化 Java 对象到关系型数据库的标准API。它提供了一种规范,用于定义应该如何将 Java 对象映射到数据库表,以及如何在 Java 应用程序中保存和检索这些对象。JPA的实现可以是开源的,也可以是商业的,例如 Hibernate【一个开源的对象关系映射(ORM)框架,用于将 Java 对象与数据库表中的记录相关联。它提供了持久化、查询和事务管理等功能,使 Java 程序员可以更轻松地使用对象编程思维来操作数据库。】、EclipseLink 等。
http://www.lryc.cn/news/176300.html

相关文章:

  • SpringMVC 学习(四)RestFul 风格
  • 消息中间件相关知识
  • JackJson多态
  • 孟晚舟最新发声!华为吹响人工智能的号角,发布“全面智能化”战略部署
  • open62541开发:添加sqlite3 历史数据库
  • 美国零售电商平台Target,值得入驻吗?如何入驻?
  • docker freeswitch mysql驱动相关
  • Chrome iframe 跨域失败
  • 【Vue】vue-cli一站式搭建SPA项目
  • CPP代码检查工具
  • 在SpringBoot中利用Redis实现互斥锁
  • vue3+eleement plus日历选择季度
  • 实现动态业务规则的方法(Java)
  • leetcodeTOP100(26)两数相加
  • performance_schema
  • 全新UI基于Thinkphp的最新自助打印系统/云打印小程序源码/附教程
  • Android 13.0 framework层系统手势增加上滑手势home事件功能(相当于Home键)
  • webp格式及其转成
  • echo cat find grep命令
  • Linux学习第20天:Linux按键输入驱动开发: 大道至简 量入为出
  • WordPress主题开发( 七)之—— 模版文件继承规则
  • Simulink 封装
  • 【AI视野·今日Robot 机器人论文速览 第三十六期】Tue, 19 Sep 2023
  • Java随笔
  • ARINC825规范简介
  • SQLAlchemy列参数的使用和query函数的使用
  • 产权未转移登记的离婚析产协议不能对抗债权人
  • python+nodejs+php+springboot+vue 导师双选系统
  • paddle2.3-基于联邦学习实现FedAVg算法
  • 伺服丝杠系统常用运算功能块