authorship.gif arc ims 第一讲


当规划一个
ArcIMS的站点时,第一个面临的问题就是“我要选择什么样的客户端?”这是一个很难回答的问题。ESRI提供了三种viewer以供选择。然而,通过选择不同的连接器——ServletActivXColdFusionAppServerLink连接器——可以获得一个不同寻常的客户端。所以,当我们考虑使用什么Viewer时,选择什么样的连接器同样是一个需要仔细考虑的问题。下面的讨论可以帮助ArcIMS的用户,开发商和管理员决定最合适的连接器和Viewer的组合。

 

ArcIMS客户端组件

Viewers决定了ArcIMS站点的功能和外观,决定了提供哪些空间、属性查询工具和显示工具。ArcIMS提供了三种Viewer选择。

 

HTML Viewer

HTML Viewer由一组HTMLJavaScript程序组成。它比任何一种Java Viewer都更轻巧,但不是最瘦的viewerViewer的胖或瘦代表了需要下载到浏览器的数据量。选择HTML Viewer的一个主要原因是它的功能的可扩展性。通过DHTMLJavaScriptXML和其他技术,我们可以对已有的功能进行扩展。不需使用任何ArcIMS连接器,我们仍然可以在HTML Viewer中使用Active Server Pages(ASP)ColdFusionJava技术。但是,HTML Viewer同时只能显示一个Image MapServiceImage MapService将结果以JPGGIFPNG格式发到客户端——与Feature MapService数据流的发送方式不同。

 

Java Viewer

ArcIMS提供两种Java Viewers——Java Standard ViewerJava Custom ViewerJava Viewer通过Java applets提供地图服务和信息查询。Java applet不同于servlet,它运行在客户端,不是服务器端,并且必须下载到客户端。因此,Java客户端比其他的客户端更胖。通过Java viewer浏览网站,用户必须首先下载两个plug-ins

Java Standard Viewer无法定制工具或布局。而Java Custom Viewer可以通过HTMLJavaScript调用applets进行定制。因为Netscape不支持applet编程,因此Java Custom Viewer不能在Netscape浏览器中使用。

所有的Java Viewers都可以支持Image Feature MapServices,并且支持同时使用多个MapServicesFeature MapService使用数据流,因此可以支持客户端的用户交互和分析功能。

 

应用服务器连接器

 

ArcIMS应用服务器连接器连接了Web服务器和ArcIMS应用服务器。其中Servlet连接器——ArcIMS的默认连接器——可以用在ArcIMS的所有三个Viewers中。ColdFusionActiveX连接器通过定制的客户端将各自的语言翻译为ArcXML,用来和ArcIMS的应用服务器进行通讯。AppServerLinkJava应用向ArcIMS应用服务器发送ArcXML请求的通道。它可以用于独立的Java应用,或网站调用的Java applet,或构建网站的JavaServer Pagers(JSP)中。

 

Servlet Connector

Servlet是运行在服务器端的Java应用。如果使用servlet,需要Servlet Engine软件的支持。如果Web Server本身不包含Servlet Engine,则需要第三方的Servlet Engine软件。通过Servlet Connector建立的站点几乎可以支持任何Web ServerViewer的组合。通过ArcIMS Designer可以创建Servlet Connector连接的站点,而且只需要很少的编程工作就可以建立一个基本的,但稳固的站点。

 

ActiveX Connector

通过ActiveX Connector,可以使用ASP进行网站的开发。VBScript HTMLJavaScriptXML可以用来定制网站。ASP在服务器端解释并被以只读的格式传送到浏览器。客户端不需要下载任何东西。ActiveX Connector定制的客户端与HTMLJava Viewer相比是更瘦的客户端。ActiveX Connector需要基于Microsoft Windows的服务器,Web Server必须是Microsoft Internet Information Server(IIS)。客户端可以是任何浏览器,不需要插件支持。ActivX Connector还可以被用在独立的VB应用中,使用方式类似于MapObjects的应用。在开发文档中,ESRI提供示例程序和对象模型图。但是,它的功能没有HTMLJava Viewer那么强大。

 

ColdFusion Connector

ColdFusion Connector非常类似于ActiveX Connector,因为它的代码位于服务器,并被翻译为浏览器可以识别的格式。ColdFusion使用ColdFusion标记语言(CML),一种类似于HTML的可以被ColdFusion服务器解释的标记。该连接器可以用于WindowsUNIX服务器上的大部分Web ServerWeb Server上必须安装ColdFusion服务器。ColdFusion Connector定制的客户端与HTMLJava Viewer相比是更瘦的客户端,也不需要插件的支持。可以通过ColdFusion标签,HTMLJavaScriptXML搭建ColdFusion站点。ESRI提供入门示例帮助建立站点,但功能没有HTMLJava Viewer强大。可以通过安装ColdFusion Studio——ColdFusion的开发环境,使得开发过程变得更容易。

 

AppServerLink

AppServerLink为开发基于JavaArcIMS Viewers提供了更多的选择。通过AppServerLink,可以编写Java独立应用,appletsJSP。搭建Java独立应用的过程很类似于编写MapObjects的应用。象Java版本的ArcExplore一样,Java的独立应用可以使用ArcIMS的数据和信息;还可以应用applets建立类似于Java Viewers的站点,但这种方法提供了更灵活的定制手段。

最后,通过AppServerLink,还可以使用JSP——Java Servlet技术的扩展——建立类似于ASPColdFusion的站点。通过JSPJavaHTMLJavaScriptXML编写全部的代码。服务器将代码解释成浏览器可读的格式。JSP是另外一种不需要任何浏览器插件支持的瘦客户端,但它需要服务器端的Servlet 引擎的支持。但是,因为ArcIMS需要Servlet引擎,因此不需要额外的资源。ESRI提供java类的API,以及应用JavaBeans使用AppServerLink的一些JavaJSP Viewer的示例。

 

如何做出选择

当考虑如何选择连接器和Viewer时,面对的用户和所需的功能是需要重点考虑的两个问题。站点是建立在Intranet还是Internet?用户使用什么浏览器?用户的GIS背景?需要使用什么功能?定制的工作量有多大?

如果要建立一个Intranet站点,Java Viewer可能是个明智的选择。在一个机构内部,要求用户事先安装插件或在桌面端下载并安装插件相对容易。Java Viewer支持更丰富的功能,如MapNotesEditNotes,这是HTML Viewer所不支持的。一旦客户端加载了applets,地图的显示和查询速度将非常快,但相对于其他的ViewersJava Viewer的定制功能非常有限。

如果要建立一个Internet站点,可以考虑HTML ViewerActiveX ConnectorColdFusion ConnectorAppServerLink。使用HTML Viewer的主要原因是不需定制,就可以获得强大的功能。ArcIMS Designer输出了一组预先定义好的功能。HTML Viewer的文档详细描述了它的功能,变量和方法。并且HTML Viewer支持所有平台的客户端和服务器。开发者只需熟悉HTMLJavaScript就可以通过HTML Viewer建立站点。HTML Viewer的主要缺点是它比其他连接器的客户端胖,响应时间慢,特别是当访问大数据量时。

