JavaWeb学习(未完结)

文章目录

  • 一、基本概念
    • 1.1 动态Web网站简介
    • 1.2 web应用程序
    • 1.3 静态web
    • 1.4 动态web
  • 二、web服务器
    • 2.1 技术
    • 2.2 应用服务器
    • 2.3 安装 jdk8
  • 三、Tomcat
    • 3.1 安装 Tomcat9
    • 3.2 文件说明
    • 3.3 启动并使用Tomcat
    • 3.4 关闭Tomcat
    • 3.5 可能遇到的问题
    • 3.6 配置
      • 3.6.1 修改测试访问的网页地址
      • 3.6.2 修改测试访问的网页内容
      • 3.6.3 修改存放网页的位置
    • 3.7 网站是如何进行访问的?
    • 3.8 网站应有的结构
  • 四、Http 详解
    • 4.1 版本
    • 4.2 Http请求
      • 4.2.1 请求行
      • 4.2.2 消息头
    • 4.3 Http响应
      • 4.3.1 响应体
      • 4.3.2 响应状态码
  • 五、Maven
    • 5.1 安装Maven
    • 5.2 文件说明
    • 5.3 修改镜像
    • 5.4 配置环境变量
    • 5.5 创建本地仓库
    • 5.6 在IDEA中使用Maven
    • 5.7 模板创建和直接创建的对比
    • 5.8 标记文件夹
    • 5.9 在IDEA中配置Tomcat
    • 5.10 Maven侧边栏的说明
    • 5.11 pom文件分析
    • 5.12 约定大于配置思想的缺点
    • 5.13 更改webapp版本
  • 六、Servlet
    • 6.1 Servlet简介
    • 6.2 使用Servlet
      • 6.2.1 编写Java文件
      • 6.2.2 编写Servlet映射
      • 6.2.3 配置Tomcat
      • 6.2.4 运行
    • 6.3 Servlet运行原理
    • 6.4 Mapping
        • **说在最后📝*:*

一、基本概念

在 Java 中,动态web资源开发的技术统称为JavaWeb

1.1 动态Web网站简介

提供给所有人看到的数据始终会发生变化,每个人在不同时间,不同地点看到的信息个不相同

https-------443端口

http---------80端口

常用技术栈:

  • Servelt
  • JSP
  • ASP
  • PHP

1.2 web应用程序

可以提供浏览器访问的程序,web应用程序编写完毕后,若想提供给外界访问,需要用Tomcat服务器统一管理。

  • html、css、js
  • jsp、servlet
  • java程序
  • jar包
  • 配置文件(properties)

1.3 静态web

类似html这样的网页后缀,如果服务器上一直存在这些东西,我们就可以通过网络进行读取。

静态web存在的缺点:

  • web页面无法动态更新,只能编写JavaScript实现伪动态

  • 无法和数据库交互,数据无法持久化(注册、商品信息、用户信息),和用户无法交互;

1.4 动态web

页面会动态展示

动态web存在的缺点:

  • 如果加入服务器的动态web资源出现了错误,我们需要重新编写后台程序再发布,即停机维护

二、web服务器

C/S:客户端和服务器

B/S:浏览器和服务器

2.1 技术

  • ASP:在HTML中嵌入了VB的脚本,ASP+COM,缺点:业务代码多,页面混乱,维护成本高;
  • PHP:开发速度快,功能强大,支持跨平台,代码简单,缺点:无法承载大访问量的情况(局限性);
  • JSP/Servlet:sun公司主推的B/S架构,基于Java,可承载三高(高性能、高可用、高并发),语法与ASP相似。

2.2 应用服务器

作用:处理用户请求和提供用户响应信息。

IIS

IIS是指World Wide Web server服务,IIS是一种Web(网页)服务组件,专业的说,IIS可以赋予一部主机电脑一组以上的IP地址,而且还可以有一个以上的域名作为Web网站。

Tomcat

Tomcat 是由 Apache 软件基金会下属的 Jakarta 项目开发的一个 Servlet 容器,按照 Sun Microsystems 提供的技术规范开发出来,Tomcat 8 实现了对 Servlet 3.1 和 JavaServer Page 2.3(JSP)的支持,并提供了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平台、安全域管理和 Tomcat 附加组件等。最新版本为9.0

