java Web学习笔记(一)

文章目录

    • 1. 前置学习知识
    • 2. Tomcat介绍
      • Tomcat目录文件介绍
      • URL的组成部分和项目资源的对应关系
      • idea配置部署tomcat并成功运行一个app-web项目
    • 3. HTTP协议介绍(很重要)
        • HTTP协议和HTTPS的区别
        • HTTP协议的发展
        • 理解HTTP协议
      • 报文格式
      • 报文响应的状态码
    • 4. Servlet简介
      • 动态资源和静态资源
        • Tomcat接收到请求后的处理过程
        • Tomcat对数据进行验证
        • Servlet API jar包导入问题
        • Content-Type问题
      • url-parttern特别说明
        • xml文件映射路径 vs 注解映射路径
      • Servlet的生命周期(了解)
      • Servlet接口的继承结构(了解)
        • ServletConfig对象(了解)
        • ServletContext对象(掌握)
        • 通过ServletContext对象进行数据的交互(Service方法中)
      • HttpServletRequest对象
      • HttpServletResponse对象
      • 请求转发
        • 请求转发特点(基础,重要)
      • 响应重定向
      • 乱码和路径问题
    • 5. 会话管理
        • cookie的使用
        • 三大域对象
    • 6. 过滤器
      • 生命周期
      • 过滤器链
      • 使用注解的形式取代xml配置文件
    • 7.监听器

1. 前置学习知识

JavaScript学习笔记

CSS3学习笔记

html学习笔记

2. Tomcat介绍

前端App的运行环境:

服务器 --> JRE --> Tomcat --> App

Tomcat目录文件介绍

pkRfcDJ.png

  • bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat10.exe、tomcat10w,exe,前者是在控制台下启动Tomcat,后者是弹出GU川窗口启动Tomcat;,如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;
  • conf : 配置文件
  • lib : jar包
  • logs : 日志文件,可删除
  • temp :临时文件,可删除
  • webapps : 存放web项目
    • WEB-INF文件夹(不可以直接访问的资源文件)
      • classes目录(字节码根路径)
      • lib目录(外部资源文件)
      • web.xml
    • static
  • work : jsp相关,现在不常用了

标准的可以部署在Tomcat中的app如上图中webapps的文件目录结构所示

URL的组成部分和项目资源的对应关系

http://127.0.0.1:8080/app/idnex.html

URL组成部分项目中资源
协议(http://)
ip地址(127.0.0.1)服务器-硬件 --> 操作系统
端口号(8080)服务器-服务软件 --> webapps
项目的上下文路径(/app)app
具体资源路径(index.html)具体资源路径

idea配置部署tomcat并成功运行一个app-web项目

详情见连接

视频57集

3. HTTP协议介绍(很重要)

HTTP协议和HTTPS的区别

在HTTP1.1到HTTP2.0之间出现了 HTTPS(安全超文本传输协议)。它是使用 SSL/TLS 进行安全加密通信的 HTTP 的安全版本。

HTTP协议的发展
  • 最初阶的http协议:HTTP/0.9,只能返回一个网页

  • 后续发展:HTTP/1.0,支持三种请求方式,有状态码、包含报文头、能够传输HTML以外的文件

  • HTTP/1.1:支持七种请求,另外有以下三个特性:

    • 虚拟主机允许从单个 IP 地址提供多个域
    • 持久连接和流水线连接允许 Web 浏览器通过单个持久连接发送多个请求
    • 缓存支持节省了带宽并使响应速度更快。
  • HTTP2和HTTP3,已经发布了,但是整体的使用并不突出

理解HTTP协议
  1. 客户端和服务端交互的方式

请求-响应模式

请求:永远是客户端向服务端发送

响应:永远是服务端向客户端发送

  1. 客户端和服务端交互数据的格式

报文(请求报文):请求时发送的数据

响应(响应报文):响应时返回的数据

报文的格式:

​ 报文首部:行信息 + 头信息

​ 报文主体

  1. HTTP的长链接和短链接问题

前置知识

网络信息传递过程:

pkRzuh8.png

TCP协议下的数据通信(三次握手和四次分手):

pkRzM9S.png

长链接和短链接分解:

html中存在<link>``<script>之类的标签

客户端需要通过这些标签中的地址重新向Tomcat抓取路径,所以需要重新经历三次握手和四次分手的过程。

报文格式

见资料

常见的请求头:

-主机虚拟地址
Host: localhost:8080   
-长连接
Connection: keep-alive 
-请求协议的自动升级[http的请求,服务器却是https的,浏览器自动会将请求协议升级为https的]
Upgrade-Insecure-Requests: 1  
- 用户系统信息
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
- 浏览器支持的文件类型
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
- 当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的]:   可以通过此路径跳转回上一个页面, 广告计费,防止盗链
Referer: http://localhost:8080/05_web_tomcat/login.html
- 浏览器支持的压缩格式
Accept-Encoding: gzip, deflate, br
- 浏览器支持的语言
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

