web服务器及IDEA部署Tomcat服务器

news2024/11/19 4:52:03

目录

一、程序开发体系结构

1.1 C/S体系结构

1.2 B/S体系结构

二、Web服务器

2.1 概念

2.1.1 什么是Web

2.1.2 什么是Web服务器

2.2 常见Web服务器

2.3 Tomcat服务器

2.3.1 Tomcat的下载

2.3.2 Tomcat的安装

2.3.3 Tomcat的目录结构

2.3.4 Tomcat的启动

2.3.5 Tomcat的停止

2.3.6 修改Tomcat端口号

2.3.7 项目部署及静态资源访问

2.3.8 Tomcat常见问题

三、Servlet(特别重要)

3.1 Servlet概念

3.2 Servlet作用

3.3 Servlet开发步骤

3.3.1 搭建开发环境

3.3.2 创建项目

3.3.3 部署Servlet

3.3.4 配置Servlet

3.3.5 测试运行

四、IDEA中创建Web项目

4.1 创建Web项目

4.1.1 创建项目

4.1.2 编写Servlet类

4.2 手动部署项目

4.3 自动部署项目

4.3.1 IDEA集成Tomcat

4.3.2 IDEA部署JavaWeb项目


一、程序开发体系结构

随着网络技术的不断发展,单机的软件程序不足以满足网络计算的需求。为此,各种各样的网络程序开发体系结构应运而生,这当中,运用最多的网络应用程序开发体系结构主要分为两种:一种是基于浏览器/服务器的B/S结构;另外一种是基于客户端/服务器的C/S结构。

1.1 C/S体系结构

(1)C/S(Client/Server,客户端/服务器)体系结构由美国Borland公司最早研发。

(2)特点:必须在客户端(用户设备上)安装特定的软件。

(3)优点:图像效果显示比较好(比如:3D游戏)。

(4)缺点:服务器的软件和功能进行升级,客户端也必须升级,否则使用不了新的功能,不利于维护。

(5)常见的C/S体系结构程序:QQ、微信等。

1.2 B/S体系结构

(1)B/S(Bowser/Server,浏览器/服务器)体系结构由美国微软公司研发。

(2)特点:只需要一个浏览器通过http协议就可以访问,不需要在客户端(用户设备上)安装特定的软件。

(3)优点:服务功能的升级只需要升级服务器端,浏览器中不需要做任何升级操作。

(4)缺点:图形显示效果不如C/S体系结构。

(5)常见的B/S体系结构:淘宝、京东、支付宝等。

二、Web服务器

2.1 概念

2.1.1 什么是Web

(1)Web(World Wide Web)称为万维网,简单理解就是一个网站,它是Internet主机上提供给外界访问的资源、

(2)Internet上提供给外界访问的资源大体上分为两种,即静态资源(静态网站)和动态资源(动态网站)。

    静态资源:指Web页面中提供给用户浏览的数据是固定不变的,页面使用HTML+CSS实现。

    动态资源:指Web页面中提供给用户浏览的数据是由程序产生的,具有交互性(交互性是指网页可以根据用户的要求动态改变或响应),内容可以自动更新,并且内容会根据访问的时间和访问者而改变,甚至不同设备访问Web页面看到的内容也各不相同。页面使用Servlet+JSP等技术实现。

(3)Java Web是用Java技术来解决Web领域的相关技术的总和。Web包括Web服务器和Web客户端两部分。

2.1.2 什么是Web服务器

Web服务器发布Web应用、运行Web应用的容器。只有将开发好的Web项目部署在Web服务器中,才能使网络中的用户通过浏览器来访问Web应用。Web服务器的主要功能就是提供网上信息浏览服务。

2.2 常见Web服务器

开源的Web服务器:
    1)Tomcat(主流Web服务器之一,非常适合初学者学习)。
    2)jetty(淘宝使用,运行效率比Tomcat高)。
    3)resin(新浪使用,所有开源服务器软件中,运行效率最高的)。
    上面三个的用法从代码角度看完全相同,只是在开启、关闭服务软件时用的命令稍微有点区别。
收费的Web服务器:
    1)WebLogic,Oracle公司开发的。
    2)WebSphere,IBM公司开发的。
    收费的Web服务器提供相应的服务与支持,软件比较大,资源消耗大。

2.3 Tomcat服务器

(1)Tomcat是Apache基金会开发的一个小型的轻量级应用服务器,技术先进,性能稳定,而且是免费的,占用系统资源小,运行速度快。