2.3 安装 jdk8

程序员好冰

三、Tomcat

官网链接

3.1 安装 Tomcat9

程序员好冰

3.2 文件说明

image-20230209155240737
  • bin :启动、关闭的脚本文件
  • conf : 配置
  • lib : 依赖的jar包
  • logs : 日志
  • temp : 存放临时文件
  • webapps : 存放网站

3.3 启动并使用Tomcat

Tomcat路径 ------ > bin目录 -------> startup.bat 双击

在浏览器输入:localhost:8080

访问测试:http://localhost:8080

localhost(默认主机) 127.0.0.1

默认端口号:8080

  • mysql默认端口号:3306
  • http默认端口号:80
  • https默认端口号:443

3.4 关闭Tomcat

Tomcat路径 ------ > bin目录 -------> shutdown.bat 双击

3.5 可能遇到的问题

  1. Java环境变量没配置;
  2. 闪退问题,需要配置兼容性;
  3. 乱码问题,在startup.bat文件中配置。

3.6 配置

3.6.1 修改测试访问的网页地址

在conf目录下打开server.xml (服务器核心配置文件)

image-20230209160826908

修改默认端口号

image-20230209201502541

修改默认主机,如:将 localhost 改为 www. haobing. com

  • 第一步:将Host的name属性修改为 www. haobing. com

image-20230209201604371

  • 第二步:打开文件:C:\Windows\System32\drivers\etc\hosts

image-20230209202219933

  • 第三步:添加映射

    image-20230209202348957

3.6.2 修改测试访问的网页内容

在webapps目录下找到 ROOT 打开

image-20230209204234807

保留这个文件夹(WEB-INF),其它都可以修改

image-20230209204429359

3.6.3 修改存放网页的位置

Host下的APPBase属性就是网页的根目录

image-20230209203021614

webapps下的每个文件夹名,都是可以访问的

image-20230209204856693

3.7 网站是如何进行访问的?

  • 客户端请求网址;

  • 先查找客户端本机 host(C:\Windows\System32\drivers\etc\hosts ) 配置文件下有没有这个域名的映射;

    • 有,直接返回对应的IP地址,结束
    • 没有,继续下一步
  • 查找DNS服务器

    • 有,返回对应的IP地址,结束
    • 没有,访问出现错误 404

3.8 网站应有的结构

---webapps  //Tomcat服务器的web目录、
	-ROOT
	-haobing  //网站的目录名
	-WEB-INF  //存放网站程序
		-web.xml   //网站的配置文件
		-classes  //Java程序
		-lib   //web应用所依赖的jar包
	-index.jsp //默认的首页
	-static
		-css
		-js
		-img
	-...

四、Http 详解

一个简单的请求-响应协议

它指定了客户端可能发送给服务器什么样的信息以及得到什么样的响应

默认端口:80

Https:安全,默认端口:443

超文本传输协议,超文本:图片、音乐、视频、定位、地图…,运行在TCP之上

4.1 版本

  • http 1.0 :仅能够一次连接,客户端可以与web服务器连接后,只能获得一个web资源,之后断开连接;
  • http 1.1:能够进行多次连接,可以获得多个web资源。

4.2 Http请求

客户端------发请求-----服务器

请求 URL: https://www.baidu.com/
请求方法: GET/POST
状态代码: 200 OK
远程地址: 14.215.177.39:443
引用者策略: strict-origin-when-cross-origin
Accept:text/html
Accept-Encoding: gzip
Accept-Language: zh-CN   -------------->语言
Cache-Control: max-age=0
Connection: keep-alive

4.2.1 请求行

请求行中的请求方式:GET;

请求方式:GET、POST、HEAD、DELETE、PUT、TRACT

  • GET:一次请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效;
  • POST:一次请求能够携带的参数没有限制,大小没有限制,不会会在浏览器的URL地址栏显示数据内容,安全,但是不高效。

4.2.2 消息头

Accept:   -------------->告诉浏览器它支持的数据类型
Accept-Encoding:    -------------->支持哪种编码格式:GBKUTF-8GB2312ISO8859-1
Accept-Language:    -------------->设置语言
Cache-Control:    -------------->缓存控制
Connection:    -------------->告诉浏览器,请求完成是断开还是保持连接
HOST:   -------------->主机