注意

  • 如果是发送加密的信息最好是使用POST请求发送数据

  • 如果是发送非加密数据且不携带信息,最好是使用GET请求

常见的相应体:

Server: Apache-Coyote/1.1   服务器的版本信息
Accept-Ranges: bytes
ETag: W/"157-1534126125811"
Last-Modified: Mon, 13 Aug 2018 02:08:45 GMT
Content-Type: text/html    响应体数据的类型[浏览器根据类型解析响应体数据]
Content-Length: 157   响应体内容的字节数
Date: Mon, 13 Aug 2018 02:47:57 GMT  响应的时间,这可能会有8小时的时区差

报文响应的状态码

状态码状态码英文描述中文含义
1**
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
2**
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求
3**
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303See Other查看其它地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向
4**
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405Method Not Allowed客户端请求中的方法被禁止
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414Request-URI Too Large请求的URI过长(URI通常为网址),服务器无法处理
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed服务器无法满足Expect的请求头信息
5**
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理

4. Servlet简介

动态资源和静态资源

静态资源:在代码运行之前已经写好的资源文件

动态资源:在代码运行过程中动态生成的资源文件

注意:动态资源的过程需要java代码生成需要响应的数据并且转换为响应的报文(参数如果不一样,响应的请求也不一样)

Tomcat接收到请求后的处理过程
  1. tomcat接收到请求后,会将请求报文信息转换为一个HttpServletRequest对象
    • 包含了请求中的所有信息 --> 请求头、请求行、请求体
  2. tomcat同时创建一个HttpServletResponse对象,该对象用于盛装要响应给客户端的信息,并且之后会被转换成响应的报文
    • 包含了响应中的所有信息 --> 响应行、响应头、响应体
  3. 创建自己的Servlet类并且要使其实现Servlet接口
    • 重写抽象方法:service(HttpServletRequest request,HttpServletResponse,response)
      • 从request参数中获取所有请求信息
      • 生成响应给客户端的数据
      • 将响应数据传入response参数
  4. tomcat根据请求中的资源路径找到对应的servlet,将servlet实例化,调用servlet()方法,同时将HttpServletRequest对象和HttpServletResponse对象传入
Tomcat对数据进行验证

Servlet API jar包导入问题

具体见Tomcat导入过程

Content-Type问题
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;import java.io.IOException;
import java.io.PrintWriter;public class UserServlet extends HttpServlet {resp.setContentType("text/html");// 设置Content-Type类型
}

url-parttern特别说明

一个servlet-name可以映射多个url-parttern;但是每一个url-parttern只能对应一个servlet-name

在xml标签中表示为:一个servlet-mapping标签可以拥有多个url-pattern标签

url-parttern的精确匹配和模糊匹配

  1. 精确匹配

