JavaWeb
1、静态Web
html、css
2、动态Web
提供给所有人看的数据始终会发生变化。技术栈:Servlet/JSP,ASP,PHP。
Web应用程序:可以提供浏览器访问的程序。
1、这个统一的web资源会被放在同一个文件夹下,web应用程序-->Tomcat:服务器。
2、一个web应用由多部分组成(静态web和动态web)
html,css,js
jsp,servlet
java程序
jar包
配置文件(Properities)
web应用程序编写完毕后,若想提供给外界访问:需要一个服务器统一来管理。
3、静态web:.htm,.html都是网页的后缀,如果服务器上一直存在这些东西,就可以直接读取。
客户端--->一次请求request----webService---index.html----webservice----一次相应response----客户端。
静态web存在的缺点:
1、Web页面无法动态更新,所有用户看到的都是同一个页面。
2、它无法和数据库交互(数据无法持久化,用户无法交互)
轮播图:点击特效--伪动态,实际开发中用javascript进行。
4、动态Web:页面会动态展示,网页的页面展示的效果因人而异。
客户端--->一次请求request----webService(过滤一些请求:垃圾等)----动态资源和静态资源----
通过JSP/Servlet渲染(动态web资源)----JDBC----数据库----静态资源和原来一样-----webService一次相应response----客户端。
缺点:假如服务器的动态web资源出现了错误,我们需要重新编写后台程序,重新发布(停机维护)。
优点:Web页面可以动态更新,它可以和数据库进行交互(数据持久化:注册,商品信息,用户信息)。
一、Web服务器技术讲解:
ASP:微软的(国内最早流行的),在HTML中嵌入了VB的脚本,用了ASP+COM;基本一个页面都有几千行的业务代码。
PHP:开发速度很快,功能很强大,跨平台,代码很简单。缺点:无法承载大访问量的情况(局限性)。
JSP/Servelt:sun公司主推的B/S架构,基于Java语言的(所有的大公司或者一些开源的组件,都是用java写的),可以承载三高问题(高并发,高可用,高性能),语法像ASP。
二、Web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息。
1、IIS:微软的,ASP本土的一些东西(windows中自带)
2、Tomcat:是Apache基金会的一个核心项目,因为其技术先进、性能稳定、免费成为目前比较流行的Web应用服务器,属于轻量级应用服务器。Tomcat实际上运行的JSP页面和Servlet,最新版本为9.0
步骤:
1、下载安装tomcat
2、了解配置文件和目录结构
3、了解。
tomcat的conf文件下中的server.xml可以配置启动的端口号,默认端口号是8080;
mysql端口号是3306;http是80;https是443.
还可以配置主机的名称:默认的主机名为:localhost等同于127.0.0.1,默认网站应用存放的位置为:webapps。
面试题:请你谈一谈网站是如何进行访问的!
1、输入一个域名:回车
2、检查本机的配置文件下有没有该域名的映射:1、有:直接返回对应的ip地址。2、没有: 去DNS服务器找(不是本机,是互联网上了:管理全世界域名的地方),找到就返回,否则就返回找不到。
三、Http(超文本传输)协议:是一个简单的请求-响应协议,它通常运行在TCP之上。
文本:html,字符串
超文本:图片,音乐,视频,定位,地图。默认端口80.
Https:安全的。
http1.0: 客户端和服务器连接后,只能获得一个web资源,断开连接
http1.1:客户端和服务器连接后,可以获得个web资源。
1、Http请求:get/ppost方法,状态码:200 OK
1.1 请求行:请求行中的方式:Get,Post,HEAD,DELETE,PUT,TRACT
get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全但高效。
post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全但不高效。
1.2 消息头:Accept:告诉浏览器所支持的数据类型,Accept-Encding:支持的编码格式,Accept-Language:告诉浏览器它的语言环境,Cache-Control:缓存控制,Connection:告诉浏览器,请求完成是连接还是断开。
2、Http响应:服务器---响应----客户端
2.1 响应体:和消息头里面差不多。
2.2 响应状态码:200:请求响应成功 , 3xx:一般代表请求重定向(重新到我给你的新位置去), 404:找不到资源(资源不存在), 5xx:服务器代码错误(500),502:网关错误。
常见面试提:当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示,经历了什么?
相关文章:
JavaWeb
1、静态Web html、css 2、动态Web 提供给所有人看的数据始终会发生变化。技术栈:Servlet/JSP,ASP,PHP。 Web应用程序:可以提供浏览器访问的程序。 1、这个统一的web资源会被放在同一个文件夹下,web应用程序-->Tom…...
ip段192.168.1.0/24和192.168.0.0/16
192.168.1.0/24192.168.1.1 ~ 192.168.1.254前24位为网络前缀,后8位代表主机号。如下1100 0000,1010 1000,0000 0001,0000 0000192.168.0.0/16192.168.0.1 ~ 192.168.255.254前16位为网络前缀,后16位代表主机号。如下1…...

