Web核心

news2025/1/9 1:13:54

JavaWeb技术栈

B/S架构:Browser/Server , 浏览器/服务器 架构模式,其特点为,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可

好处:易于维护升级,服务器端升级后,客户端无需任何部署就可以使用到新的版本

静态资源:HTML、CSS、JavaScript、图片等。负责页面展现

动态资源:Servlet、JSP等。负责逻辑处理

数据库:负责存储数据

HTTP协议:定义通信规则

Web服务器:负责解析HTTP协议,解析请求数据,并发送响应数据

HTTP

概念:HyperText Transfer Protocor,超文本传输协议,规定了浏览器和服务器之间数据传输的规则

特点:

1.基于TCP协议:面向连接,安全(三次握手)

2.基于请求-响应模型的:一次请求对应一次响应

3.HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的

缺点:多次请求间不能共享数据。(Java中使用会话技术(Cookie、Session)来解决这个问题)

优点:速度快

请求数据格式

格式

请求数据分为三部分

1.请求行:请求数据的第一行。由请求行,请求资源路径,协议版本组成。三部分用空格分开

2.请求头:从第二行开始,格式为key:value的形式。

3.请求体:请求方式为POST时,请求体作为最后一部分,存放请求参数。且请求体与请求头之间间隔一行。

若请求方式为GET

请求方式 请求资源路径 协议版本

请求头

例:

若请求方式为POST

请求方式 请求资源路径 协议版本

请求头

请求体

GET请求和POST请求区别

1.GET请求请求参数在请求体的资源路径后面(即url后),无请求体。POST请求请求参数在请求体中。

2.GET请求请求参数大小有限制,POST没有。

常见的HTTP请求头

响应数据格式

格式响应数据分为三部分

1.相应行:响应数据的第一行。由协议版本,响应状态码,状态码描述三部分组成。三部分用空格分开。

2.响应头:第二行开始,格式为key:value。

3.响应体:最后一部分。存放相应内容(即响应数据)。与响应头之间空一行。

协议版本 响应状态码 状态码描述

响应头

响应体

常见的HTTP响应头

状态码

状态码大类

状态码分类

说明

1xx

响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它

2xx

成功——表示请求已经被成功接收,处理已完成

3xx

重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理。

4xx

客户端错误——处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等

5xx

服务器端错误——处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等

常见的响应状态码

状态码

英文描述

解释

200

OK

客户端请求成功,即处理成功,这是我们最想看到的状态码

302

Found

指示所请求的资源已移动到由Location

响应头给定的 URL,浏览器会自动重新访问到这个页面

304

Not Modified

告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向

400

Bad Request

客户端请求有语法错误,不能被服务器所理解

403

Forbidden

服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源

404

Not Found

请求资源不存在,一般是URL输入有误,或者网站资源被删除了

428

Precondition Required

服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头

429

Too Many Requests

太多请求,可以限制客户端请求某个资源的数量,配合 Retry-After(多长时间后可以请求)响应头一起使用

431

Request Header Fields Too Large

请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。

405

Method Not Allowed

请求方式有误,比如应该用GET请求方式的资源,用了POST

500

Internal Server Error

服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧

503

Service Unavailable

服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好

511

Network Authentication Required

客户端需要进行身份验证才能获得网络访问权限

状态码大全:状态 | Status - HTTP 中文开发手册 - 开发者手册 - 腾讯云开发者社区-腾讯云

Web服务器-Tomcat

Web服务器可以对HTTP协议的操作进行封装,是程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是“提供网上信息浏览服务”

即写好html文件后,程序员需要写相应的Java代码来接收请求,并反馈响应的数据给用户,让用户可以在浏览器上运行heml文件,而Web服务器可以代替程序员完成这些功能

Tomcat

简介

基本使用

配置

1.修改启动端口号:conf/server.xml

注:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号

启动时可能出现的问题

1.端口号冲突:找到对应程序,将其关闭掉

2.启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置

部署项目

Tomcat部署项目:将项目放置到webapps目录下,即部署完成

一般JavaWeb项目会被打成war包,然后将war包放到webapps目录下,Tomcat会自动解压缩war文件

IDEA中创建Mavan Web项目

Web项目结构

注:

1.编译后的Java字节码文件和resources的资源文件,放到WEB-INF下的classes目录下

2.pom.xml中依赖坐标对应的jar包,放到WEB-INF下的lib目录下

使用骨架

骨架:项目模板

不使用骨架

pom.xml中还有一个标签<packaging>,代表打包方式

默认值为jar包,在web项目中应该为war包

IDEA中使用Tomcat

集成本地Tomcat

将本地Tomcat集成到Idea中,然后进行项目部署即可

Tomcat Maven插件

注:该插件目前只支持到Tomcat7版本

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1500804.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RocketMQ快速入门_2. rocketmq 的应用场景、与其他mq的差异

0. 引言 之前我们讲解过rabbitMQ&#xff0c;本期我们将进入吞吐量更加强大的rocketMQ的学习。 1. 基础概念 如果你是刚接触MQ的同学&#xff0c;还不清楚消息队列的基础概念的&#xff0c;可以参考我之前这篇文章&#xff1a; https://wu55555.blog.csdn.net/article/deta…

凌鲨微应用开发流程

微应用开发流程 使用vite,nextjs等框架创建前端项目引入需要的api包通过调试界面进行调试 创建前端项目 vite yarn create vitenextjs yarn create next-app引入需要的api包 名称权限说明http跨域访问跨域http访问tauri提供的apilinksaas-minapp/api打开浏览器读本地文件…

每日OJ题_牛客CM24 最近公共祖先