(2)Tomcat是一个运行Servlet和JSP Web应用软件。基于Java的Web应用软件容器。Tomcat Server是根据Servlet和JSP规范运行的,因此可以说Tomcat Server也实行了Apache规范,且比绝大多数商业应用软件服务器要好。

2.3.1 Tomcat的下载

进入Tomcat官网下载(Apache Tomcat® - Welcome!),其安装文件有多种格式,其中zip文件是Windows系统下的压缩版本。

2.3.2 Tomcat的安装

Tomcat无需安装,只需要将压缩包下载后,将其解压到一个文件夹中就可以使用。
​
注意:
    1)文件夹名称中不要特殊符号。
    2)文件夹名称中不要包含中文字符。
    3)不建议将Tomcat解压放在磁盘层次很多的文件夹中

2.3.3 Tomcat的目录结构

Tomcat压缩包解压后,其中的各个子文件夹说明如下:

文件夹作用说明
bin存放启动和关闭Tomcat的可执行脚本文件startup.bat启动Tomcat shutdown.bat停止Tomcat
conf存放Tomact服务器的各种配置文件这是一个非常重要的目录,这个目录下的server.xml文件和web.xml文件最重要。 server.xml:配置整个服务器信息,例如修改端口号,设置编码格式等。 web.xml:项目部署描述文件,这个文件中注册了很多MIME类型,即文档类型
lib存放Tomcat服务器的支撑jar包Tomcat的类库,里面存放Tomcat运行时所需要的jar文件
logs存放Tomcat的日志文件该文件中记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,异常也会记录在日志文件中
temp存放Tomcat运行时产生的临时文件这个目录下的东西在停止Tomcat后删除
webapps存放各种Web应用存放Web项目的目录,其中每个文件夹都是一个项目,其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。
workTomcat的工作目录运行时生成的文件,最终运行的文件都在这个文件夹中。当客户端用户访问一个jsp文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java文件和class文件都会存放在这个目录下

2.3.4 Tomcat的启动

进入Tomcat服务器的安装目录bin文件中,双击startup.bat启动程序,出现如下界面。

打开浏览器中,在地址栏中输入http://localhost:8080或者http://127.0.0.1:8080回车,会出现Tomcat的访问页面。说明Tomcat服务器启动成功。

2.3.5 Tomcat的停止

双击shutdown.bat即可关闭Tomcat启动窗口。

2.3.6 修改Tomcat端口号

8080是Tomcat默认的端口,有时候可能会被占用,这时可以通过conf文件夹下的server.xml文件修改端口号,已解决端口号冲突的问题。端口号修改完之后,要重新启动Tomcat并在浏览器的地址栏中使用新的端口号访问Tomcat服务器。

2.3.7 项目部署及静态资源访问

Tomcat是Web服务器,是一个容器(依然可以理解为装数据的容器),我们开发的项目应用需要部署在webapps文件夹下面,然后启动Tomcat服务器,在浏览器中通过特定的URL访问Web项目的页面。

2.3.7.1 创建项目

1)在webapps中建立项目文件夹,例如,webProject01
​
2)在webProject01文件中创建WEB-INF文件夹,存放项目的核心内容
​
3)在WEB-INF文件夹中,创建如下文件夹和文件:
​
    -->创建classes文件夹,存放.class文件
​
    -->创建lib文件夹,存放jar文件
​
    -->创建web.xml项目配置文件(这个文件可以到ROOT项目向的WEB-INF中复制)
​
4)把你编写的helloTomcat.html页面复制到webProject01文件夹中,webProject01页面与WEB-INF在同级目录。

2.3.7.2 通过URL访问项目

打开浏览器,在浏览器地址栏中输入URL:http://localhost:8080/webProject01/helloTomcat.html,回车,即可访问

2.3.7.3 Tomcat响应流程

2.3.8 Tomcat常见问题

2.3.8.1 Tomcat控制台闪退

闪退的问题是由JAVA_HOME配置导致的,检查JAVA_HOME配置是否正确。

2.3.8.2 404

出现404问题是因为访问资源不存在,也就是访问路径不对(文件名不对)。

2.3.8.3 500

出现500问题是服务器端的问题,一般是程序逻辑有问题。

 

三、Servlet(特别重要)

3.1 Servlet概念

1)Servlet:Server Applet的简称,是运行在Web服务器端的Java程序,可交互式的处理客户端发送到服务器端的请求,并完成响应操作,它使用Java语言编写。

2)Servlet可实现动态网页。