其他定制连接器建立的客户端更瘦,因为代码位于服务器端并且不需下载到客户端。我们可以根据两个主要因素——环境和资源——选择连接器。如果使用Windows服务器上的Microsoft IIS,可以选择ActiveX Connector;如果不是,选择任何连接器都是可行的。对于UNIX服务器,可以选择ColdFusionAppServerLink连接器,但ActiveX Connector不行。

选择Connector的另一个重要因素是你所掌握的开发手段。如果熟悉VB,可以使用ActiveX Connector。同样地,如果开发人员掌握ColdFusion,则ColdFusion Connector可能成为最佳选择。对于所有连接器,HTMLJavaScript简单易学,是必须掌握的开发手段。所以如果你不熟悉其他的开发方式,HTMLJava Viewer是最佳的选择。如果使用AppServerLink,则需要Java编程的经验。而对于初学者来说,Java不是很容易入门。虽然所有的连接器都备有开发文档,但Servlet Connector的文档是最完整的。


                                                                       authorship.gif arcims 第2讲


这篇文章假设读者熟悉使用
ArcIMS Manager工具(包括三个部分:AuthorAdministrator Designer)创建一个简单站点的过程,现在希望使用ArcXML实现更多的功能或改变地图的显示——ArcXMLArcIMS用来在各组件之间进行通信的文件格式。这篇文章除了详细介绍如何通过在地图配置文件中添加ArcXML元素扩展ArcIMS功能外,还概括介绍了ArcXML的结构和语法。在ArcUser Online站点上提供了三个循序渐进的教学例子。请登录站点http://www.esri.com/arcuser下载教学例子和数据。

当用ArcIMS程序创建基本的ArcIMS 站点时,Author把用户选择的数据(例如:ShapefilecoverageArcSDE层、图象等)整理成地图的图层;设置显示比例尺,要素表现特性,和地理编码;并输出一个用ArcXML写的地图配置文件。Administrator用这个地图配置文件生成一个MapserviceArcIMS 空间服务器解析用户请求并进行相应的处理,根据地图配置文件中的定义把这些数据组织在一起发送给客户端。

ArcXML
源于XMLHTML有相似的地方,是SGML的子集;它是一种发展了的标记语言;描述结构数据的内容而不是数据的表现。 ArcXML文件是文本文件,以.axl结尾,可以编辑。ArcXML定义了MapService的内容以及从客户端发出的请求,ArcIMS响应,各业务逻辑层和服务器之间的通信的内容。通过在地图配置文件里手工添加元素和元素的属性,可以实现一些不能通过Author实现的功能,例如更多的表现方法和标注选项,数据源,表联接以及其他的功能。

ArcXML
结构和语法
所有的ArcXML语句由元素和属性组成,这些元素和属性以等级结构组织在一起。在这种等级结构下,元素被分为父元素和子元素,子元素嵌在父元素的里面。多数的元素都有一个或多个由名称/值对组成的属性。一些ArcXML元素要求必须指定一些属性。如果在地图配置文件里没有指定元素的属性,系统会使用缺省属性。

当写元素和属性时,必须严格遵守ArcXML语法,否则不能创建Mapservice。元素必须被大写,并象HTML一样用小于(<)大于(>)号封闭。属性必须小写,属性值必须用双引号括起来。一次只能定义一个属性值。

ArcXML
程序员参考指南
元素和属性的用法可以参考 “ArcIMS程序员参考手册。这本手册以PDF格式随ArcIMS发送,是用户了解和学习ArcXML元素和属性的非常有帮助的资料。它列出了所有的ArcXML元素以及与之相关的属性的详细描述。每一个元素的必要属性用粗体表示。所有的属性都列出了定义的值或值的类型。

例如,对元素HASHLINESYMBOL的描述包括有效定义的值(如,type属性的foreground background值)和允许的值的类型(如,color 属性值从000 255255255)。属性默认值用方括号括起来。元素介绍开头的地方都有指向父元素和子元素的超联接。必要的子元素用粗体表示。另外,该手册还包含了一些如何使用ArcXML元素和属性的例子。在ArcOnline站点上也可以得到“ArcIMS程序员参考手册

给地图配置文件中添加要素
可以使用简单的文本编辑器或XML编辑器编辑地图配置文件,例如微软的WordpadnotepadAltova公司的XMLSpyIBMXeena(如在中文环境下,则需要支持unicode的文本编辑器,如emeditor)。除非在Administrator里刷新了Mapservice,对地图配置文件的修改不能立即显示在客户端。刷新MapService会使地图配置文件被重新读入,并把所做的改变反映在MapService里面。

编辑地图配置文件时,必须严格遵守ArcXML语法,地图配置中的任何错误都会导致Mapservice不能被刷新,并且会导致MapserviceAdministrator中被删除。消息控制台可以从Author或者Administrator中的Help -> Message Console菜单进入。消息控制台是用来显示ArcIMS产生的错误和警告。下面的部分用来描述怎样通过使用符号化、标注和图形元素来改变地图的显示或者查询数据和连接表。

改变要素符号化
有三个ArcXML元素用来表示如何符号化点线面数据。要素数据用下列的元素表示:

SIMPLERENDERER
使用同样的符号画所有的要素,
VALUEMAPRENDERE
使用表里的一个字段画要素,
SCALEDEPENDENTRENDERER
仅仅画一个特定比例尺范围里的要素。
一层里的多个表现方法元素必须包含在一个GROUPRENDERER里。每一个表现方法元素都包含了一个子元素,用来定义要素如何显示。

有多种符号元素,符号元素对要被表现的要素类型来说是特定的,例如; SIMPLEMARKERSYMBOL只能用于点要素,虽然HASHLINESYMBOL元素在Author里可以用来表示铁路,但是一些属性例如宽度和间隔可以在地图配置文件中修改,这些改变可以覆盖它的默认属性,从而重新定义如何画HASHLINESYMBOL元素。

要素的符号化也能基于一个字段。VALUEMAPRENDERER元素能够根据一个字段的值为一层要素分类,根据这个分类,它可以使用连续的或者唯一的符号表现数据。

EXACT
RANGE、和OTHER这三个和VALUEMAPRENDERER一起使用的子元素指定了要被符号化的值。使用EXACT元素用一个特定的值表现要素,然而使用RANGE时使用一个范围来表现要素。OTHER元素用来表现不包含一个特定值的要素,例如一个特定的TRUE TYPE符号用来表示首府城市,其他的城市都用一个简单的点符号表示。

有些符号元素,例如GRADIENTFILLSYMBOL TRUETYPEMARKERSYMBOL元素在Author界面上无法定义,只能使用ArcXML定义。通过ArcXML可以使用ESRI定义的许多点符号。