一般使用/作为通配符

  1. 模糊匹配

一般使用*作为通配符

xml文件映射路径 vs 注解映射路径
<servlet><servlet-name>servlet1</servlet-name><servlet-class>com.itchen.servlet.Servlet1</servlet-class>
</servlet><servlet-mapping><servlet-name>servlet1</servlet-name><url-pattern>/servlet1</url-pattern><url-pattern>/s1</url-pattern>
</servlet-mapping>
@WebServlet("/s2")

通用类

public class Servlet1 extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("servlet执行了");}
}

Servlet的生命周期(了解)

生命周期对应方法执行时机执行次数
构造对象构造器第一次请求或者容器启动1
初始化init()构造完毕后1
处理服务service(HttpServletRequest req,HttpServletResponse resp)每次请求多次
销毁destory()容器关闭1

Servlet接口的继承结构(了解)

pkWJEWV.md.png

Servlet接口中存在的一些方法:

  • void init(ServletConfig var1)
  • ServletConfig getServletConfig();
  • void service(ServletRequest var1, ServletResponse var2)
  • String getServletInfo();
  • void destroy();

GenericServlet类:实现一些基本的Tomcat配置

HttpServlet类:1. 主要的Service方法,方便调用子类的API(相较于父类的API更丰富)

​ 2. 重载的Service方法,获取请求的方式;根据请求方式调用响应的方法(请求的分发 状态码:405 )。

自己的Servlet类:重新实现Service方法 或者 重写doGet()方法和doPost()方法

​ 1. 接收用户的请求信息

​ 2. 做出响应( 状态码:200 )

ServletConfig对象(了解)

作用:为某一个Servlet提供独立的配置参数;表现形式为:获取init-param参数。(可以有多个)

方式:xml配置文件和注解两种方式

ServletContext对象(掌握)

作用:为所有Servlet提供信息(唯一)

// 示例
ServletContext servletContext = getServletContext();// 获取不同电脑的文件路径
String path = servletContext.getRealPath("upload");
System.out.println(path);// 获取项目的上下文路径
String contextPath = servletContext.getContextPath();
System.out.println(contextPath);
通过ServletContext对象进行数据的交互(Service方法中)
// 发送数据
ServletContext servletContext = getServletContext();
servletContext.setAttribute("ka","va");
//servletContext.removeAttribute("ka")
// 接收数据
ServletContext servletContext1 = getServletContext();
String ka = (String)servletContext1.getAttribute("ka");
System.out.println(ka);

HttpServletRequest对象

各种API见阿里网盘-备份盘-大学经历-java Web文档

通过URI和URL了解 ip锁定代理服务器

pkWti80.md.png

HttpServletResponse对象

各种API见阿里网盘-备份盘-大学经历-java Web文档

请求转发

通过HttpServletRequest对象实现,服务端内部将请求发送给另一个处理类

请求转发特点(基础,重要)
  • 请求转发通过HttpServletRequest对象获取请求转发器实现
  • 请求转发是服务器内部的行为,对客户端是屏蔽的
  • 客户端只发送了一次请求,客户端地址栏不变
  • 服务端只产生了一对请求和响应对象,这一对请求和响应对象会继续传递给下一个资源
  • 因为全程只有一个HttpServletRequset对象,所以请求参数可以传递,请求域中的数据也可以传递
  • 请求转发可以转发给其他Servlet动态资源,也可以转发给一些静态资源以实现页面跳转
  • 请求转发可以转发给WEB-INF下受保护的资源
  • 请求转发不能转发到本项目以外的外部资源

响应重定向

通过HttpServletResponse对象实现,服务端先返回一个响应,让客户端再发送一个请求,然后服务端的处理类再处理之后发送的请求,并返回响应。

乱码和路径问题

产生原因:

  1. 数据的编码和解码不属于一个字符集
  2. 使用了不支持某种语言的字符集

乱码问题1