3)Servlet是JavaWeb开发程序的基础,是一个标准,由SUN定义,具体细节由Servlet容器进行实现,如Tomact、JBoss等。Servlet是JavaEE规范(一套接口)的一个组成部分。

3.2 Servlet作用

1)接收客户端请求,完成相关操作

2)动态生成网页(页面数据可变,不同用户页面数据不同)

3)将包含操作结果的动态网页响应给客户端。

3.3 Servlet开发步骤

3.3.1 搭建开发环境

将Tomcat安装路径下lib文件夹中与Servlet相关的jar包(lib\servlet-api.jar)配置到classpath环境变量中。

3.3.2 创建项目

1)在webapps中建立项目文件夹,例如,webProject02

2)在webProject02文件中创建WEB-INF文件夹,存放项目的核心内容

3)在WEB-INF文件夹中,创建如下文件夹和文件:

-->创建classes文件夹,存放.class文件
​
-->创建lib文件夹,存放jar文件
​
-->创建web.xml项目配置文件(这个文件可以到ROOT项目向的WEB-INF中复制)

4)在classes中创建类的包文件夹,在文件夹中通过实现java.servlet.Servlet接口的方式编写MyServlet类。重写java.servlet.Servlet接口中的方法,在重写的核心方法service()中编写输出语句,打印访问结果。

package com.cxyzxc.www.servlet01;

import java.io.IOException;
import java.util.Date;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class Servlet01 implements Servlet{
    
    @Override
    public void destroy() {
        
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void init(ServletConfig arg0) throws ServletException {
        
    }

    @Override
    public void service(ServletRequest arg0, ServletResponse arg1)
            throws ServletException, IOException {
        
        System.out.println("My First Servlet!Very Good!");
        
    }
}

3.3.3 部署Servlet

1)编译Servlet01.java文件,生成Servlet01.class字节码文件
​
2)将Servlet01.class文件放在Web项目的WEB-INF文件里的classes文件夹中

3.3.4 配置Servlet

编写WEB-INF文件夹中的项目配置文件web.xml。

<?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_3_1.xsd"
  version="3.1"
  metadata-complete="true">

<!-- 1、添加Servlet节点-->
<servlet>
    <!-- 你的Servlet类名称-->
    <servlet-name>MyServlet</servlet-name>
    <!-- 你的Servlet类的完整路径-->
    <servlet-class>com.cxyzxc.www.servlet01.Servlet01</servlet-class>
</servlet>

<!-- 2、 添加servlet-mapping节点-->
<servlet-mapping>
    <!--  这个地方的servlet-name值要和上面servlet-name值保持一致-->
    <servlet-name>MyServlet</servlet-name>
    <!-- url-patter配置的内容是浏览器地址栏中URL里项目名称后的资源内容-->
    <url-pattern>/hello</url-pattern>
</servlet-mapping>
  
</web-app>

3.3.5 测试运行

1)启动Tomcat

2)打开浏览器,在浏览器地址栏中输入http://localhost:8080/webProject02/hello,可以在Tomcat窗口中看到输出“My First Servlet!Very Good!”内容。

四、IDEA中创建Web项目

4.1 创建Web项目

4.1.1 创建项目

1、打开IDEA,单击“New Project”或者通过File-->new-->Project,在弹出的对话框中输入项目名称,其它的默认选择,点击finish按钮

 

2、为项目添加Web框架支持,右键单击创建的项目,点击Add Framework Support,在弹出的对话框中勾选Web Application(4.0)及Create web.xml复选框,单击“OK”按钮,完成添加。

3、添加依赖包,右键单击WEB-INF文件夹,在弹出的对话框中选择New-->Directory命令,创建lib文件夹,将Tomcat安装目录下lib文件夹中的servlet-api.jar文件添加到lib文件夹中。

4、在servlet-api.jar文件上右击鼠标,选择Add As Library,将jar包添加到Library中

4.1.2 编写Servlet类

1、在src上右击鼠标-->new-->package-->输入com.cxyzxc.www.servlet01包名(包名你可以自己取)-->回车

2、在包上右击鼠标-->new-->Java Class-->输入ServletDemo01类名-->回车

3、编写ServletDemo01t类,实现Servlet接口,重写接口中的5个方法,在service()方法中输出内容

package com.cxyzxc.www.servlet01;

import javax.servlet.*;
import java.io.IOException;

public class ServletDemo01 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("IDEA中的第一个Servlet案例");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

