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

asp.net 404页面配置、 asp.net MVC 配置404页面、iis 配置404页面,指定404错误页面,设置404错误页面

通过标题的三个问题

1、asp.net 404页面配置、  

2、asp.net MVC 配置404页面、

3、iis 配置404页面;

可以看出,这是一篇了不得的问题,并进行全面讲解;

 除了围绕以上三个核心问题外,我们也对以下2个核心场景也作出分析;

1.MVC模式

2.传统模式;

往往这2种模式是混合一起使用的。

一、MVC模式

如:www.jijiyuan.com/news/details/1

按照URL分析:

这个站点下有个“news”文件夹,在“news”文件夹下有个“details”,接着下面有个1

其实,这样的路径是由MVC管道处理后的路径,在项目中他是这样的;

“news”是控制器

“details”是动作,或者说是方法,你也可以理解成页面

“1”是参数

代码如下:

    public class NewsController : Controller{// GET: Newspublic ActionResult Index(){return View();}public ActionResult Details(int id){return View();}}

二、传统模式

如:www.jijiyuan.com/1.html

这1.html是真实存在的,如果不存在会提示404错误;如下图

三、解决“控制器”或“路径”不存在,跳转指定页面

 3.1、项目结构介绍

如上图,我这里有一个名为“Error”的控制器;代码如下

cs代码

    public class ErrorController : Controller{// GET: Errorpublic ActionResult Rrror404(){return View();}}

html代码

<!DOCTYPE html><html>
<head><meta name="viewport" content="width=device-width" /><title>Rrror404</title>
</head>
<body><h1> Rrror404 </h1><p>你访问的页面不存在,点击跳转<a href="/">首页</a></p><h3><a href="/">去首页</a></h3>
</body>
</html>

3.2、【推荐】配置根目录的Web.config解决404错误问题

在你的站点找到Web.config文件,文档结构如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration><system.web><compilation debug="true" targetFramework="4.5"/><httpRuntime targetFramework="4.5"/> </system.web><system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0"/><remove name="OPTIONSVerbHandler"/><remove name="TRACEVerbHandler"/><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"preCondition="integratedMode,runtimeVersionv4.0"/></handlers> </system.webServer>
</configuration>

我们需要将下面代码加入到【system.web】节点里面

<customErrors mode="On" defaultRedirect="/Error/Rrror404"><error statusCode="404" redirect="/Error/Rrror404" />
</customErrors>

加入后完整代码如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration><system.web><compilation debug="true" targetFramework="4.5"/><httpRuntime targetFramework="4.5"/> <customErrors mode="On" defaultRedirect="/Error/Rrror404"><error statusCode="404" redirect="/Error/Rrror404" /></customErrors></system.web><system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0"/><remove name="OPTIONSVerbHandler"/><remove name="TRACEVerbHandler"/><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"preCondition="integratedMode,runtimeVersionv4.0"/></handlers> </system.webServer>
</configuration>

3.2.1、注意

注意:redirect="url"里面的url不要填文件地址,而是要填写请求404页面的控制器。 

3.2.2 、mode属性说明:

本地调试时,用RemoteOnly属性;发布时,用On

On:指定启用自定义错误。如果没有指定 defaultRedirect,用户将看到一般性错误。
Off:指定禁用自定义错误。这允许显示详细的错误。
RemoteOnly:指定仅向远程客户端端显示自定义错误,并向本地主机显示 ASP.NET 错误。这是默认值。 

3.2.3、再次访问 

我们访问错误网站路径

访问 

http://localhost:58146/Home/Index2

网站会字段跳转到

http://localhost:58146/Error/Rrror404?aspxerrorpath=/Home/Index2

 3.3、【不推荐】修改Global.asax解决404错误问题

如果你配置了Web.config,则不需要修改Global.asax

如访问

http://localhost:58146/Home/Index2

在Global.asax文件中增加如下代码

protected void Application_Error(object sender, EventArgs e)
{Exception ex = Server.GetLastError();if (ex is HttpException && ((HttpException)ex).GetHttpCode() == 404){Response.Redirect("/Error/Rrror404");}
}

完整代码

public class MvcApplication : System.Web.HttpApplication
{protected void Application_Start(){AreaRegistration.RegisterAllAreas();GlobalConfiguration.Configure(WebApiConfig.Register);FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);}protected void Application_Error(object sender, EventArgs e){Exception ex = Server.GetLastError();if (ex is HttpException && ((HttpException)ex).GetHttpCode() == 404){Response.Redirect("/Error/Rrror404");}}
}

注意事项: 在开发时候,我们经常会在Global.asax中的Application_Error方法中使用Response.Redirect方法跳转到自定义错误页,但有时候(特别是当站点部署到 IIS 后)Application_Error方法中使用Response.Redirect方法会失效,当发生异常错误后还是显示的默认错误黄页。

其根本原因是尽管我们在Application_Error方法中使用了Response.Redirect方法,但是当系统发生异常错误后Asp.Net认为异常并没有被处理,所以不会跳转到Application_Error方法中Response.Redirect指向的页面,最终还是会跳转到默认错误黄页。

解决这个问题的办法很简单就是在Application_Error方法中使用Response.Redirect做跳转前,先调用Server.ClearError()方法告诉系统发生的异常错误已经被处理了,这样再调用Response.Redirect方法系统就会跳转到自定义错误页面了。

增加代码后再次访问

http://localhost:58146/Error/Rrror404

3.4、如果是直接访问不存在的文件呢?它还是会报错的

http://localhost:58146/1.html

这个时间你需要看,第四节

四、访问不存在的静态资源,404错误问题解决

4.1、背景介绍

如我的站点下没有1.html这个文件,用户访问了,报错404

http://localhost:58146/1.html

4.2、【推荐】配置根目录的Web.config解决不存在文件的404错误问题

 我们需要在第三节代码基础上去修改【Web.config】

第三节代码如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration><system.web><compilation debug="true" targetFramework="4.5"/><httpRuntime targetFramework="4.5"/> <customErrors mode="On" defaultRedirect="/Error/Rrror404"><error statusCode="404" redirect="/Error/Rrror404" /></customErrors></system.web><system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0"/><remove name="OPTIONSVerbHandler"/><remove name="TRACEVerbHandler"/><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"preCondition="integratedMode,runtimeVersionv4.0"/></handlers> </system.webServer>
</configuration>

在【system.webServer】节点增加代码

<httpErrors errorMode="Custom"><remove statusCode="404" subStatusCode="-1" /><error statusCode="404" prefixLanguageFilePath="" path="/Error/Rrror404" responseMode="ExecuteURL" />
</httpErrors>

完整代码

<?xml version="1.0" encoding="utf-8"?>
<configuration><system.web><compilation debug="true" targetFramework="4.5"/><httpRuntime targetFramework="4.5"/> <customErrors mode="On" defaultRedirect="/Error/Rrror404"><error statusCode="404" redirect="/Error/Rrror404" /></customErrors></system.web><system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0"/><remove name="OPTIONSVerbHandler"/><remove name="TRACEVerbHandler"/><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"preCondition="integratedMode,runtimeVersionv4.0"/></handlers> <httpErrors errorMode="Custom"><remove statusCode="404" subStatusCode="-1" /><error statusCode="404" prefixLanguageFilePath="" path="/Error/Rrror404" responseMode="ExecuteURL" /></httpErrors></system.webServer>
</configuration>

详细节点说明请看第六节  

再次访问http://localhost:58146/1.html

4.3、【推荐】你也可以通过配置IIS的站点来设置这个错误页面

在IIS中找到你的站点,在【功能视图】中找到【错误页】

 双击进入,找到404配置项,点击后,在右侧有个“编辑”,点击“编辑”,弹出窗口,你就可以编辑它了;这个设置,和【4.2小节】修改【Web.config】效果基本一直。

五、完整修改【Web.config】后的代码

5.1、Web.config完整代码

<?xml version="1.0" encoding="utf-8"?>
<!--有关如何配置 ASP.NET 应用程序的详细信息,请访问https://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration><appSettings><add key="webpages:Version" value="3.0.0.0"/><add key="webpages:Enabled" value="false"/><add key="ClientValidationEnabled" value="true"/><add key="UnobtrusiveJavaScriptEnabled" value="true"/></appSettings><system.web><compilation debug="true" targetFramework="4.5"/><httpRuntime targetFramework="4.5"/><customErrors mode="On" defaultRedirect="/Error/Rrror404"><error statusCode="404" redirect="/Error/Rrror404" /></customErrors></system.web><system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0"/><remove name="OPTIONSVerbHandler"/><remove name="TRACEVerbHandler"/><add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"preCondition="integratedMode,runtimeVersionv4.0"/></handlers><httpErrors errorMode="Custom"><remove statusCode="404" subStatusCode="-1" /><error statusCode="404" prefixLanguageFilePath="" path="/Error/Rrror404" responseMode="ExecuteURL" /></httpErrors></system.webServer> 
</configuration>

5.2、重点代码1:对访问路径错误进行404处理

    <customErrors mode="On" defaultRedirect="/Error/Rrror404"><error statusCode="404" redirect="/Error/Rrror404" /></customErrors>

 注意:redirect="url"里面的url不要填文件地址,而是要填写请求404页面的控制器。

mode属性说明:
本地调试时,用RemoteOnly属性;发布时,用On

On:指定启用自定义错误。如果没有指定 defaultRedirect,用户将看到一般性错误。
Off:指定禁用自定义错误。这允许显示详细的错误。
RemoteOnly:指定仅向远程客户端端显示自定义错误,并向本地主机显示 ASP.NET 错误。这是默认值。 

5.3、重点代码2:对访问无效文件进行404处理

    <httpErrors errorMode="Custom"><remove statusCode="404" subStatusCode="-1" /><error statusCode="404" prefixLanguageFilePath="" path="/Error/Rrror404" responseMode="ExecuteURL" /></httpErrors>

详细节点说明请看第六节 


 六、Web.config配置节点介绍

本节点摘录

iis7设置404,使用web.config配置404,HTTP错误httpErrors模块-豫章小站

您可以<httpErrors>在ApplicationHost.config文件中的服务器级别以及相应Web.config文件中的站点和应用程序级别配置元素。

6.1、兼容性

笔记
IIS 10.0<httpErrors>在IIS 10.0中未修改该元素。
IIS 8.5<httpErrors>IIS 8.5中未修改该元素。
IIS 8.0<httpErrors>在IIS 8.0中未修改该元素。
IIS 7.5allowAbsolutePathsWhenDelegated属性已添加到<httpErrors>IIS 7.5中的元素
IIS 7.0<httpErrors>元素是在IIS 7.0中引入的。
IIS 6.0<httpErrors>元素替换了IIsWebService配置数据库对象的IIS 6.0 HttpErrors属性。

6.2、属性

属性描述
allowAbsolutePathsWhenDelegated可选的布尔属性。

设置为true时,<httpErrors>委派节时,允许自定义错误页面使用绝对路径。设置为false时,仅允许相对于站点根目录的路径。

默认值为false

defaultPath可选字符串属性。

指定自定义错误页面的默认路径。路径类型由defaultResponseMode属性确定。如果选择“ 文件”,则返回文件路径。如果选择ExecuteURLRedirect路径类型,则返回自定义错误页面的URL。

defaultResponseMode可选的枚举属性。

指定返回自定义错误内容的方式。

所述defaultResponseMode属性可以是以下可能的值中的一个; 默认是File

描述
File提供静态内容,例如,自定义错误的.html文件。如果responseMode设置为File,则路径值必须是文件路径。

数值是0

ExecuteURL提供动态内容,例如,自定义错误的.asp文件。如果responseMode设置为ExecuteURL,则路径值必须是服务器相对URL。

数值是1

Redirect将客户端浏览器重定向到包含自定义错误文件的其他URL。如果responseMode设置为Redirect,则路径值必须是绝对URL。

数值是2

detailedMoreInformationLink可选字符串属性。

指定页面底部显示的链接,该链接包含有关特定错误的更详细信息的页面。您可以使用此属性将最终用户指向自定义位置以获取错误信息。状态,子状态,HRESULT和消息ID作为查询字符串的一部分发送。

默认值为HTTP status code overview - Internet Information Services | Microsoft Learn。

errorMode可选的枚举属性。

指定是否启用HTTP错误。

所述errorMode属性可以是以下值中的一个; 默认是DetailedLocalOnly

描述
DetailedLocalOnly如果请求来自本地计算机,则返回详细的错误信息,如果请求来自外部计算机,则返回自定义错误消息。

数值是0

Custom用您指定的自定义页面替换模块或服务器生成的错误。此模式可用于向最终用户提供更友好的错误消息。

注意:此设置会关闭详细错误,即使对于本地请求也是如此。

数值是1

Detailed将详细的错误信息发送回客户端。此模式对于测试和调试网站和应用程序非常有用。

数值是2

existingResponse可选的枚举属性。

指定当HTTP状态代码是错误的,即响应代码> = 400会发生什么情况的现有响应

existingResponse属性可以是以下值中的一个; 默认是Auto

描述
Auto仅在设置了SetStatus标志时才保持响应不变。

数值是0

Replace即使设置了SetStatus标志,也会替换现有响应。

数值是1

PassThrough如果存在现有响应,则保持响应不变。

数值是2

子元素

元件描述
error可选元素。

向HTTP错误集合添加HTTP错误。

remove可选元素。

从HTTP错误集合中删除对HTTP错误的引用。

clear可选元素。

从HTTP错误集合中删除对HTTP错误的所有引用。

6.3、配置示例

以下配置示例(如果包含在Web站点或应用程序的Web.config文件中)使用errorMode属性仅允许在本地计算机上显示详细的错误消息。它还使用defaultResponseMode属性来设置站点或应用程序的响应模式。然后,该示例删除500状态代码的继承错误消息。接下来,它将prefixLanguageFilePath属性设置为IIS应搜索新自定义错误页面的目录,并将path属性设置为500.htm,即包含自定义错误消息的文件。

<configuration><system.webServer><httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" ><remove statusCode="500" /><error statusCode="500"prefixLanguageFilePath="C:\Contoso\Content\errors"path="500.htm" /></httpErrors></system.webServer>
</configuration>


七、参考:

深入解析asp.net中mvc4自定义404页面(分享) - 双恒网络-免费PHP网站源码模板,插件软件资源分享平台!

iis7设置404,使用web.config配置404,HTTP错误httpErrors模块-豫章小站

web,mvc,ASP.NET设置404错误页面,c#_c# mvc自定义404-CSDN博客

相关文章:

asp.net 404页面配置、 asp.net MVC 配置404页面、iis 配置404页面,指定404错误页面,设置404错误页面

通过标题的三个问题 1、asp.net 404页面配置、 2、asp.net MVC 配置404页面、 3、iis 配置404页面&#xff1b; 可以看出&#xff0c;这是一篇了不得的问题&#xff0c;并进行全面讲解&#xff1b; 除了围绕以上三个核心问题外&#xff0c;我们也对以下2个核心场景也作出分析…...

Docker存储空间清理

不知不觉服务器存储空间被Docker掏空了… 查看Docker空间占用情况 使用docker system df命令&#xff0c;可以加 -v 查看详情 清理Docker不需要的内容 使用docker system prune -a命令清理Docker 所有停止的容器所有没有被使用的networks所有没容器的镜像所有build cache …...

React16源码: React中NewContext的源码实现

NewContext 1 &#xff09;概述 新的 context API 是一个组件化的使用方式 它就跟写其他的组件一样&#xff0c;像写jsx&#xff0c;通过标签的这种方式来赋值一些props还有去给子节点去拿到这个 conntext 的属性 context的提供方和订阅方都是独立的 在什么地方想要用到这个 c…...

【Linux】【Shell】常用压缩和解压缩命令(超详细)

目录 1. 指令&#xff1a; 1.1 tar 1.2 gz、.tar.gz 1.3 .bz2、.tar.bz2、.bz 1.4 .z、.tar.z 1.5 .zip 1.6 .rar 1.7 lzop 2. 示例&#xff1a; 1. 指令&#xff1a; 快速压缩&#xff1a;XZ_DEFAULTS"-T0" tar cJvf xxxxx.tar.xz sourcefile&#xff08;压…...

【Java程序设计】【C00232】基于Springboot的抗疫物资管理系统(有论文)

基于Springboot的抗疫物资管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的抗疫物资管理系统 用户主要分为管理员和普通用户 管理员&#xff1a; 管理员可以对后台数据进行管理、拥有最高权限、具体权限有…...

2023年全球软件开发大会(QCon上海站2023):核心内容与学习收获(附大会核心PPT下载)

在信息化和全球化日益加速的今天&#xff0c;软件开发技术日新月异&#xff0c;对全球各行各业产生了深远影响。2023年全球软件开发大会&#xff08;QCon上海站2023&#xff09;无疑成为行业内外瞩目的焦点。本次大会汇集了全球顶级的软件开发专家、企业领袖、研究者&#xff0…...

【Linux】Ext2 文件系统

文件系统 前言一、磁盘硬件1. 磁盘的物理存储结构2. 磁盘存储的逻辑抽象结构 二、理解 Ext2 文件系统1. 初步理解文件系统2. 深入理解文件系统&#xff08;1&#xff09;inode Table&#xff08;2&#xff09;Data blocks&#xff08;3&#xff09;inode Bitmap&#xff08;4&a…...

studyNote-linux-shell-find-examples

前言&#xff1a;本文的例子均来源于man手册第一章节的find&#xff0c;man 1 find查看 e.g.01 手册原文: find /tmp -name core -type f -print | xargs /bin/rm -fFind files named core in or below the directory /tmp and delete them. Note that this will work incor…...

使用 Python 进行自然语言处理第 3 部分:使用 Python 进行文本预处理

一、说明 文本预处理涉及许多将文本转换为干净格式的任务&#xff0c;以供进一步处理或与机器学习模型一起使用。预处理文本所需的具体步骤取决于具体数据和您手头的自然语言处理任务。 常见的预处理任务包括&#xff1a; 文本规范化——将文本转换为标准表示形式&#xff0c;…...

Python新春烟花盛宴

写在前面 哈喽小伙伴们&#xff0c;博主在这里提前祝大家新春快乐呀&#xff01;我用Python绽放了一场新春烟花盛宴&#xff0c;一起来看看吧&#xff01; 环境需求 python3.11.4及以上PyCharm Community Edition 2023.2.5pyinstaller6.2.0&#xff08;可选&#xff0c;这个库…...

【QT+QGIS跨平台编译】之二十:【xerces+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、xerces介绍二、文件下载三、文件分析四、pro文件五、编译实践一、xerces介绍 Xerces是一个开源的XML解析器,由Apache软件基金会维护。它是用Java语言编写的,提供了对XML文档进行解析、验证和操作的功能。Xerces具有高性能和广泛的兼容性,可用于各种Java应用程…...

18.通过telepresence调试部署在Kubernetes上的微服务

Telepresence简介 在微服务架构中,本地开发和调试往往是一项具有挑战性的任务。Telepresence 是一种强大的工具,使得开发者本地机器上开发微服务时能够与运行在 Kubernetes 集群中的其他服务无缝交互。本文将深入探讨 Telepresence 的架构、运行原理,并通过实际的案例演示其…...

QT 范例阅读:系统托盘 The System Tray Icon example

main.cpp QApplication app(argc, argv);//判断系统是否支持 系统托盘功能if (!QSystemTrayIcon::isSystemTrayAvailable()) {QMessageBox::critical(0, QObject::tr("Systray"),QObject::tr("I couldnt detect any system tray ""on this system.&qu…...

OpenAI Gym 高级教程——深度强化学习库的高级用法

Python OpenAI Gym 高级教程&#xff1a;深度强化学习库的高级用法 在本篇博客中&#xff0c;我们将深入探讨 OpenAI Gym 高级教程&#xff0c;重点介绍深度强化学习库的高级用法。我们将使用 TensorFlow 和 Stable Baselines3 这两个流行的库来实现深度强化学习算法&#xff…...

K8sGPT 会彻底改变你对 Kubernetes 的认知

在不断发展的 Kubernetes &#xff08;K8s&#xff09; 环境中&#xff0c;AI 驱动技术的引入继续重塑我们管理和优化容器化应用程序的方式。K8sGPT 是一个由人工智能驱动的尖端平台&#xff0c;在这场变革中占据了中心位置。本文探讨了 K8sGPT 在 Kubernetes 编排领域的主要特…...

计组学习笔记2024/2/4

1.计算机的发展历程 2.计算机硬件的基本组成 存储器 -> 就是内存. 3.各个硬件的部件 寄存器 -> 用来存放二进制数据. 各个硬件的工作原理视频留白,听完后边课程之后再来理解理解. 冯诺依曼计算机的特点: 1.计算机由五大部件组成 2.指令和数据以同等地位存于存储器,…...

25种Google的搜索技巧

背景 目前浏览器、搜索引擎,想必各位已经很熟悉了,但不代表想要知道的事情就一定可以通过搜索引擎搜索出来。大部分人的搜索技巧都在小学。所以本文就会系统总结一个 GOOGLE 搜索的一些技巧,来提高搜索效率。 首先呢,本文只保证 GOOGLE 有效,其他搜索引擎自己尝试,因为我…...

769933-15-5,Biotin aniline,可以合成多种有机化合物和聚合物

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;769933-15-5&#xff0c;Biotin aniline&#xff0c;生物素苯胺&#xff0c;生物素-苯胺 一、基本信息 产品简介&#xff1a;Biotin Aniline&#xff0c;一种具有重要生物学功能的化合物&#xff0c;不仅参与了维生…...

回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)

回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测&#xff08;SE注意力机制&#xff09; 目录 回归预测 | Matlab实现POA-CNN-LSTM-Attention鹈鹕算法优化卷积长短期记忆网络注意力多变量回归预测&#xff08;SE注意力机制&…...

B站视频在电商中的应用:如何利用item_get_video API提高转化率

在数字媒体时代&#xff0c;视频已成为电商领域中不可或缺的营销工具。B站作为中国最大的弹幕视频网站之一&#xff0c;拥有庞大的用户群体和活跃的社区。将B站与电商结合&#xff0c;利用其独特的视频API&#xff08;如item_get_video&#xff09;可以带来诸多商业机会。本文将…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...