4.3 Http响应

服务器-----响应------客户端

Cache-Control:private    -------------->缓存控制
Connection: keep-alive   --------------->连接,保持连接,说明是http1.1
Content-Encoding: gzip   --------------->编码
Content-Type: text/html; charset=utf-8 ------>类型

4.3.1 响应体

Accept:   -------------->告诉浏览器它支持的数据类型
Accept-Encoding:    -------------->支持哪种编码格式:GBKUTF-8GB2312ISO8859-1
Accept-Language:    -------------->设置语言
Cache-Control:    -------------->缓存控制
Connection:    -------------->告诉浏览器,请求完成是断开还是保持连接
HOST:   -------------->主机
ReFresh:   -------------->告诉客户端多久刷新一次
Location:   -------------->让网页重新定位

4.3.2 响应状态码

  • 200:成功
  • 3**:请求重定向
  • 4**:找不到资源
  • 5**:服务器代码错误
  • 502:网关错误

五、Maven

官网链接

Maven的核心功能是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包

在JavaWeb开发中,需要手动导入jar包,Maven可以自动帮我们导入和配置jar包。

项目架构管理工具,核心思想:约定大于配置

Maven会规定好你该如何去编写我们的Java代码,必须要按照这个规范来。

5.1 安装Maven

程序员好冰

5.2 文件说明

image-20230210112653209

  • bin:执行文件
  • boot:启动需要的选项
  • conf:配置文件

5.3 修改镜像

Maven目录下---->conf------>settings.xml

镜像:方便下载使用

image-20230210113127034

image-20230210113157537

阿里云镜像官网

image-20230210113551709

找到Maven

image-20230210113613119

直接复制

image-20230210113752569

粘贴在这,即可

image-20230210113925965

5.4 配置环境变量

M2_HOME---------------bin目录

MAVEN_HOME--------bin上一级目录

image-20230210115203446

添加path

image-20230210115356258

查看是否配置成功--------------mvn -version

image-20230210115524542

5.5 创建本地仓库

在Maven目录下创建一个文件夹

image-20230210120751587

修改localRepository下的目录

image-20230210120646176

5.6 在IDEA中使用Maven

打开全局设置

image-20230210121855567

设置Maven

image-20230210121945384

更改:

  1. Maven版本
  2. settings.xml位置
  3. 本地仓库位置

image-20230210122237233

Apply

image-20230210122313712

创建新项目

image-20230210122353742

image-20230210122636845

点击创建

image-20230210122800172

image-20230210122832893

查看本地仓库,发现多出来的文件,说明成功

image-20230210123039045

成功!

5.7 模板创建和直接创建的对比

左边使用模板创建------------------------右边直接创建

image-20230210175523750

5.8 标记文件夹

约定大于配置思想

按照图中打开

image-20230210212325892

image-20230210212500014

照上修改后,对应的文件图标将会改变颜色

image-20230210212638392

5.9 在IDEA中配置Tomcat

编辑配置

image-20230210213011719

找到并选择本地Tomcat

image-20230210213210963

相关配置

image-20230210214145800

配置Tomcat HOME

image-20230210215331377

image-20230210215523383

配置Tomcat的安装路径

image-20230210215616375

成功,点击OK-----Apply

image-20230210215721480

指定一个文件夹名

image-20230210214248602

image-20230210214332672

虚拟路径映射

image-20230210214745910

点击运行

这里访问到的HelloWorld就是我们默认的index.jsp中的内容

image-20230210215944626

image-20230210220006144

Tomcat配置成功

5.10 Maven侧边栏的说明

image-20230210221445515

5.11 pom文件分析

<!--Maven版本和头文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

<!--  这里就是我们刚才配置的GAV-->
  <groupId>org.example</groupId>
  <artifactId>javaweb-01-maven</artifactId>
<!--  项目的打包方式:
        1.jar-Java应用;
        2.war-JavaWeb应用-->
  <packaging>war</packaging>
<!--  版本-->
  <version>1.0-SNAPSHOT</version>

  <name>javaweb-01-maven Maven Webapp</name>

  <url>https://maven.apache.org</url>
<!--  配置-->
  <properties>
      <!--项目的默认构建编码-->
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
       <maven.compiler.source>1.8</maven.compiler.source>
       <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