4、编译ServletDemo01.java文件,生成ServletDemo01.class文件。在软件上面点击Build-->Build Project,等待片刻,生成out文件夹,里面包含编译后的class文件

 5、编写web.xml配置文件

<?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">
    <servlet>
        <servlet-name>ServletDemo01</servlet-name>
        <servlet-class>com.cxyzxc.www.servlet01.ServletDemo01</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>ServletDemo01</servlet-name>
        <url-pattern>/demo01</url-pattern>
    </servlet-mapping>
</web-app>

4.2 手动部署项目

1)在Tomcat服务器的webapps文件中,创建一个项目文件夹,例如webProject03

2)将IDEA软件中WEB-INF文件夹整体复制到webProject03文件夹中

3)在WEB-INF文件夹中创建classes文件夹,将编译后生成的ServletDemo01.class文件所在的文件夹一起复制到classes文件夹中

4)启动Tomcat服务器,打开浏览器,在浏览器地址栏中输入http://localhost:8080/webProject03/demo01,可以在Tomcat窗口中看到输出“IDEA中的第一个Servlet案例”内容。

4.3 自动部署项目

上述操作中,虽然是在IDEA软件中完成了Servlet代码的编写以及编译,但是还需要手动将WEB-INF文件夹复制到Tomcat的项目文件夹中去,并需要手动在WEB-INF文件中创建classes文件夹,然后将IDEA中编译后的class文件复制到classes文件夹中,比较麻烦。另外,当你的Java文件改变后,你需要重新编译java文件生成class文件,然后再将class文件复制到classes文件夹中,再重新启动Tomcat服务器才能访问资源,非常的麻烦。所以,我们可以在IDEA中集成Tomact服务器,实现自动部署。

4.3.1 IDEA集成Tomcat

1、 点击File-->Settings...

 2、选择双击Build,Execution,Deployment-->Application Servers,点击+号,选择Tomcat Server

 3、选择Tomcat服务器的安装路径,点击ok,Tomcat服务器就集成到IDEA中了

4、再次点击File-->Settings...-->Build,Execution,Deployment-->Application Servers,点击+号,选择Tomcat Server,可以看到Tomcat服务器在IDEA中

4.3.2 IDEA部署JavaWeb项目

1、点击Run或者软件右边绿色锤子旁边下拉框,选择Edit Configuration...

 2、点击图示中任意一个选项,进入添加运行配置界面

 3、配置Tomcat Server和运行项目的默认浏览器

 4、添加项目到Tomcat中并设置访问名称,最后点击Apply,部署成功

5、点击Run或着绿色箭头进行测试,以下情况表示运行成功

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

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

相关文章

MFC树控件的属性和初始化(基于对话框的编程)

目录 一、控件属性 1.找控件Tree Control 2.Has Lines和Has Buttons属性 3.Lines At Root属性 二、代码操作Tree Control显示内容 1.添加Tree Control变量 2.在OnInitDialog中添加初始化代码 3.设置图标 3.1导入icon 3.2 写入加载图片代码 3.3添加节点 4.设置默认选…

抗击疫情静态HTML网页作业作品 大学生抗疫感动专题页设计制作成品 简单DIV CSS布局网站

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

HTML期末大作业(HTML+CSS+JavaScript响应式游戏资讯网站bootstrap网页)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

12月5日:thinkphp模板

今天学习ThinkPHP中的模板部分内容 接口开发&#xff0c;看不到dom结构&#xff0c;页面信息都是通过js或者一些其他技术引入 模板&#xff1a;是用来渲染前端页面&#xff0c;在后端的api接口开发中并不会常用到模板&#xff0c;但是后台管理页面却会使用MVC模式开发&#xf…

Camera API2使用流程分析

1.首先看下framework层CameraService服务初始化流程分析 <1>. main_cameraserver.cpp的路径 /frameworks/av/camera/cameraserver/ CameraService::instantiate&#xff08;&#xff09;实际调用的是BinderService中的函数&#xff0c;因为CameraService是继承BinderSer…

[附源码]计算机毕业设计JAVA疫情状况下生活物资集体团购系统

[附源码]计算机毕业设计JAVA疫情状况下生活物资集体团购系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a…

学习ITIL4又给数字人带来哪些优势

2019新的ITIL 指南将被称为ITIL 4。这个名称反映了ITIL 4 在支持个人和组织应对第四次工业革命方面的作用。 IT 是当今世界每个企业的核心。该更新将使ITIL 能够反映我们所处的快节奏和复杂的环境&#xff0c;以及新的工作方式和新兴实践&#xff0c;所有这些都不仅对于ITSM 专…