标注要素
标注属性用两个标注元素来定义(SIMPLELABELRENDERERVALUEMAPLABELRENDERER)前者为所有的要素设置了同样的标注属性,后者根据一个数据库里的值定义标注属性。Author能够设置层的标注属性,例如标注子段,标注位置和字体特征。在层属性对话框中只能指定一个字段。Author也能够为标注元素添加子元素,例如为文本标注添加TEXTSYMBOL和为高速公路标注添加SHIELDSYMBOL

手工编辑地图配置文件为标注提供了很大的灵活性。例如:使用外边框和箭头标注要素的CALLOUTMARKERSYMBOL元素有一些包括箭头的长度在内的定义字体和外边框的符号的属性。

表现方法元素属性能改变标注出现的位置和频率。 当使用SIMPLELABELRENDERER元素时允许使用多个字段做标注。以同样的过程,使用VALUEMAPLABELRENDERER元素的labelfield属性连接标注。

点要素的labelpriorities属性用于点要素的标注定位,labelbufferratio属性在每一个标注周围建一个缓冲区,这样其他标注就不能放置在离它一定距离之内的范围。Howmanylabels属性控制了要画的标注的方法——是一个要素图形一个还是要素每个部分都标,或一个要素名称标一个。

使用图形元素
LAYERtype属性设置为acetate可以在地图上面加一个图形层。Acetate层在数据层上又添加了一个图形层,它只能用于HTML Viewer。缺省情况下,Acetate层里的OBJECT子元素有:指北针,比例尺和版权文字。通过往地图配置文件里添加新的LAYER元素可以往acetate层添加新的OBJECT对象。

每一个新的LAYER元素的type属性必须设置为acetate。在LAYER元素里有一个或多个OBJECT子元素,每个OBJECT元素都有一个units属性,其值可以是pixeldatabase。如果units属性被设置成pixel,对象将使用以地图左下角坐标为原点的像素坐标。如果units属性设置为database,对象将使用地图服务的地图坐标。

除了指北针和比例尺,一些点线面图形或文本都可以添加到acetate层,并允许把一些由文字和徽标组成的标题添加到新的LAYER元素里。通过往POINT元素里添加RASTERMARKERSYMBOL元素可以添加图像。POLYGON元素可以包含SIMPLEPOLYGONSYMBOL元素,通过把它的overlap属性设置为false可以防止标注压盖acetate层的边框。还有一些对象,如复制地图坐标网格线的LINE对象元素,也可以添加到地图显示中来。

查询数据和联接表
基于空间条件或关系数据库查询数据是GIS的基本功能。空间查询和数据库表查询能够通过使用SPATIALQUERY元素实现。这个元素根据空间查询或表查询或两者结合查询的结果在地图上画要素。SPATIALQUERY还能实现一些简单的表联接。

表查询的语句放在SPATIALQUERY元素的where属性里,格式和SQL语句里的WHERE子句一样,所有满足where属性条件的要素将被画在地图上。在要用到符号的查询语句里,如大于小于号,必须在where属性里使用这些符号的代替值。

空间过滤器定义了空间查询的范围。范围可以是一个矩形,点,多边形或缓冲区。所有的在空间过滤器里的要素都将被画在地图上。SPATIALFILTER元素用在SPATIALQUERY里面,一般定义为使用矩形空间过滤的ENVELOPE元素或定义为使用顶点定义的多边形。无论哪一种都指定了空间过滤器的范围。SPATIALFILTER元素的relation属性指定了空间过滤器是个围绕在图形周围的矩形(envelope intersection)还是就是图形本身的区域(area intersection)。

SPATIALQUERY
元素还能够用来联接dBASE DBF)文件和shapefiles或用来联接ArcSDE的表。Shapefile的层只能和同一目录下的DBF文件相连,ArcSDE的表只能和同一DBMS下的表相连。在SPATIALQUERY元素里要指定主表(TO 表),字段名,连接表(join 表),字段名以及联接类型。Exact联接适合于一对一或多对一关系。Scan联接对一对多或多对多最有效。


结论
通过了解ArcXML的结构,元素和属性,我们知道ArcIMS的功能可以通过修改地图配置文件里的元素来进行扩展。ArcUser站点提供了三个用来展示如何手工修改地图配置文件的教学例子。请登录www.esri.com/arcuser下载教学例子以及实验数据。要了解更多的有关ArcXML和地图配置文件的内容请参考《ArcXML Programmer&acute;s Reference Guide》。


                                                     authorship.gif arcims讲座三:怎样设置ArcIMS的权限验证

ArcIMS Servlet Connector 允许为MapService(地图服务)设定访问权限,这样只有被授权的用户才能访问他们。这个过程被称为权限验证。默认的,不进行权限验证,Servlet Connector将所有请求发给ArcIMS Application Server(应用服务器)。但是,你可以通过配置Servlet Connector来验证客户端:

* 是否有有效的用户名和密码
* 是否可以从特定的机器(通过IP地址判断)访问MapService
* 是否有未过期的访问权限(如未服务设定了有效期)
* 是否有特定请求的访问权限(如是否能执行地址匹配功能)

当接到从客户端发来的请求,Servlet Conncctor首先检查是否为MapService设定了权限验证。如果设定了,Servlet Conncector从客户端获取必要的信息--如用户名,密码--然后确定是否满足条件。如果条件满足,请求将被发给Application Server。否则,将会提示用户无权访问该MapService。

Servlet Conncctor通过访问控制列表(ACL)来管理限定的和非限定的MapServices以及权限验证信息。ACL有两种格式:基于文件的ACL和基于JDBC的ACL。

基于文件的ACL的主要优点是容易建立,不需要其他的部件支持。基于文件的ACL将权限信息保存在XML文件中,该文件可以通过任何文本编辑器建立。在这个文件中,你可以定义哪个MapServices被限定以及如何访问他们--如包含所需的用户名和密码。当Servlet初始化时,这个文件的内容被加载进内存。因此,如果你编辑了ACL文件,需要重新启动servlet engine (如果servlet engine 嵌入web服务器,则需要重启web服务器)使你的更改生效。而且,在ACL文件中定义的用户数量的增加会导致web服务器的内存使用量的增加。

基于JDBC 的ACL将权限信息保存在通过JDBC驱动程序访问的关系型数据库中。JDBC的ACL可以比文件的ACL管理更大量的用户和MapService。而且,如果你需要频繁更改ACL,基于JDBC 的ACL可以不终止服务,即不需要重新启动servlet engine,而使更改立即生效。为了使用基于JDBC的ACL,你必须运行一个关系型数据库(如Oracle),并且有它的JDBC驱动。

注意:只有通过ArcIMS Servlet Connector处理的HTTP请求,才可以使用权限管理,其他连接器(如ActiveX Connector)不可用。

基于文件的ACL的权限验证
下面表明了通过XML文件设置MapServices的权限验证的步骤:

第一步:创建地图配置文件,设计web站点。
通过Author创建地图配置文件(AXL),然后通过Designer设计站点的外观。
注意:Designer不能访问到被限定的MapServices;所以,你必须在限定权限之前生成站点。

第二步:编辑Esrimap_prop文件。
定位Esrimap_prop文件所在目录,因为servlet engine不同,安装的目录有所不同,并用文本编辑器进行编辑。注意ArcIMS在Windows 的<installation directory>ConnectorsServlet或UNIX的< installation directory>/Middleware/Servlet_Connector目录下安装了Servlet Connector的一套备份文件。不要编辑该目录下的文件,它不会影响Servlet Connector的操作。
按照下面的提示设置属性。你可以简单地通过移走Esrimap_prop文件中的注释字符(#)设置许多属性。这些属性名称大小写敏感,但属性值不敏感。在ArcIMS Servlet Connector 属性文件中详细地描述了这些属性。
注意:如果你同时为基于XML文件和基于JDBC的ACL设置了属性,那结果将使用JDBC的设置。
enable=True
使用ArcIMS Servlet Connector.

authenticate=True
使用Servlet Connector的权限验证

authMethods=Basic
两种权限验证的方法: Basic和Digest.。Digest 更安全,但不是所有的浏览器都支持。

authenticateWithSessions=True
允许Servlet Connector更高效地处理客户端的请求。

sessionTimeout=120
大多数情况下,120秒应该足够了。

aclFileName=< ACL 文件的全目录>/aimsacl.xml
一般地,你可以将ACL文件放在与Esrimap_prop文件相同的目录下。表示目录的斜杠必须是"/"。

realm=ArcIMS Network
当提示用户输入用户名和密码时,realm名显示在对话框上。

第三步:创建保存访问控制列表的XML文件。
用文本编辑器创建XML文件。该文件表明哪个用户有权访问哪个MapServices。
需要牢记的是:

* 确认按照在Esrimap_prop文件的aclFileName属性中定义的文件和目录名命名并保存该文件。
* 用户名和密码是大小写敏感的。
* 在ACL文件中定义的MapService的名字必须与在Administrator中的完全一致。
* 只有在ACL文件中列出的MapServices才可用,即使你还有其他的MapServices在Administrator中运行。

下面的ACL文件包含一个限定的MapService和两个非限定的MapServices。
<?xml version="1.0"?>
<AIMSACL>
<USER name="*" services="SanFrancisco, World" />
<USER name="private" password="gray.hair" services="SecretData" />
</AIMSACL>

下面的ACL文件表明了怎样限定特定的机器访问限定的MapService,还增加了一个可以访问所有MapServices的用户。
<?xml version="1.0"?>
<AIMSACL>
<USER name="*" services="SanFrancisco, World" />
<USER name="private" password="gray.hair"
services="SecretData" trustedclients="198.102.62.1,198.102.62.22"/>
<USER name="superuser" password="all.access" services="*" />
</AIMSACL>

关于所有属性的描述,请参见ArcIMS Servlet Connector属性文件。

第四步:如果你使用的是Microsoft Windows 2000和Internet Information Server 5.0 (IIS),你需要为权限验证配置IIS。
在任务栏,点击 开始 | 设置 | 控制面板 | 管理工具 | Internet服务管理器。在左面板,双击机器名,展开树状目录,双击默认的Web站点。如果你运行的servlet engine软件是ServletExec或Jrun,双击Scripts;如果是Tomcat,双击jakarta。在右边面板,右键点击ServletExec_ISAPI.dll,jrun.dll或isapi_redirect.dll,打开属性窗口。
点击"文件安全性"。
在"匿名访问和验证控制"栏点击"编辑"按钮。
取消"集成Windows验证"。

第五步:停止,重启servlet engine。如果servlet engine嵌入web服务器,停止、重启web服务器。
重启servlet engine(或web服务器)使得你在Esrimap_prop文件中的设置生效--通过ACL文件进行权限验证的工作完成了。

基于JDBC的ACL的权限验证
下面表明了通过基于JDBC的ACL设置MapServices的权限验证的步骤。前提条件假定你已经运行了一个关系型数据库,并且你已经安装并配置了JDBC驱动:

第一步:创建地图配置文件,设计web站点。(同基于文件的ACL第一步)

第二步:编辑Esrimap_prop文件。
前部分同基于文件的ACL的第二步,接下来要做的是:
useJdbc=True
使用可通过JDBC访问的数据库存储权限

jdbcDriver=< JDBC驱动的名称>
例如:jdbcDriver=database.sql.jdbc.JDBCDriver。驱动器所在目录必须是servlet engine的classpath设置的一部分。

jdbcUrl=<到数据库的URL >
到数据库的URL存储了访问控制信息。格式为:jdbc:<数据库类型>:@<机器名>.<域>.<组织代码>
如:jdbcUrl=jdbc:oracle:oci8:@arcims_maps.esri.com

jdbcUser=<数据库用户名>
访问数据库的用户名

jdbcPassword=<数据库用户的密码>
特定数据库用户的密码

jdbcUserTable=<数据表名>
数据库中存储有效用户和密码的表名

jdbcPermTable=<数据表名>
数据库中包含MapService名和特定用户访问权限列表的数据表名。

jdbcUidColumn=<数据库表字段名>
在数据库用户表和权限表中都存在的用户代码字段名

第三步:停止,重启servlet engine。如果servlet engine嵌入web服务器,停止、重启web服务器。(同基于文件的ACL第五步)

第四步:在关系型数据库中创建用户表
用户表包含了你希望访问你的MapServices的用户的名称和密码。它还包含了一个唯一的用户代码,ArcIMS通过它将此表和权限表连接。该表名必须与Esrimap_prop文件中jdbcUserTable设置的名称相同。该表必须包含下列字段:

字段名 类型(宽度)
Userid Number(32)
Username Varchar(64)
Password Varchar(64)

为了增加灵活性,你可以将userid字段命名为任何你希望的名称,只要它与Esrimap_prop文件中jdbcUidColumn 设定的名称一致即可。其他两个字段必须为username 和 password。
所有字段的描述信息,可以在ACL属性参考中找到。

第五步:在关系型数据库中为用户表添加记录
为用户表添加用户名和密码。确保userid是唯一的。你可以用*表明该MapServices不需要用户输入用户名和密码就可以访问。

Userid Username Password
1 *
2 USER1 PASSWORD1
3 USER2 PASSWORD2
4 USER3 PASSWORD3

第六步:在关系型数据库中创建权限表。
权限表将每个MapService与一组或多组用户名和密码关联。该表名必须与Esrimap_prop文件中jdbcPermTable定义的名称一致。该表必须包含下列字段:
UserID字段名必须与用户表中定义的名字和Esrimap_prop文件中jdbcUidColumn设定的名称一致。其他五个字段必须命名为以上字段名称。
所有字段的描述信息,可以在ACL属性参考中找到。

第七步:在关系型数据库中为权限表添加记录
为权限表添加用户代码,MapServices名和激活状态。每个记录只包含一个MapServices名。用户代码将MapService与用户名和密码关联起来。你可以增加其他的具有相同用户代码的记录与多个MapServices关联。下表显示了一个基本的权限表的配置。

字段名 类型(宽度)
Userid Number(32)
Service Varchar (64)
Active Number (32)
Expiration Data (格式MM/DD/YYYY HH:MM:SS)
Tclients Varchar (1024)
Ftags Varchar (1024)

你可以有选择地填写其他字段为MapService增加额外的限定条件。如,你可以增加过期时间 (10/16/2001 11:24:30),一组用逗号分开的通过IP地址识别的信任用户列表 (198.102.62.1,198.102.62.22) 和一组用逗号分开的限定功能的标签列表 (GET_GEOCODE,GET_EXTRACT).

第八步:如果你使用的是Microsoft Windows 2000和Internet Information Server 5.0 (IIS),你需要为权限验证配置IIS。(同基于文件的ACL第四步)



authorship.gif arcims 讲座四:ArcIMS(HTML Viewer)定制开发探讨
(以水情监测信息系统原型开发为例)

一、ArcIMS体系结构简介
ArcIMS(Internet Map Server)是ESRI最新推出的第二代互联网上地理信息系统平台,其结构经过特别设计用来满足在Internet上提供地理数据和服务的需要。

多层结构
ArcIMS的多层结构由展示层(presentation Tier),逻辑事务层(Business Logic Tier)和数据存储层(Data Storage Tier)组成。展示层是指ArcIMS Viewers。逻辑事务层由Web Server,ArcIMS应用服务器和ArcIMS应用服务器连接器及ArcIMS空间服务器组成。数据存储层指数据源。各个不同层之间通过ArcXML进行通讯。ArcXML是ArcIMS版本的XML,即可扩展的标记语言(eXtensible Markup Language)。

二、ArcIMS客户:Viewers介绍

ArcIMS Viewers可以全部由HTML组成或包含Java Applets。ArcIMS通过Designer可以生成一种HTML/DHTML Viewer和两种Java Viewer,并在实例中包含了使用ColdFusion和ActiveX连接器的HTML Viewer。ArcIMS还包含一种独立运行的Java Viewer叫ArcExplorer 3。这些viewer可以通过HTML和JavaScript进行修改。

1、HTML/DHTML Viewer
HTML Viewer由HTML,DHTML和JavaScript写成。在HTML Viewer里同时只能支持一个影像地图服务。当用户点击地图或工具后,Viewer生成一个请求并通过Servlet Connector将请求发送到ArcIMS的空间服务器端。当响应返回时,客户端解析响应结果并完成显示操作。HTML Viewer要求4.0或更高版本的浏览器。通过定制Viewer,可以支持低版本的浏览器。

2、使用ColdFusion和ActiveX连接器的Viewer
ColdFusion和ActiveX Viewer同样也是HTML/DHTML机制。他们与HTML Viewer的不同之处在于所有的处理过程都在服务器端完成。请求通过第三方应用服务器生成,响应以HTML页的格式动态返回。这类viewer不需要自己生成请求或解析响应,因此是最瘦的客户端。对于最终用户来说,这两类viewer外观相似,功能相仿,但他们处理请求和响应的方式完全不同。ArcIMS提供了使用ColdFusion和ActiveX连接器的viewer的例子。

3、Java Viewers
与HTML/DHTML Viewer相比,Java Viewer是胖客户端。因为他同时支持影像和矢量地图服务。多个地图服务的数据可以与本地数据一起显示在一个Java Viewer里。Java Viewer通过Java 2 Applet来显示地图和处理请求。

Java Viewer支持矢量数据流和更丰富的客户端的功能。数据临时下载到客户机的高速缓存中。除非需要下载新的数据,其他所有的请求都由客户机来完成当viewer关闭时,临时缓存被清空。

ArcIMS支持两种Java Viewers:可定制的Java Viewer和标准的Java Viewer。它们具有相似的功能。

可定制的Java Viewer通过JavaScript与applets通讯。通过Viewer的对象模型接口(Object Model API)可以定制viewer的功能。同时,可定制的Java Viewer只支持Internet Explorer 4.0和5.0。

标准的Java Viewer不使用JavaScript。所有的工具和功能都是预先设定的,不能通过对象模型接口(Object Model API)进行定制。标准的Java Viewer同时支持Netscape和Internet Explorer 4.0及更高版本。

ArcIMS还包含一个独立运行的、不需要标准浏览器的Viewer,ArcExplorer 3。

Java Viewer需要下载两部分内容。一是使用Java 2 Applet要求的Java运行环境。二是一次性下载的ArcIMS viewer的部件,applet通过这些部件与服务器进行通讯。

三、客户Viewers的定制开发
支持定制开发ArcIMS的客户端有HTML VIEWER与JAVA VIEWER其中HTML VIEWER根据应用服务器连接类型可分为:Servlet connector、ActiveX connector、ColdFusion connector三种。针对以上四种类型的客户都有相应的定制开发方法,ESRI也提供了相应的文挡,本文将重点介绍Servlet connector HTML VIEWER的定制开发方法。

HTML VIEWER由HTML、DHTML及JavaScript组成,因此对HTML、DHTML及JavaScript的熟悉是进行深度定制开发的前提与基础。此外,ArcXML是ArcIMS各部件间用来通讯的语言,对它有一定的了解是十分必要的,而且了解越深,收益越大;最后,如果要操作外部数据库的话,对JSP(JAVA SERVER PAGE)或ASP(ACTIVE SERVER PAGE)以及SQL应有所掌握,掌握越深,见效越快。

HTML是WEB站点设计使用与支持最为广泛的语言,而且相当简单,只需一两天就能够学会,主要用来描述页面的表现形式,HTML周期性地标准化,随着浏览器开发商不断推出新的标志,属性和属性值,这个语言在不断扩大,版本不断翻新。由于Netscape和Microsoft占有了浏览器市场的最大份额,他们领导了HTML新内容的定义。由于这些补充不是正式HTML语言的一部分,他们称其为扩展。大多数扩展最终都会集成到下一个HTML正式版本中。HTML3.2的扩展中有个LAYER标志,使WEB页面可以放上多个重叠文档层,这个LAYER标志对于ArcIMS的HTML VIEWER也是相当重要的。此外,FRAME标志与TABLE标志使HTML VIEWER的布局更为漂亮。

JavaScript是个脚本编程语言,支持Web应用程序的客户机和服务器方构件的开发。在客户机中,它可用于编写Web浏览器在Web页面上下文中执行的程序;在服务器端,它可用于编写处理Web浏览器提交的信息并相应地更新浏览器显示的Web服务器程序。ARCIMS的HTML VIEWER缺省包含一个JavaScript函数库,其中设计了几百个函数和几百个全局变量,是进行定制开发的核心。这些函数按功能进行了分组,以*.js形式保存。当然,你可以改写或补充它,这也是进行深度定制开发所必经的过程,有一个组织良好的Javascript函数库,决定了开发的效率与质量。本文的重点与创新也在于JavaScript函数库的设计。下面的代码片段展示了如何创建自己的Javascript函数库:

// debugflag.js
//===================================================================
//NOTES: 2/24/2001

debugflag.js中的全局变量和函数主要用来调试跟踪其它Javascript函数库中的函数及全局变量,因此其它Javascript函数库中的函数要做相应的修改,修改可以手工操作,也可以程序方式批量操作。
//======================================================================
//用于调试的开关变量设计
var aimscommon = false; // debug flag for aimsCommon.js
var aimscustom = false; // debug flag for aimsCustom.js
var aimsmap = false; // debug flag for aimsMap.js
var aimslayers = false; // debug flag for aimsLayers.js
var aimsdhtml = false; // debug flag for aimsDHTML.js
var aimstracker = false; // debug flag for aimsTracker.js
var aimsclick = false; // debug flag for aimsClick.js
var aimsselect = false; // debug flag for aimsSelect.js
var aimsidentify = false; // debug flag for aimsIdentify.js
var aimslegend = false; // debug flag for aimsLegend.js

var call_display ;
var current_loc ;
var first_debug=false;
var alert_display ;

//用于以信息列表框方式显示调试信息,其中dflag为调试开关变量,func_name为被调试
函数名,file_name为被调试函数所在的js文件名
function debugfun(dflag,func_name,file_name) {
if(dflag) {
//call_display,current_loc,first_debug是上面所定义的全局变量,TopFrame是HTML叶面中一框窗名
call_display = call_display+"||"+current_loc + "|" + file_name+":"+func_name+"nr";
if(first_debug) {
if(call_display.length > 4000) {
parent.TopFrame.document.writeln(call_display);
call_display = "";
first_debug = false;
}
}else{
parent.TopFrame.document.writeln(call_display);
call_display = "";
}
}


//用于以弹出对话框方式显示调试信息,其中dflag为调试开关变量,func_name为被调试
函数名,file_name为被调试函数所在的js文件名,alert_str为所要显示的调试信息

function debugfun_alert_fun(dflag,func_name,file_name,alert_str) {
if(dflag){
//alert_display,current_loc是上面所定义的全局变量,MapFrame是HTML叶面中一框窗名
alert_display = "||"+parent.MapFrame.current_loc + "|" +
file_name+":"+func_name+"nr"+alert_str;
alert(alert_display);
}
}


面的代码片段展示了其它Javascript函数库中的函数要做相应的修改:
// aimsDHTML.js
// move layer to x,y
//下面这个函数是aimsDHTML.js中的函数,具有图层位置移动功能

function moveLayer(name, x, y) {
//用于调试的语句,设置全局变量current_loc
current_loc = current_loc + ":moveLayer";
//用于调试的语句,调用debugflag.js模块中的调试函数debugfun
debugfun(aimsdhtml,"moveLayer(name=" + name + ",x=" + x + ",y=" + y,"aimsDHML.js");

//以上增加的两句用于调试版,在正式版中可以去掉
var layer = getLayer(name);
if (isNav4)
layer.moveTo(x, y);
//if (document.all) {
else {
layer.left = x;
layer.top = y;
}
//用于调试的语句,恢复全局变量current_loc的设置,其中string_rtrim是aimsCommon.js
中的一个函数
current_loc =string_rtrim(current_loc,":moveLayer");
//以上增加的一句用于调试版,在正式版中可以去掉 }

JavaScript的一个最重要的功能是基于对象(Object-Based)功能的支持,这一点使JavaScript程序的设计更加简单,直观,结构模块化以及代码可复用。但是,JavaScript是个脚本语言,而不是完整的编程语言,它不支持分类,继承,包装和信息隐藏等面向对象编程的基本功能。至于对象编程的详细规范在此不做介绍,如有兴趣,可阅读相关文档。
ArcXML在不同部件间通讯。ArcXML文件类似于HTML页。但区别在于,HTML用于显示,而ArcXML用来描述内容。如果熟悉HTML及XML,手边有一本ArcXML参考手册或电子文档,使用起来相当简单,在此不再多言。

JSP或ASP是服务器端的脚本环境,功能接近,开发者可根据系统需求及个人喜好选择其一,至于各自的优缺点及使用方法,在此不做介绍。本文所提到的开发系统原型选择了ASP技术。

四、示范ArcIMS开发方法的水情监测信息系统原型的目标及需求

(1)系统建设目标
从某省水利厅信息管理工作来看,当前的首要任务是在汛期来临之际,对各重要地区的水情进行实时监测和有效管理,为相关决策部门提供实时的水情数据,以确保防汛工作科学有效地展开。

(2)系统需求
该系统需实现的功能如下:

* 浏览器端可对相关地图进行放大、缩小、平移、索引图等功能;
* 可分图层浏览、显示,并以图上点击、输入监测站名、输入地名、给定范围等多种方式查询监测站信息;
* 图上监测信息可由客户端选择组合标注;
* 可进行图形、属性的双向查询;
* 可动态显示监测数据的统计曲线图和柱状图;
* 对超过警戒水位的监测站点进行自动报警。

五、示范ArcIMS开发方法的水情监测信息系统原型的技术路线分析与方案配置
考虑到全省水文监测站近三百个且分散分布,采用基于Browser/Server分布式计算模式的WebGIS作为应用与开发平台应该是最经济,最合理的。每个水文监测站会定期地将所测数据通过网络传入水利厅的数据库中,因此对属性数据库的网络存取也是本系统的重点,要做到属性数据库与空间数据库,静态数据库与实时数据库的完美整合。

采用基于Browser/Server分布式计算模式的WebGIS的优点:

1、客户端维护工作量很少;
2、有利于研究区域内分散分布的监测站实时数据的集中收集与处理;
3、操作界面统一且简单,可节省培训成本;
4、系统的扩展与升级集中在服务器端完成,浏览器可以很快地分享到系统升级带来的高效;
5、信息高度共享,提高了相关部门协调工作和相互交流的能力。

ArcIMS是ESRI新一代的基于Web的制图和GIS软件。对于最终用户来说,它提供了一种更为快速、廉价的方式以获取地理信息。从前面章节的介绍中可以看出,ArcIMS是一个理想的WebGIS平台,所以本系统选择它作为水情监测信息的收集与发布平台。

Web server的性能对于WebGIS应用很关键,特别在并发访问数非常高的情况下,ArcIMS可以支持多种Web服务器,考虑到是一个原型系统,选择了Microsoft的IIS(Internet Information Server)。

数据库方面,Microsoft的SQL Server是一个价格不贵,适合于中型应用的数据库平台,所以本原型系统选择了它。

ASP(Active Server Pages)内含于IIS中,与IIS运行于同一进程,能更快,更有效地处理客户请求。ASP提供了更简单,更方便的数据库访问方法,所以,本系统选择了它。
系统配置如下:


authorship.gif arcims 讲座五:ArcIMS 3开启分布式GIS新篇章

ArcIMS 3是ESRI推出的基于网上制图和分布式GIS的新一代产品。ArcIMS允许用户在Internet和Intranet环境下为浏览器端的客户提供GIS应用和地图数据。
ArcIMS的一个显著特点是可以在服务器和浏览器或其他客户间建立"数据流"。这一功能使得用户可以将本地数据与Internet上的数据结合起来,从而为用户和数据发布者提供了一个更广阔的空间。
新的体系结构包括许多应用服务如制图、查询、地理编码等,但同时允许用户嵌入自己定制的GIS服务,而使用的数据既可以是本地的也可以是分布的数据集。
"ArcIMS将会在人们共享、访问、使用GIS数据的方式上引起一场大变革。"ESRI总裁Jack Dangermond说,"它代表着传统GIS向分布式GIS迈出了重要的一步。遍布全球的代理商可以直接为用户发布数据并提供服务。用户可以将广泛分布的数据和本地数据结合在一起,这开启了协同工作的新篇章。这种技术将使得全球的存储在GIS数据库中的现有的空间信息发挥出巨大的效力。"
ESRI的用户将可以在任何时间、任何地点共享和使用彼此的数据。任何人通过一个简单的浏览器界面就可以访问经过复杂的专业的GIS分析产生的数据。通过不断提高的访问GIS信息的能力,各种组织和全社会作为一个整体将更有效地利用现有的空间数据资源。

简单的基于向导的界面

ArcIMS在创建、设计、管理GIS站点上提出了一套简便易行的解决方案。它的便捷而强大的管理构架可以帮助你完成建立Web服务以及优化站点的工作。从客户端到服务器再到快速地建立、组织、维护制图网站,ArcIMS GIS提供了我们所需要的一切。
"你需要做的仅仅是简单地通过向导引导你完成创建地图服务、设置网页、发布和管理站点的工作,"ArcIMS的产品经理Bernie Szukalski如是说。

强大的智能化的客户端.

ArcIMS同时推出HTML和Java两种版本的强大的客户端。ArcIMS Java客户端支持真正的客户/服务器方式,它允许客户直接使用本地缓冲中的数据。客户端的操作不再必须由服务器来完成,许多操作可以直接在客户端快速高效地执行(如map tips和map classification)。

地图编辑和地图注释功能

ArcIMS客户端还支持动态地编辑和标注地图信息。它允许用户将编辑结果返回给服务器,并帮助记录下对服务器端数据库所做的改变。地图注释功能还允许在地图上标注符号用来提示其他人的注意或以备今后查看,这大大提高了网上GIS数据的交互能力。
"我们将会看到大量的空间信息通讯的出现",Dangermond说,"它的出现将使人们通过紧密相连的互联网和GIS信息发现一种崭新的相互影响和相互参与的途径。我愿意将它叫做G-mail或地理公告栏--我这里特别要强调的是地理的。"

方便的定制功能

ArcIMS的客户端可以通过工业标准的语言,如VBScript和JaveScript,方便地定制以适用于不同的功能需求。它可以为最终用户和希望自己定制界面和应用的开发商提供广阔的空间。

高质量的制图显示功能

由于ArcIMS支持矢量数据流,因此获得了更清晰的屏幕显示效果。此外,新的技术如anti-aliasing(一种边界平滑的影像处理技术)也提高了栅格数据的显示质量。

开放的、可伸缩的结构

ArcIMS独特的结构提供了一个开放的、灵活的平台。无论是功能简单的Intranet还是要求很复杂的Internet应用,无论是一个服务器的GIS发布应用还是跨多个服务器的分布式GIS应用,ArcIMS都可以支持。而且你就可以很容易地扩展原有的网上GIS应用,无须重新构建。此外,ArcIMS与很多其他流行的Internet技术兼容,如ColdFusion, Microsoft Transaction Server, Active Server Pages等。

ArcIMS是一个基于网络或服务器的GIS系统,是ArcInfo 8桌面GIS的很好补充。在不久的将来,ESRI的用户将会同时使用ArcInfo 8 和ArcIMS创建/维护地图数据库并在互联网上发布地图信息。

转载于:https://www.cnblogs.com/GISmanWJ/archive/2007/05/31/765832.html

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

相关文章

  1. devc++ c语言访问mysql数据库 环境配置

    /*windows下 devc++ c语言访问mysql数据库 环境配置 一、开发环境 1、 windowsXP 2、 mysql 5.0.22 3、 Dev-C++ 4.9.9.2 4、 Mysql C for Dev-Cpp (MySQL.DevPak) a) 用过Dev-C++的人都应该知道devpak吧我就不详说,如果你用的是C++,请下载(mysqlpp-2.3.2-gcc3.4.2-1due.Dev…...

    2024/4/12 21:50:47
  2. iOS tableView的用法

    - (void)viewDidLoad{ [super viewDidLoad]; UITableView *myTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, Screen_width, Screen_height)style:UITableViewStylePlain];// UITableViewStyleGrouped分组 myTableView.dataSource = self; my…...

    2024/4/9 7:44:53
  3. 数据库设计文档模板

    数据库设计说明书描述了一个数据库的设计,数据库是将一组相关数据存储为一个或多个计算机文件,并允许用户或计算机程序通过数据库管理系统(DBMS)访问这些数据。它同时也描述了用来访问或喜欢作这些数据的软件模块。 本文档是实现数据库和相关软件模块的基础,它提供了数据库…...

    2024/4/12 21:50:52
  4. Android源码个个击破之PackageInstaller

    发现一个类,PackageParser,可以来解析本地APK文件。安装的过程2-1) 启动另外一个activity来执行真正的安装: 调用了ContextWrapper的 getPackageManager()方法,最终也就是调用了ContextImpl的getPackageManager()方法。 …...

    2024/4/12 21:50:42
  5. C++Primer(第五版)学习笔记——成员函数和非成员函数(第七章)

    首先,理清类的实现和接口的区别:书上说:类的接口包括用户所能执行的操作,类的实现包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。个人这么理解:接口是用户可以看到的与类有关的部分,实现是用户看不到的部分作为接口组成部分的非成员函数,他们的…...

    2024/4/12 21:50:57
  6. 三层架构与MVC的区别

    菜鸟学飞基地 偶会勤勤恳恳灌溉这里滴一亩三分田三层架构与MVC的区别http://baike.baidu.com/view/687468.htm 与MVC的区别  MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。同样是架构级别的,相同的地方…...

    2024/4/12 21:50:57
  7. 关于C++ auto不能识别在DevC++不支持的问题

    当在编码过程中用到auto,但是DevC++不能正常编译如何处理? 因为没有通过参数开启C++11支持,解决方案。首先保证 gcc 版本(只有 4.8.1 及以上的版本才能完全支持 C++11) 提供资源进行符合版本的下载符合版本下载地址 然后对 Dev-C++ 设置,打开工具,选择编译器选项,点击程…...

    2024/4/20 5:57:36
  8. 图书馆管理系统的数据库设计

    图书馆管理系统的数据库设计--学生表 CREATE TABLE stu_info( --学号 stu_num varchar(10) primary key, --姓名 stu_name varchar(12) not null, --学院 stu_college varchar(20), --年级 stu_grade smallint, --宿舍 stu_dorm varchar(10) );--职工表 CREATE TABLE teacher_i…...

    2024/4/28 22:10:37
  9. c++中为什么要有静态成员函数?

    静态变量学习笔记: 我们知道,当调用一个对象的非静态成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。而静态成员函数并不属于某一对象,它与任何对象都无关,因此静态成员函数没有this指针,不能访问本类中的非静态成员。可以说静态成员函数的出现就是为了处理…...

    2024/4/20 10:20:49
  10. iOS UITextField的基本用法

    UITextField *textField = [[UITextField alloc] init];//初始化 textField.userInteractionEnabled = YES;//是否可用 textField.text = @"UITextField"; //文字 textField.delegate = self; //代理 textField.frame = CGRectMake(100, 100, 100, 40); …...

    2024/4/12 21:50:52
  11. Android源码个个击破之PackageManager

    PackageManager是个实现类,具体的实现类是frameworks\base\core\java\android\app\ApplicationPackageManager.java (此类是hide类,通过引用无法关联到。)这个文件定义ApplicationPackageManager类,继承并实现了PackageManager中接口;ApplicationPackageManager使用mPM…...

    2024/4/24 8:56:49
  12. 软件测试-----经常问道的面试题目

    五个常见软件测试面试题及答案 具体某个项目的业务逻辑? 白箱测试和黑箱测试是什么? 什么是回归测试?简述下概念即可。 单元测试、集成测试、系统测试的侧重点是什么? 围绕重点简单概括即可。如下:单元测试的重点是系统的模块,包括子程序的正确性验证等。集成测试的重点是…...

    2024/4/9 7:44:47
  13. 推箱子小游戏(基于DEVC++)

    推箱子小游戏(基于DEVC++) #include<iostream> #include<stdio.h> #include<conio.h> #include <windows.h>using namespace std; void Game_Menu(HANDLE hout); void Game_description(HANDLE hout); void gotoxy(HANDLE hout, int x, int y); int Dr…...

    2024/4/14 3:07:35
  14. 开发宝典:数据库设计技巧

    [编者按]数据库是整个系统的核心,它的设计直接关系系统执行的效率和系统的稳定性。因此在软件系统开发中,数据库设计应遵循必要的数据库范式理论,以减少冗余、保证数据的完整性与正确性。在数据库的设计过程中还是存在一些技巧,值得学习和借鉴。数据库设计方法、规范与技巧…...

    2024/4/20 6:39:44
  15. 对象指针为NULL,为什么还是可以调用成员函数

    C++中,空指针是不能够使用的,然而空对象指针有时候却能够调用成员函数。 先来看一下以下程序:#include<iostream> #include<string.h> using namespace std; class A { public:static void f1(){ cout<<"f1"<<endl; }void f2(){ cout<…...

    2024/4/20 13:32:56
  16. DEVC++安装后编程运行时老是提示“源文件未编译”

    解决方法:直接删除D:(自己解压时把DEV放在哪个盘就是哪个盘)\devc\Dev-Cpp\libexec\gcc\mingw32\3.4.2文件目录下的collect2.exe 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文…...

    2024/4/12 21:50:37
  17. nagios 数据更新不及时的问题

    配置nagios的时候发现一个问题,就是改变了某个主机或者服务的描述之后,在主页信息总是更新很慢,而且告警信息还是老的信息,重启多次 nagios甚至重启主机都没有解决,其实这些都是由于nagios每次关闭的时候都会保存数据到/usr/local/nagios/var /retention.dat这个文件中,然…...

    2024/4/18 21:29:47
  18. 函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”--多线程函数调用

    函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”,面向对象编程要求线程调用的接口必须是全局函数或静态成员函数。 1.把线程函数改为静态成员函数, 2在静态成员函数里使用类的非静态成员时,需要使用具体的类对象调用。解决办法,定义一个this…...

    2024/4/20 2:17:26
  19. 网站项目实施业务流程及规范

    网站项目实施业务流程及规范标题 网站项目实施业务流程及规范 zhangking [原作] 关键字 网站 项目 流程 规范出处 商务流程一、 寻找客户,确定网站开发意向。在与客户交流的过程中,可能要向客户展示以前实施的样板项目,还可能要给客户制作网站样例(图片及文字说明)。二、 …...

    2024/4/12 21:51:48
  20. Android源码个个击破之LocationManager

    GPS NMEA-0183标准数据介绍https://www.cnblogs.com/rechen/p/5135409.html (可以准确判断是否在定位)源码分析: https://www.ibm.com/developerworks/cn/opensource/os-cn-android-location/ 1. 源码所在的目录2. http://ju.outofmemory.cn/entry/1111823. 4. Locati…...

    2024/4/23 0:47:39

最新文章

  1. 【JavaEE】Thread的方法和属性

    文章目录 1、Thread的常见构造方法2、Thread的几个常见属性2.1 ID2.2 名称2.3 状态2.4 优先级2.5 是否后台线程2.6 是否存活2.7 是否被中断 3.补充说明3.1 Thread.sleep()的作用3.2 Thread.sleep()的异常处理方式 1、Thread的常见构造方法 方法说明Thread()创建线程对象Thread…...

    2024/5/3 1:08:35
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Redis群集模式和rsync远程同步

    一、Redis群集模式 1.1 概念 1.2 作用 1.2.1 Redis集群的数据分片 1.2.2 Redis集群的主从复制模型 1.3 搭建Redis 群集模式 1.3.1 开启群集功能 1.3.2 启动redis节点 1.3.3 启动集群 1.3.4 测试群集 二、rsync远程同步 2.1 概念 2.2 同步方式 2.3 备份的方式 2.4…...

    2024/5/1 15:14:30
  4. Topaz Video AI for Mac v5.0.0激活版 视频画质增强软件

    Topaz Video AI for Mac是一款功能强大的视频处理软件&#xff0c;专为Mac用户设计&#xff0c;旨在通过人工智能技术为视频编辑和增强提供卓越的功能。这款软件利用先进的算法和深度学习技术&#xff0c;能够自动识别和分析视频中的各个元素&#xff0c;并进行智能修复和增强&…...

    2024/5/1 13:35:41
  5. linuxday05

    1、makedile原理&#xff08;增量编译生成代码&#xff09; # &#xff08;注释符&#xff09; 目标------依赖 目标不存在//目标比依赖旧才会执行命令&#xff1b; makefile的实现 1、命名要求&#xff08;Makefile/makefile&#xff09; 2、规则的集合 目标文件&#…...

    2024/5/1 14:05:41
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57