<!--  项目依赖-->
  <dependencies>
<!--    项目具体依赖的jar包文件-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
    </dependency>
  </dependencies>
<!--  项目构建的插件-->
  <build>
    <finalName>javaweb-01-maven</finalName>
  </build>
</project>

Maven的 JAR 包仓库

image-20230211143702405

Maven的强大之处在于:它会帮你导入一个JAR包所依赖的其他JAR包

5.12 约定大于配置思想的缺点

Maven由于它的约定大于配置的思想,当我们编写的配置文件不符合规范的时候,将会无法导出或者生效

例如:在java目录(本应该放class文件)下,存放xml文件或properties文件

解决方案

链接一

链接二

在build中配置resources,来防止资源导出失败的问题

<build>
      <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.properties</exclude>
                <exclude>**/*.xml</exclude>
             </excludes>
            <filtering>false</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
</build>

Maven中的目录树

Maven中jar包的一些结构体系

image-20230211123619825

5.13 更改webapp版本

替换为webapp4.0版本,和Tomcat一致

原始版本:webapp2.3

image-20230211150350752

找到:Tomcat安装目录-------webapps-------ROOT-------WEB-INF-------web.xml

image-20230211150528638

image-20230211150559155

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">
</web-app>

将上面的内容替换到WEB-INF下的web.xml中,全部替换

image-20230211150654433

替换后…

image-20230211150816502

六、Servlet

6.1 Servlet简介

简介链接:Servlet 是 Sun 公司推出的一种基于 Java 的动态网站开发技术。

编写 Servlet 代码需要遵循 Java 语法,一个 Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。Servlet 程序需要先编译成字节码文件(.class文件),然后再部署到服务器运行。

Sun公司在这些API中提供一个叫Servlet的接口,如果你想开发一个Servlet程序,需要完成两个步骤:

  • 编写一个类,实现Servlet接口
  • 把开发好的Java类部署到web服务器中

实现了Servlet接口的Java程序叫做Servlet

6.2 使用Servlet

创建一个普通的Maven项目,并将src目录删除

image-20230211160216670

在pom.xml中添加项目依赖

<dependencies>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
    </dependency>
</dependencies>

找到Maven仓库:maven-repo\javax\servlet,Maven会自动下载如下文件:

image-20230211160703324

创建子模块

image-20230211161319196

image-20230211161516162

父子项目

image-20230211161847774

父项目中的pom.xml

image-20230211161952849

子项目中

image-20230211162051344

父项目中的 JAR 包子项目可以直接使用,反过来不行-------------多态

son extends father {}

更换web.xml中的webapp版本

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">
</web-app>

编写Servlet程序

6.2.1 编写Java文件

java—package

image-20230211162725083

包名规范

image-20230211162941810

class文件

image-20230211163037367

image-20230211163108181

Servletvoid service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
GenericServletpublic abstract void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
HttpServletimage-20230211164530623
HelloServlet(我们创建的类)我们需要进行重写

重写doGet()和doPost()方法

快捷键:alt + insert

image-20230211164756588

由于get或者post只是请求实现的方式不同,因此可以互相调用,业务逻辑都一样

package com.haobin.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("进入doGet方法");
        PrintWriter writer = resp.getWriter();
        writer.print("Hello,Serlvet!");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

6.2.2 编写Servlet映射

为什么需要映射?

我们编写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们要在web服务器中注册我们编写的Servlet,还需要给它一个浏览器能够访问的路径

在web.xml文件下

image-20230211170008073

mapping-----映射

image-20230211170253491

6.2.3 配置Tomcat

编辑配置

image-20230210213011719

找到并选择本地Tomcat

image-20230210213210963

相关配置

image-20230210214145800

配置Tomcat HOME

image-20230210215331377

image-20230210215523383

配置Tomcat的安装路径

image-20230210215616375

成功,点击OK-----Apply

image-20230210215721480

指定一个文件夹名

image-20230210214248602

image-20230210214332672

虚拟路径映射

image-20230210214745910

点击运行

这里访问到的HelloWorld就是我们默认的index.jsp中的内容

image-20230210215944626

image-20230210220006144

Tomcat配置成功

6.2.4 运行

生成的target文件夹

image-20230211170930431

网页显示

image-20230211171050812

image-20230211171112181

映射请求逻辑

image-20230211171413233

6.3 Servlet运行原理

Servlet是由Web服务器调用的,web服务器在收到浏览器请求之后,会进行如下过程:

image-20230227171229506

6.4 Mapping

  • 一个Servlet可以指定一个映射路径
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
  • 一个Servlet可以指定多个映射路径
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello2</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello3</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello4</url-pattern>
</servlet-mapping>
  • 一个Servlet可以指定通用映射路径(*可以包括任何东西,包括为空的情况)
<servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/hello/*</url-pattern>
</servlet-mapping>

说在最后📝

​ ✍创作不易,如果觉得文章写得还可以的话,就不要吝啬你的 👍 啦~ ✍


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

水淹七军(递归,又是递归)

北大2023级最强新生问我的&#xff0c;最后他的问题说是重写了一遍就解决了 乐死了&#xff0c;有的时候根本看不出源代码漏了哪里 我的思路是&#xff1a; 一个数组记录本次放水所经过的格子&#xff0c;经过的不再递归 一个数组记录地图上各地点的高度 一个数组记录地图…

力扣日记11.25-【二叉树篇】对称二叉树

力扣日记&#xff1a;【二叉树篇】对称二叉树 日期&#xff1a;2023.11.25 参考&#xff1a;代码随想录、力扣 101. 对称二叉树 题目描述 难度&#xff1a;简单 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,…

操作无法完成错误0x0000709的解决办法,解决0x0000709错误

操作无法完成错误0x0000709是一种常见的Windows错误。这篇文章将带大家了解错误的原因&#xff0c;并提供一些解决该问题的方法&#xff0c;希望能够帮助大家解决0x0000709错误问题。 操作系统错误是我们在使用电脑时经常遇到的问题之一。其中之一就是操作无法完成错误0x000070…

Redis-主从与哨兵架构

Jedis使用 Jedis连接代码示例&#xff1a; 1、引入依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version> </dependency> 2、访问代码 public class JedisSingleTe…

超详细的Python+requests+unittest+excel接口自动化测试框架教程

一、框架结构 工程目录 在这我也准备了一份软件测试视频教程&#xff08;含接口、自动化、性能等&#xff09;&#xff0c;需要的可以直接在下方观看&#xff0c;或者直接关注VX公众号&#xff1a;互联网杂货铺&#xff0c;免费领取 软件测试视频教程观看处&#xff1a; 软件测…

ArcGis如何用点连线?

这里指的是根据已有坐标点手动连线&#xff0c;类似于mapgis中的“用点连线”&#xff0c;线的每个拐点是可以自动捕捉到坐标点的&#xff0c;比直接画精确。 我也相信这么强大的软件一定可以实现类似于比我的软件上坐标时自动生成的线&#xff0c;但是目前我还没接触到那里&a…

lv11 嵌入式开发 GPIO实验 9

目录 1 简介 1.1 GPIO 2 LED实验步骤 2.1 通过电路原理图分析LED的控制逻辑 2.2 通过电路原理图查找LED与Exynos4412的连接关系 2.3 通过数据手册分析GPIO中哪些寄存器可以控制LED 2.4 通过程序去操控对应的寄存器完成对LED的控制 2.4.1 使用寄存器写入…

SpringBoot:邮件发送

官网文档&#xff1a;39. Sending Email (spring.io)。 Sending Email Spring框架提供了JavaMailSender实例&#xff0c;用于发送邮件。 如果SpringBoot项目中包含了相关的启动器&#xff0c;那么就会自动装配一个Bean实例到项目中。 在SpringBoot项目中引入如下Email启动器&a…

十大排序之计数排序、桶排序、基数排序(详解)

文章目录 &#x1f412;个人主页&#x1f3c5;算法思维框架&#x1f4d6;前言&#xff1a; &#x1f380;计数排序 时间复杂度O(nk)&#x1f387;1. 算法步骤思想&#x1f387;2.动画实现&#x1f387; 3.代码实现 &#x1f380;桶排序&#x1f387;1. 算法步骤思想&#x1f38…

activiti流程变量操作api

文章目录 runtimeServicetaskServicedelegateTask测试绘制流程图启动流程runtimeService&taskService查询变量runtimeService&taskService设置变量 runtimeService // ## runtimeService操作的都是executionId runtimeService.startProcessInstanceByKey(processDefin…

ACL权限

ACL权限 目录&#xff1a; 1. 什么是ACL 2. 操作步骤 1. 什么是ACL ACL是Access Control List的缩写&#xff0c;即访问控制列表 每个项目成员在有一个自己的项目目录&#xff0c;对自己的目录有完全权限 项目组中的成员对项目目录也有完全权限 其他人对项目目录没有…

互联网时代的身份标识有哪些?

在互联网时代&#xff0c;我们的在线活动几乎都与IP地址相关。无论是浏览网页、观看视频&#xff0c;还是进行在线交易和沟通交流&#xff0c;我们的设备都会分配到一个独特的IP地址。然而&#xff0c;你可能并未意识到的是&#xff0c;IP地址不仅标识了我们在网络中的身份&…

MySQL 索引相关问题,建议搭建好环境,真实操作一下索引应用到的各种场景

文章目录 什么是 B-tree 和 Btree &#xff1f;B-Tree 和 BTree的区别&#xff1f;MySQL 联合唯一索引是BTree&#xff0c;会带来什么原则&#xff1f;主键索引和单字段唯一索引有什么区别吗什么是 聚簇索引和非聚簇索引 &#xff1f;创建一个三百万数据量的表格&#xff0c;方…

HCIP-七、IS-IS 综合实验

七、IS-IS 综合实验 实验拓扑实验需求及解法1.如图所示&#xff0c;配置所有路由器的接口IP地址。2.运行IS-IS&#xff0c;进程号13.IS-IS优化4.路径优化 实验拓扑 实验需求及解法 本实验模拟IS-IS综合网络&#xff0c;完成以下需求&#xff1a; 1.如图所示&#xff0c;配置所…

Acrel-2000电力监控系统在上海大世界保护修缮工程项目中的应用

摘要&#xff1a;安科瑞生产厂家1876150/-6237黄安南 介绍上海大世界电力监控系统&#xff0c;采用智能电力仪表采集配电现场的各种电参量和开关信号。系统采用现场就地组网的方式&#xff0c;组网后通过现场总线通讯并远传至后台&#xff0c;通过Acrel-2000型电力监控系统实现…

Matplotlib图形配置与样式表_Python数据分析与可视化

Matplotlib图形配置与样式表 配置图形修改默认配置rcParams样式表 Matplotlib的默认图形设置经常被用户诟病。虽然2.0版本已经有了很大改善&#xff0c;但是掌握自定义配置的方法可以让我们打造自己的艺术风格。 配置图形 我们可以通过修个单个图形配置&#xff0c;使得最终图…

搜索引擎语法

演示自定的Google hacking语法&#xff0c;解释含意以及在渗透过程中的作用 Google hacking site&#xff1a;限制搜索范围为某一网站&#xff0c;例如&#xff1a;site:baidu.com &#xff0c;可以搜索baidu.com 的一些子域名。 inurl&#xff1a;限制关键字出现在网址的某…

【数据分享】我国12.5米分辨率的坡度数据(免费获取)

地形数据&#xff0c;也叫DEM数据&#xff0c;是我们在各项研究中最常使用的数据之一。之前我们分享过源于NASA地球科学数据网站发布的12.5米分辨率DEM地形数据&#xff08;可查看之前的文章获悉详情&#xff09;&#xff0c;这个DEM数据的优点是精度高。 基于DEM地形数据&…

【OpenGauss源码学习 —— 执行算子(Merge Join 算子)】

执行算子&#xff08;Merge Join 算子&#xff09; 连接算子Merge Join 算子ExecInitMergeJoin 函数MergeJoin 结构体 ExecMergeJoin 函数MergeJoinState 结构体 ExecEndMergeJoin 函数 总结 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&#xff0c;我们尊重…

阿里云windwos 安装oracle数据库,外部用工具连接不上,只能在服务器本机通过127.0.0.1 连接

1. 首先检查阿里云服务器安全组端口是否开放 oracle 数据库端口 2. 其次找到oracle 安装的目录&#xff0c;打开这俩个文件&#xff0c;将localhost 修改为 服务器本机名称 3.重启oracle 监听服务&#xff0c;就可以连接了