《爆肝整理》保姆级系列教程python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)
简介 大多数的初学者在使用 unittest 框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行。虽然或许通过代码实现了,也是稀里糊涂的一知半解,这样还好&am…...
【第二章 IOC操作bean管理(XML注入其他类型属性(字面量,外部bean,内部bean,级联赋值)、XML注入集合属性)】
第二章 IOC操作bean管理(XML注入其他类型属性(字面量,外部bean,内部bean,级联赋值)、XML注入集合属性) 1.IOC操作bean管理(XML注入其他类型属性) (1…...
Kotlin-枚举和印章
kotlin-枚举 枚举也是一个对象,枚举对象的定义需要使用enum关键字 枚举对象可以定义函数 假设定义一个星期枚举对象。就是一下写法 enum class Week {星期一,星期二,星期三,星期四,星期五,星期六,星期日;//打印星期几fun printWeek(){println("这是星期枚举对…...

_linux (TCP协议通讯流程)
文章目录TCP协议通讯流程TCP 和 UDP 对比TCP协议通讯流程 下图是基于TCP协议的客户端/服务器程序的一般流程: 服务器初始化: 调用socket, 创建文件描述符;调用bind, 将当前的文件描述符和ip/port绑定在一起;如果这个端口已经被其他进程占用了, 就会bind失 败;调用listen, 声…...

PMP考试详解,新考纲有什么变化?
一,为什么优先考虑PMP持证人员? PMP证书在我国大型企业、跨国企业、央企/国企等单位的招聘中都比较重视,特别是在许多项目投标环节中,明确标明需要有PMP持证人员,才能在投标、竞标中代表公司有资格承担项目。 除此之…...
C++学习笔记-日期和时间
C中可以使用的日期时间API主要分为两类: C-style 日期时间库,位于头文件中。这是原先<time.h>头文件的C版本。 chrono库:C 11中新增API,增加了时间点,时长和时钟等相关接口。 在C11之前,C编程只能使…...

Nordic nRF芯片FDS模块学习
FDS系统学习 文章目录FDS系统学习一、ROM,RAM,FLASH作用二、ROM,RAM和FLASH在单片中的运作原理三、Flash访问模块FDS用法1. FDS在sdk_config.h中的配置2. fds_register()注册3. fds_record_write()写记录4. fds_record_find()查找5. fds_record_open()读…...

JVM 学习(1)—JVM 与 JMM 内存模型简单理解
一、JVM 内存模型概述 (1) 为什么会出现 JVM 内存模型呢? JVM 内存模型是为规范描述 Java 虚拟机在执行 Java 程序时,将程序中的数据和代码存储到计算机内存中的方式和规则。JVM 内存模型定义 Java 虚拟机所使用的内存结构以及内存区域之间的关系&…...

NMS详解
(类别,坐标1,坐标2,坐标3,坐标4,类别分数) step1:对最后一列分数进行排序 ,可以看到类别就被打乱了 step2: 弹出得到selected_bboxes作为基准,减少bbox_list。其实就是准…...

考出PMP证书到底有没有用?
我们将从三方面分享: 1. PMP 证书在国内的含金量怎么样? 2. HR 如何看待 PMP 证书? 3. 拿到 PMP 证书后,有哪些变化? 一,PMP证书的含金量 说到 PMP 证书的含金量,相信这个问题是所有学员都…...

寻路库recastnavigation改造
本文是介绍对寻路库recastnavigation 改造,使得使用更加友好。 Git仓库: https://github.com/jiangguilong2000/recastnavigation 首先,我们要做一些前置操作 SDL: 开放源代码的跨平台多媒体开发库 Premake:量跨平台构建系统 环境: VS 2019…...
pandas 一些设置随记
显示所有的行、列 # 显示所有列 pd.set_option(display.max_columns, None) # 显示所有行 pd.set_option(display.max_rows, None)不换行显示 pd.set_option(display.width, 1000) 输出对其 pd.set_option(display.unicode.ambiguous_as_wide, True) pd.set_option(display.…...

SSIM学习
SSIM原文链接:https://www.researchgate.net/profile/Eero-Simoncelli/publication/3327793_Image_Quality_Assessment_From_Error_Visibility_to_Structural_Similarity/links/542173b20cf203f155c6bf1a/Image-Quality-Assessment-From-Error-Visibility-to-Struct…...

selenium自动化测试用例需要关注的几点
自动化测试设计简介注:参看文章地址 我们在本章提供的信息,对自动化测试领域的新人和经验丰富的老手都是有用的。本篇中描述最常见的自动化测试类型, 还描述了可以增强您的自动化测试套件可维护性和扩展性的“设计模式”。还没有使用这些技术…...
harfbuzz 的用法
hb-blob: HarfBuzz Manual harfbuzz 的用法 HarfBuzz 整形 API 的核心是函数。此函数采用一种字体,即 包含一串 Unicode 代码点的缓冲区和 (可选)字体功能列表作为其输入。它取代了 缓冲区中的代码点,其中包含来自 字…...

JSP 在线学习管理系统myeclipse定制开发sqlserver数据库网页模式java编程jdbc
一、源码特点 JSP 在线学习管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为SQLServer2008&#x…...
Python学习笔记——PIL库(Pillow库)总结
一、图像数据的格式 ①jpg 支持高级别的压缩,利用部分损耗,使图片变小,方便网络传播。 ②png 无损压缩格式,比jpg略大,较好的保存图片画质,支持透明效果。 ③gif 动图效果,多帧图像组合到…...
C. Build Permutation【整数理论、构造、思维】
链接 理论基础 结论:在区间[n,2n]上,至少存在一个完全平方数。结论:在区间[n,2n]上,至少存在一个完全平方数。结论:在区间[n,2n]上,至少存在一个完全平方数。 构造⌈n⌉2构造\lceil \sqrt{n}\rceil^2构造⌈…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...