目录 牛客CM24 最近公共祖先 解析代码 牛客CM24 最近公共祖先 最近公共祖先_牛客题霸_牛客网 解析代码 class LCA { public:int getLCA(int a, int b) {// 左孩 父 * 2 1&#xff0c;右孩 父 * 2 2&#xff1b;// 父 &#xff08;孩 - 1&#xff09; / 2&#xff1b;/…

掘根教你拿捏C++异常(try,catch,throw,栈解退,异常规范,异常的重新抛出)

在介绍异常之前&#xff0c;我觉得很有必要带大家了解一下运行时错误和c异常出现之前的处理运行时错误的方式。这样子能更深入的了解异常的作用和工作原理 运行阶段错误 我们知道&#xff0c;程序有时候会遇到运行阶段错误&#xff0c;导致程序无法正常运行下去 C在运行时可…

离散数学——特殊图思维导图

离散数学——特殊图思维导图 目录 前言 内容 大纲 参考 前言 这是当初学习离散数学时整理的笔记大纲&#xff0c;其中包含了自己对于一些知识点的体悟。现将其放在这里作为备份&#xff0c;也希望能够对你有所帮助。 当初记录这些笔记只是为了在复习时更快地找到对应的知…

跨境电商趋势解析:社交电商携手私域流量运营,精准触达与转化

随着全球化的深入发展&#xff0c;跨境电商逐渐成为全球贸易的重要组成部分。在这一背景下&#xff0c;社交电商作为一种新兴的商业模式&#xff0c;正逐渐在跨境电商领域崭露头角&#xff0c;并对私域流量的运营产生了深远的影响。本文Nox聚星将和大家分析社交电商在跨境电商中…

Postman中文文档——安装与更新

前言 postman好不好用&#xff0c;只有自己去用过了才知道&#xff0c;如果你之前没有使用过的&#xff0c;那我建议尝试去安装使用一下。 postman是一款支持http协议的接口调试与测试工具&#xff0c;其主要特点就是功能强大&#xff0c;使用简单且易用性好 。 无论是开发人…

程序运行的基本流程

操作系统&#xff08;应用程序&#xff09;&#xff1a; 装系统就是将操作系统安装到硬盘1中 计算机启动的基本过程&#xff1a; 总结&#xff1a; 程序一般保存在硬盘中&#xff0c;软件安装的过程就是将程序写入硬盘的过程程序在运行时会加载进入内存&#xff0c;然后由CPU…

浅谈碳化硅MOSFET TO-247封装单管引入开尔文管脚必要性

相较于传统的硅MOSFET和硅IGBT 产品&#xff0c;基于宽禁带碳化硅材料设计的碳化硅 MOSFET 具有耐压高、导通电阻低&#xff0c;开关损耗小的特点&#xff0c;可降低器件损耗、减小产品尺寸&#xff0c;从而提升系统效率。而在实际应用中&#xff0c;我们发现&#xff1a;带辅助…

Springboot + Vue用户管理系统

Springboot Vue用户管理系统 主要实现了管理员的登录&#xff0c;用户管理&#xff0c;用户的增删改查等操作&#xff0c; 技术实现&#xff0c;前端采用Vue 后端采用Springboot ,前后端分离系统&#xff0c;数据库使用mysql 还用到了redis,mybatis-plus。。。。。。。。。…

我从200条留言中,挑选出3款免费又实用的软件,且用且珍惜

在浩如烟海的软件世界中&#xff0c;真正免费且实用的软件如同珍珠般稀少&#xff0c;能够遇见它们实属不易。 1、OBS 当你在各种平台上欣赏那些清晰且色彩绚丽的短视频时&#xff0c;或许不会想到&#xff0c;它们很可能是由一款名为OBS Studio的免费开源录屏与直播软件制作…

[云原生] k8s之存储卷

一、emptyDir存储卷 当Pod被分配给节点时&#xff0c;首先创建emptyDir卷&#xff0c;并且只要该Pod在该节点上运行&#xff0c;该卷就会存在。正如卷的名字所述&#xff0c;它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件&#xff0c;尽管该卷可以挂载到每…

妇女节:打开AI视界,成就“她力量”

根据国内招聘平台猎聘发布的《2024女性人才数据洞察报告》&#xff0c;从2023年3月到2024年2月&#xff0c;女性在AIGC领域的求职人次同比增长了190.49%。随着人工智能时代的降临&#xff0c;女性正以前所未有的姿态&#xff0c;在技术的助力下&#xff0c;蜕变成为新生的力量。…

YOLOv9来了:实时目标检测新SOTA,完胜各种轻量或大型模型!

距离YOLOv8发布仅1年的时间&#xff0c;v9诞生了&#xff01; 这个新版本主打用“可编程梯度信息来学习你想学的任何内容”。 无论是轻量级还是大型模型&#xff0c;它都完胜&#xff0c;一举成为目标检测领域新SOTA&#xff1a; 网友的心情be like: 鉴于源码已经发布&#xf…

【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用

目录 一、Linux编译器-gcc/g1.1 gcc/g 使用方法1.2 程序的翻译过程1.3 链接 -- 动静态链接特点及区别 二、Linux调试器-gdb2.1 背景2.2 使用方法 三、Linux项目自动化构建工具-make/Makefile3.1 背景3.2 原理3.3 项目清理 一、Linux编译器-gcc/g 1.1 gcc/g 使用方法 格式&…

JuiceSSH结合Cpolar实现公网远程SSH访问内网Linux系统

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

安全防御第七次实验

需求&#xff1a;在FW7和FW8之间建立一条IPSEC通道保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 一、NAT配置 FW4&#xff1a; FW6&#xff1a; 二、在FW4上做服务器映射 三、配置IPSEC FW5&#xff1a; FW6&#xff1a; 四、防火墙上的安全策略 FW4&#xff1a; FW5:…

Chrome安装Axure插件

打开原型目录/resources/chrome&#xff0c;重命名axure-chrome-extension.crx&#xff0c;修改后缀为rar&#xff0c;axure-chrome-extension.rar 解压到axure-chrome-extension目录打开Chrome&#xff0c;更多工具->扩展程序&#xff0c;打开开发者模式&#xff0c;选择加…

电机控制系列模块解析(第八篇)—— 高频注入法

一、基本原理 在电机控制领域&#xff0c;高频方波注入法常用于估计转子的位置和转速。其工作原理是每隔一定的时间间隔在电机输出电压上叠加一个电压脉冲。然后&#xff0c;在两相静止坐标系下或者同步旋转坐标系下对采样时刻的电压和电流进行相应的计算&#xff0c;以实现对…

专业设计者必备!2024年精选作品集模板,一键替换高品质样机,展现出色!

现在是金三银四求职季。你已经开始制作或更新作品集了吗&#xff1f;作品集是展示设计师设计才能、创新思维和项目经验的重要媒介。随着设计师经验的积累和技能的进步&#xff0c;一个高质量的作品集将不断更新升级。在这里&#xff0c;即时设计为您提供了100多种作品集模板资源…