对于使用Tomcat中参数获取的时候的因为编码的字符集和解码的字符集有差异,所以会导致Tomcat乱码问题

解决:

  • get请求:在Tomcat配置中对解码字符集进行修改
  • post请求:在源码调用参数前对请求体内的参数的编码方式进行修改

乱码问题2

在页面显示的时候,前端的编码方式不一定和后端的相同。

解决:

  • 在响应头中设置编码方式(甩锅给前端)
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.setContentType("text/html;charset=UTF-8");
}

请求转发时的编码问题

受保护的资源需要通过请求转发来获取,但是请求转发时不会改变资源的访问路径。这造成了资源的字节码文件路径和在编码中的磁盘结构路径不一致,最终导致了资源访问失败。

相对路径和绝对路径

重定向中的路径问题

和上面文档中的一致

请求转发时的路径问题

相对路径和上面文档一致,绝对路径不需要再添加项目的上下文

绝对路径通解:将项目的上下文环境设置为/

出现hamcrest错误是因为Test测试的问题,老版本mysql记得在连接url上加上设置

5. 会话管理

客户端和服务端之间的多次请求和响应

会话管理是服务器端通过客户端的状态来对客户端进行管理和记录

技术手段:

通过cookie和session配合记录请求状态

cookie的使用

cookie是一个键值型的对象,它在服务器产生,随着响应传会浏览器,如果浏览器对软件中的地址再次访问,cookie将在每次请求中携带。除非浏览器关闭过后再次使用,这个cookie才会消失。

cookie的分类

会话级cookie 直到浏览器关闭结束

持久化cookie 自定义最大时效时间

Session的使用

先获取session对象

HttpSession session = req.getSession();

向Session中存入数据

session.setAttribute("username",username);

注意: Session被用于存储在浏览器中,如果打开另一个客户端,将不会存储原客户端中的Session

客户端每次申请Session对象,服务器都会产生并发送给服务器端
Session每次请求的时效性只有30分钟,可以在web-config中修改

三大域对象
  • web项目中,我们一定要熟练使用的域对象分别是请求域,会话域,应用域

  • 请求域对象是HttpServletRequest,传递数据的范围是一次请求之内及请求转发

  • 会话域对象是HttpSession,传递数据的范围是一次会话之内,可以跨多个请求

  • 应用域对象是ServletContext,传递数据的范围是本应用之内,可以跨多个会话

API功能
void setAttribute(String name,String value)向域对象中添加、修改数据
Object getAttribute(String name)从域对象中获取数据
removeAttribute(String name)移除域对象中的数据
三大域对象一般存放数据
请求域本次业务有关数据
会话域本次会话客户端有关数据
应用域本程序有关数据,eg.Spring框架的IOC容器

6. 过滤器

过滤器是作用目标资源请求的技术规范。javaEE技术规范,javaWeb项目中最最使用的技术之一。

应用场景:登录……

对于一个请求过滤器不止能有一个,多个过滤器会形成过滤器链

生命周期

  1. 构造(X)
  2. 初始化
  3. 过滤
  4. 销毁

注意:filter和servlet不同点在于:filter不能由java控制构造和初始化;而servlet可以

过滤器链

在web.xml中配置filter-mapping的顺序决定了过滤器的工作顺序

使用注解的形式取代xml配置文件

@WebFilter(filterName = "loggingFilters",initParams = {@WebInitParam(name="dateTimePattern",value="yyyy-MM-dd HH:mm:ss")},urlPatterns = {"/servletA","*.html"},servletNames = {"servletBName"}
)

7.监听器

在域对象中发生一些事件的时候自动触发一些代码的执行

ServletContextListener监听器在springspringMVC中使用最多

监听对象作用域的相应类或接口
域对象本身变化ServletContextListener
域对象中数据的变化ServletContextAttributeListener
监听Session域的变化HttpSessionListener

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

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

相关文章