鹿蜀:一个基于日常开发任务体现开发人员工作状况的系统

一、背景 为了能够更方便、更直观的让Boss&#xff0c;让同伴&#xff0c;让自己了解到自己近期的工作情况&#xff0c;我拉了一个小队&#xff0c;利用农闲的时间&#xff0c;结合已有的项目管理系统中的数据&#xff0c;开发了一个新系统&#xff0c;名叫 “鹿蜀”。 二、系…

K8s 实战 动态PV StorageClass 存储类

前面我们学习了 PV 和 PVC 的使用方法&#xff0c;但是前面的 PV 都是静态的&#xff0c;什么意思&#xff1f;就是我要使用的一个 PVC 的话就必须手动去创建一个 PV&#xff0c;我们也说过这种方式在很大程度上并不能满足我们的需求&#xff0c;比如我们有一个应用需要对存储的…

说说你对slot的理解?

首先&#xff0c;大概了解一下插槽&#xff1a; 插槽是什么 ![在这里插入图片描述](https://img-blog.csdnimg.cn/90b04660769e49c286ee2e1821d2a2bb.png 插槽&#xff1a;在HTML中 slot 元素 &#xff0c;作为 Web Components 技术套件的一部分&#xff0c;是Web组件内的一…

【蓝桥杯选拔赛真题33】python回文数升级 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 ​编辑 python回文数升级 一、题目要求 1、编程实现 2、输入输出

Spring 框架介绍和使用

微信公众号&#xff1a;运维开发故事&#xff0c;作者&#xff1a;老郑 历史的选择 Spring 作为一个基础的框架&#xff0c;是在 Java EE 开发历史中&#xff0c;是成千上万公司选择。单独使用 Spring 的非常少了&#xff0c;很多都是用 Spring-Boot/Spring-Cloud 来开发&…

文件系统监视器

QFileSystemWatcher类通过监视指定路径的列表来监视文件系统对文件和目录的更改。 构造函数&#xff1a; 常用函数&#xff1a; addPath&#xff08;&#xff09;添加路径addPaths&#xff08;&#xff09;添加多个路径directory&#xff08;&#xff09;返回正在监视的目录的…

【JS】数据结构之队列

文章目录基本概念代码实现基本概念 队列&#xff1a;它是一种运算受限的线性表&#xff0c;FIFO&#xff08;先进先出&#xff09;特性&#xff1a;它只运行表的前端进行删除操作&#xff0c;在表的后端进行添加操作面对无法同时处理多个请求的场景&#xff0c;我们通常就会使…

HTML小游戏16 —— 消除游戏《魔法石》源码(附完整源码)

&#x1f482; 网站推荐:【神级源码资源网】【摸鱼小游戏】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计…

计算机组成原理(一)计算机系统概论

目录前言计算机硬件的组成和分类冯.诺依曼结构的基本思想运算器存储器控制器程序和指令控制器的基本任务指令流和数据流适配器与I/O设备输入设备计算机软件的组成与分类计算机系统的层次结构计算机系统的性能指标软硬件逻辑的等价性前言 计算机组成原理这门课可以说是计算机专…

b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买…

Aqwa 带你掌握船舶与海洋工程水动力理论与工程应用

作者&#xff1a;高巍&#xff0c;仿真秀科普作者 一、写在前面 20世纪60年代欧洲北海发现了储量丰富的油气资源&#xff0c;随着1973年第二次石油危机的到来&#xff0c;欧洲国家能源自主的迫切需要推进了北海油气资源的开发进程&#xff0c;推动了海洋工程技术发展。 为了…

【多线程(三)】生产者和消费者模式

文章目录3.生产者和消费者模式前言3.1生产者和消费者模式概述3.2生产者和消费者案例3.3 阻塞队列基本使用3.4 阻塞队列实现等待唤醒机制总结3.生产者和消费者模式 前言 在线程世界里&#xff0c;生产者就是生产数据的线程&#xff0c;消费者就是消费数据的线程。在多线 程开发…

SQL SERVER数据库修复之REPAIR_ALLOW_DATA_LOSS级别简介和实例

目录 &#xff08;一&#xff09;前言 &#xff08;二&#xff09;关于DBCC CHECKxxx系列命令 1. DBCC CHECKALLOC 2. DBCC CHECKCATALOG 3. DBCC CHECKDB &#xff08;1&#xff09;基本概念 &#xff08;2&#xff09;基本语法 &#xff08;3&#xff09;参数说明 &…