以设备为核心的状态自动采集、人工运维和预测性维护为一体的智能管理系统

中服云设备全生命周期管理系统充分利用物联网、人工智能、机器学习、大数据等新一代技术&#xff0c;实现对企业生产设备从采购、安装、调试、使用、维护、维修、改造、更新直到报废全生命周期的智能化、数字化、可视化的实时管控&#xff0c;支持设备运行状态的自动采集和人工…

js 中 new Worker 报错 Failed to construct ‘Worker‘

new Worker("worker.js");运行多线程 Web Worker 的时候报错 Uncaught DOMException: Failed to construct ‘Worker’ 原因是浏览器不允许通过本地文件访问使用Web Worker。 解决方法&#xff1a; 将项目部署到服务器上或者用Node起本地服务访问项目

活动回顾|矩阵起源2024WAIC圆满落幕

2024年7月4日至7日&#xff0c;全球瞩目的2024世界人工智能大会暨人工智能全球治理高级别会议&#xff08;WAIC 2024&#xff09;在上海盛大举行&#xff0c;其中Future Tech 100未来之星创新孵化展再次成为大会焦点&#xff0c;它不仅是一场科技成果的展示&#xff0c;更是全球…

网络通信基本知识

网络通信 什么是网络通信&#xff1f; 通信网络是指将各个孤立的设备进行物理连接&#xff0c;实现人与人&#xff0c;人与计算机&#xff0c;计算机与计算机之间进行信息交换的链路&#xff0c;从而达到资源共享和通信的目的。 什么是网络协议&#xff1f; 网络协议是计算机…

SPring Boot整合第三方框架

springboot整合第三方框架 1. 整合mybatis 1.1引入依赖——pom.xml配置文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

安装isce2

今天再次尝试安装&#xff0c;之前试过2次都是卡在同一步&#xff0c;今天换成了用mamba conda就没有再报错了 全程参考云军老师的step by step教程&#xff0c;安装成功 GitHub - yunjunz/conda-envs: conda environment setup on Linux / macOS for InSAR data processing …

【进阶】利用python内置模块自动化发送邮件及邮件附件

目录 自动化发送邮件 流程&#xff1a; 步骤&#xff1a; 【重点】 【MIMEText--发送文本类型的邮件】 【MIMEImage-发送附件为图片的邮件】 【MIMEBase--发送附件为html报告的邮件】 自动化发送邮件 以qq邮箱为例&#xff0c;提前打开POP3/IMAP/SMTP/Exchange/CardDAV 服…

【Redis】复制(Replica)

文章目录 一、复制是什么&#xff1f;二、 基本命令三、 配置&#xff08;分为配置文件和命令配置&#xff09;3.1 配置文件3.2 命令配置3.3 嵌套连接3.4 关闭从属关系 四、 复制原理五、 缺点 以下是本篇文章正文内容 一、复制是什么&#xff1f; 主从复制 master&#xff…

GloVe: Global Vectors for Word Representation论文笔记解读

基本信息 作者Jeffrey Penningtondoi10.3115/v1/D14-1162发表时间2014期刊EMNLP网址https://aclanthology.org/D14-1162.pdf 研究背景 1. What’s known 既往研究已证实 全局矩阵分解方法&#xff1a;LSA&#xff0c;考虑整个语料库词频的统计信息得到共现矩阵&#xff0c;通…

根据视图矩阵, 恢复相机的世界空间的位置

根据视图矩阵, 恢复相机的世界空间的位置 一、方法1 glsl 实现: // 从本地局部坐标系(相机空间) 到 世界空间的旋转变换 mat3 getLocal2WorldRotation() {mat3 world2localRotation mat3(viewMatrix[0].xyz,viewMatrix[1].xyz,viewMatrix[2].xyz);return inverse(world2loca…

汽车零配件行业看板管理系统应用

生产制造已经走向了精益生产&#xff0c;计算时效产出、物料周转时间等问题&#xff0c;成为每一个制造企业要面临的问题&#xff0c;工厂更需要加快自动化&#xff0c;信息化&#xff0c;数字化的布局和应用。 之前的文章多次讲解了企业MES管理系统&#xff0c;本篇文章就为大…

论文er们,YOLO这口饭得趁热吃

不知道各位有没有看出来&#xff0c;从去年开始YOLO相关的论文就处于一个井喷式状态&#xff0c;SCI各区都能见到它的身影。 这是因为YOLO其实是个很好发论文的方向&#xff0c;需求量很大&#xff0c;热度高&#xff0c;并且好入门&#xff0c;能获取的资源也很多。写论文时一…

宾馆酒店电视信号高清改造-广电信号接入数字电视同轴高清传输系统应用

宾馆酒店电视信号高清改造-广电信号接入数字电视同轴高清传输系统应用 由北京海特伟业科技有限公司任洪卓发布于2024年7月12日 一、宾馆酒店广电信号接入数字电视同轴高清传输系统建设背景 在当今数字化快速发展的时代&#xff0c;宾馆酒店作为服务行业的重要组成部分&#x…

idea修改全局配置、idea中用aliyun的脚手架,解决配置文件中文乱码

idea修改全局配置 idea中用aliyun的脚手架&#xff0c;创建springBoot项目 解决配置文件中文乱码

解决fidder小黑怪倒出JMeter文件缺失域名、请求头

解决fidder小黑怪倒出JMeter文件缺失域名、请求头 1、目录结构&#xff1a; 2、代码 coding:utf-8 Software:PyCharm Time:2024/7/10 14:02 Author:Dr.zxyimport zipfile import os import xml.etree.ElementTree as ET import re#定义信息头 headers_to_extract [Host, Conn…

内网安全:权限维持的各种姿势

1.Linux权限维持 2.Windows权限维持 目录&#xff1a; 一.Linux权限维持&#xff1a; 1.webshell&#xff1a; 2.定时任务&#xff1a; 3.SUID后门&#xff1a; 4.SSH Key免密登录后门&#xff1a; 5.添加用户后门&#xff1a; 二.Windows权限维持 1.计划任务后门&…

在 Java 中:为什么不能在 static 环境中访问非 static 变量?

在 Java 中&#xff1a;为什么不能在 static 环境中访问非 static 变量&#xff1f; 1、静态&#xff08;static&#xff09;变量2、非静态&#xff08;非static&#xff09;变量3、为什么不能访问&#xff1f;4、如何访问&#xff1f;5、总结 &#x1f496;The Begin&#x1f…

2024年用于在 Python 中构建 API 的 8 个开源框架

什么是API&#xff1f; API是一个软件解决方案&#xff0c;作为中介&#xff0c;使两个应用程序能够相互交互。以下一些特征让API变得更加有用和有价值&#xff1a; 遵守REST和HTTP等易于访问、广泛理解和开发人员友好的标准。API不仅仅是几行代码&#xff1b;这些是为移动开…

安装WindowsTerminal并设置默认以管理员身份运行启动终端

安装WindowsTerminal并设置默认以管理员身份运行启动终端 背景&#xff1a;Microsoft Store打不开&#xff0c;且WindowsTerminal没有默认以管理员身份运行。 下载msixbundle类型的安装包&#xff1a;https://github.com/microsoft/terminal/releases 使用管理员运行Windows …

[RK3308H_Linux] 关于8+2(8路模拟麦克风 + 2路es7243e回采)的调试心得

问题描述 RK3308H 使用8路个模拟麦克风录音&#xff0c;2路用es7243e做回采 解决方案&#xff1a; 首先先调8路模拟麦克风&#xff0c;根据原理图确定使用的是哪路I2S。 以下为dts配置&#xff0c;acodec的属性注释附上。 &acodec {status "okay";rockchip,m…