2024年4月8日发(作者:)

Portal是什么?

在了解portlet之前有必要先了解portal。在Portlet规范里是这样讲的:“portal是

一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系

统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动”。

Portal的功能可以分为三个主要方面:

1. Portlet容器:Portlet容器与servlet容器非常类似,所有的portlet都部

署在portlet容器里,portlet容器控制portlet的生命周期并为其提供必要的资源和环境

信息。Portlet容器负责初始化和销毁portlets,向portlets传送用户请求并合成响应。

2. 内容聚集:Portlet规范中规定portal的主要工作之一是聚集由各种

portlet应用生成的内容,我们将在“如何创建Portal页面”部分对此做进一步讨论。

3. 公共服务:portlet服务器的一个强项是它所提供的一套公共服务。这些服

务并不是portlet规范所要求的,但portal的商业实现版本提供了丰富的公共服务以有别

于它们的竞争者。在大部分实现中都有望找到的几个公共服务有:

o 单次登录:只需登录portal服务器一次就可以访问所有其它的应用,这意味

着你无需再分别登录每一个应用。例如一旦我登录了我的intranet网站,我就能访问mail

应用、IM消息应用和其它的intranet应用,不必再分别登录这些应用。

Portal服务器会为你分配一个通行证库。你只需要在mail应用里设定一次用户名和密

码,这些信息将以加密的方式存储在通行证库中。在你已登录到intranet网站并要访问

mail应用的时候,portal服务器会从通行证库中读取你的通行证替你登录到mail服务器

上。你对其它应用的访问也将照此处理。

o个性化:个性化服务的基本实现使用户能从两方面个性化她的页面:第一,

用户可以根据她的自身喜好决定标题条的颜色和控制图标。第二,用户可以决定在她的页

面上有哪些portlets。例如,如果我是个体育迷,我可能会用一个能提供我钟爱球队最新

信息的portlet来取代股票和新闻portlets。

一些在个性化服务方面领先的商业实现版本允许你建立为用户显示什么样的应

用所依据的标准(如收入和兴趣)。在这种情况下,可以设定一些像“对任何收入为X的用

户显示馈赠商品的portlet”和“对任何收入为X的用户显示打折商品的portlet”这样的

商业规则。

此外还有一些公共服务,比如机器翻译,是由portal服务器将portlet生成的内

容翻译为用户要求的语言。大部分的商业portal服务器都支持手持设备访问并具有针对不

同的浏览终端生成不同内容的能力。

Portlets是什么?

与servlets类似,portlets是部署在容器内用来生成动态内容的web组件。从技术角

度讲portlet是一个实现了t接口的类,它被打包成war文件格式部

署到portlet容器里。

Portlets在以下方面与servlets相似:

1. portlets由特定的容器管理。

2. portlets生成动态内容。

3. portlet的生命周期由容器管理。

4. portlets通过请求/响应模式与web客户端交互。

Portlets在以下方面与servlets相异:

1. portlets只能生成标记段,而不是整个文档。

2. portlets没有可供直接访问的URL地址。不过你还是能够让别人通过URL

访问到portlet,你可以把包含该portlet的页面的URL发给他。

3. portlets不能随意地生成内容,这是因为portlet生成的内容最终要成为

portal页面的一部分。如果portal服务器要求的是html/text类型,那么所有的portlets

都应生成html/text类型的内容。再比方说,如果portal服务器要求的是WML类型,那

么所有的portlets都应生成WML类型的内容。

portlets还提供了一些附加的功能:

1. 设置参数的持久化存储:portlets提供了一个PortletPreferences对象用

来保存用户的设置参数。这些参数被存入一个持久化数据库,这样服务器重启后数据依然

有效。开发者不必关心这些数据存储的具体实现机制。

2. 请求处理:portlets提供了更为细粒度的请求处理。对于用户在portlet

上动作时向该portlet发出的请求(一种称为活跃期的状态),或者因用户在其它portlet上

动作而引发的刷新页面请求,Portal服务器提供了两种不同的回调方法来处理。

3. Portlet模式:portlets用模式的概念来表示用户在做什么。在使用mail

应用的时候,你可能会用它来读信、写信或检查信件――这些都是mail应用的预定功能,

Portlets通常以VIEW模式提供这些功能。但还有一些活动,像指定刷新时间或(重新)

设置用户名和密码,这些活动允许用户定制应用的行为,因此它们用的是EDIT模式。Mail

应用的帮助功能用的是HELP模式。

如果仔细想想其实这里面并没有什么新东西,它们反而大部分都是普通的业务需求。

Portlet规范的作用在于它提供了一个抽象层,这才是它对所有与之相关的人-最终用户、

开发者和管理员-的价值所在。

作为一个开发者,我会将所有与VIEW模式有关的业务逻辑放入doView()方法,将与

应用配置有关的业务逻辑放入doEdit()方法,将与帮助有关的逻辑放入doHelp()方法

这就简化了管理员对portlet应用的访问控制管理,因为他只需改变portlet的访问权

限就能决定用户能做什么。例如,如果mail应用的一个用户能够在EDIT模式下设定用户

名和密码,那么就可以断定他具有EDIT模式访问权限。

不妨考虑这样一种情形:我是一个intranet网站的管理员,我的公司买了一个能显示

新闻信息的第三方portlet应用,该应用允许用户指定跟踪新闻更新的URL地址,我想借

助它为用户显示公司的内部新闻。另一个需求是我不想让用户通过该应用来跟踪任何其它

的新闻信息来源。作为管理员,我可以为所有的用户指定一个用于内部新闻更新的URL地

址,同时通过改变portlet应用的部署描述符来取消其它人修改该地址的权限。

由于所有的portlet应用都具有相似的UI界面,因此采用portlets可使网站对最终用

户更具吸引力。如果她想阅读任何一个应用的帮助信息,她可以点击帮助按钮;她也知道

点击编辑按钮能让她进入应用的配置屏。标准化的用户界面使你的portlet应用更引人。

4. 窗口状态:窗口状态决定了portal页面上留给portlet生成内容的空间。

如果点击最大化按钮,portlet将占据整个屏幕,成为用户唯一可用的portlet;而在最小

化状态,portlet只显示为标题条。作为开发者应当根据可用空间的大小来定做内容。

5. 用户信息:通常portlets向发出请求的用户提供个性化的内容,为了能更

加行之有效,portlets需要访问用户的属性信息,如姓名、email、电话等。Portlet API

为此提供了用户属性的概念,开发者能够用标准的方式访问这些属性,并由管理员负责在

这些属性与真实的用户信息数据库(通常是LDAP服务器)之间建立映射关系。

我们将在本文的第二部分深入讨论这些特点-请求处理、用户信息和portlet模式。

开发"Hello World" Portlet

现在我们就来开发一个简单的HelloWorld portlet。

1. 创建一个名为HelloWorld的web项目,它与通常的servlet项目类似,

有一个/WEB-INF/文件作为项目的部署描述符。

2. 在build path里加入文件,该jar文件是Pluto发行包的一

部分。

3. 在Source文件夹中按如下内容创建文件:

public class HelloWorld extends GenericPortlet{

protected void doView(RenderRequest request, RenderResponse response)

throws

{

PortletException,

IOException

tentType("text/html");

ter().println("Hello Portlet"); }}

每个portlet都要实现Portlet接口,该接口为portlet定义了生命周期方法。

由于不想覆盖所有这些方法,我们只对GenericPortlet类进行扩展,

它是一个实现了Portlet接口的适配器类。GenericPortlet类提供了所有生命周期方

法的默认实现,

所以我们只需实现我们所需要的方法。

我们在 HelloWorld portlet里要做的只是显示“Hello Portlet”,

所以我们将覆盖GenericPortlet类的doView()方法,该方法以PortletRequest 和

PortletResponse作为参数。

在doView()方法中首先调用tentType()以通知portlet容器该

portlet将要生成何种

类型的内容-如果不这样做就会导致IllegalStateException异常。

一旦设置了内容的类型,就可以从response对象中获得PrintWriter并开始写入。

4. 每个portlet应用在/WEB-INF文件夹中都有一个文件,

它是portlet应用的部署描述符。按以下内容创建文件:

HelloWorldDescription

HelloWorld Hello

World orld

-1

text/html

VIEW

en

Hello World Hello World

Hello,pluto

元素声明了portlet的名字,

元素指定了portlet的全限定类名,

元素以秒为单位指定了内容超期的时间。这里面有一点需要注

意:

你在portlet上的某些动作可能会导致内容刷新,这与缓存时间无关。

元素指定对于给定的有哪些模式可供支持。

在示例中我们假定HelloWorld只能生成text/html类型的内容,且只有view模式可

支持该内容类型。

如果要增加对其它内容类型的支持,需要添加新的元素并指定支持该

MIME类型的模式有哪些。

通常portlet对于text/html类型有VIEW、EDIT和HELP模式可供支持,而对于WML

MIME类型则只有VIEW模式。

还可以用元素来指定portlet支持哪些本地化。

元素用来指定portlet的标题。如果要对标题做国际化处理, </p><p style="text-indent: 2em;font-size:18px;">可以用元素<resource-bundle>指定资源(比例properties文件)的文件名。 </p><p style="text-indent: 2em;font-size:18px;">在这种情况下,容器将根据用户所在的地区从适当的properties文件中选择标题。 </p><p style="text-indent: 2em;font-size:18px;">5. 每个portlet应用都是一个web应用,因此除了文件之外还需要有</p><p style="text-indent: 2em;font-size:18px;">文件。 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"><web-app> <display-name>Hello World Portlet </display-name> </p><p style="text-indent: 2em;font-size:18px;"><welcome-file-list <welcome-file> </welcome-file> </p><p style="text-indent: 2em;font-size:18px;"></welcome-file-list></web-app> </p><p style="text-indent: 2em;font-size:18px;">6.接下来将这些文件进行编译并打包为war文件。你可以自己完成这些工作,或者下</p><p style="text-indent: 2em;font-size:18px;">载带有 的示例代码(参见“资源”部分)来创建war文件。 </p><p style="text-indent: 2em;font-size:18px;">在Pluto上部署HelloWorld Portlet </p><p style="text-indent: 2em;font-size:18px;">Pluto尚处于开发阶段的早期,因此还没有一套易于使用的管理工具。为了能使用</p><p style="text-indent: 2em;font-size:18px;">Pluto服务器, </p><p style="text-indent: 2em;font-size:18px;">需要将编译和源代码两个版本都下载。需要注意的是以下说明是针对Windows平台</p><p style="text-indent: 2em;font-size:18px;">的, </p><p style="text-indent: 2em;font-size:18px;">Unix用户通过修改斜杠符号和执行sh shell脚本(不是bat批命令文件)会得到类似</p><p style="text-indent: 2em;font-size:18px;">的结果。 </p><p style="text-indent: 2em;font-size:18px;">1. 创建一个文件夹,比如C:PlutoInstallation。 </p><p style="text-indent: 2em;font-size:18px;">2. 从Pluto的网站下载和。 </p><p style="text-indent: 2em;font-size:18px;">3. 将解压到C:PlutoInstallation.文件夹, </p><p style="text-indent: 2em;font-size:18px;">它应被解压到C:PlutoInstallationpluto-1.0.1-rc1文件夹下。 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">4. 执行C:启动Pluto, </p><p style="text-indent: 2em;font-size:18px;">现在可以通过地址localhost:8080/pluto/portal访问Pluto服务器。 </p><p style="text-indent: 2em;font-size:18px;">5. 将解压到C:PlutoInstallationPlutoSrc文件夹。 </p><p style="text-indent: 2em;font-size:18px;">6. 进入C:PlutoInstallationPlutoSrc文件夹,执行maven distribute:all., </p><p style="text-indent: 2em;font-size:18px;">编译并下载运行常规管理任务所必需的相关资源文件。现在可以将</p><p style="text-indent: 2em;font-size:18px;">作为portlet进行安装了。 </p><p style="text-indent: 2em;font-size:18px;">7. 首先将文件拷贝到C:PlutoInstallationportlets</p><p style="text-indent: 2em;font-size:18px;">目录,如果没这个目录就创建它。 </p><p style="text-indent: 2em;font-size:18px;">8. 将C:更名为</p><p style="text-indent: 2em;font-size:18px;">ties。 </p><p style="text-indent: 2em;font-size:18px;">9. 编辑ties,将指向Pluto编译版的安</p><p style="text-indent: 2em;font-size:18px;">装位置, </p><p style="text-indent: 2em;font-size:18px;">在本例中应改为=C:/PlutoInstallation/pluto-1.0.1-rc1。 </p><p style="text-indent: 2em;font-size:18px;">10. 为了安装portlet,进入C:plutoInstallationplutosrcdeploy文件夹, </p><p style="text-indent: 2em;font-size:18px;">执行maven deploy </p><p style="text-indent: 2em;font-size:18px;">-Ddeploy=c:, </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">应能看到“build successful”信息。 </p><p style="text-indent: 2em;font-size:18px;">11. 在C:PlutoInstallationpluto-1.0.1-rc1webapps文件夹下,应该有一</p><p style="text-indent: 2em;font-size:18px;">个HelloWorldPortlet文件夹。 </p><p style="text-indent: 2em;font-size:18px;">12. 现在进入</p><p style="text-indent: 2em;font-size:18px;">C:PlutoInstallationpluto-1.0.1-rc1webappsHelloWorldWEB-INF folder文件夹, </p><p style="text-indent: 2em;font-size:18px;">打开portlet的文件,你会发现里面自动多了几行,如下所示: </p><p style="text-indent: 2em;font-size:18px;"><servlet> </p><p style="text-indent: 2em;font-size:18px;"><servlet-name>HelloWorld</servlet-name> </p><p style="text-indent: 2em;font-size:18px;"><display-name>HelloWorld Wrapper</display-name> </p><p style="text-indent: 2em;font-size:18px;"><description>Automated generated Portlet Wrapper</description> </p><p style="text-indent: 2em;font-size:18px;"><servlet-class>tServlet </servlet-class> </p><p style="text-indent: 2em;font-size:18px;"><init-param> </p><p style="text-indent: 2em;font-size:18px;"><param-name>portlet-class</param-name> </p><p style="text-indent: 2em;font-size:18px;"><param-value>orld </param-value> </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"></init-param> </p><p style="text-indent: 2em;font-size:18px;"><init-param> </p><p style="text-indent: 2em;font-size:18px;"><param-name>portlet-guid</param-name> </p><p style="text-indent: 2em;font-size:18px;"><param-value>orld </param-value> </p><p style="text-indent: 2em;font-size:18px;"></init-param> </p><p style="text-indent: 2em;font-size:18px;"></servlet> </p><p style="text-indent: 2em;font-size:18px;">13. 接下来我们将该portlet加到页面里。 </p><p style="text-indent: 2em;font-size:18px;">进入C:PlutoInstallationpluto-1.0.1-rc1webappsplutoWEB-INFdata文件</p><p style="text-indent: 2em;font-size:18px;">夹, </p><p style="text-indent: 2em;font-size:18px;">可以看到有两个XML文件:和。 </p><p style="text-indent: 2em;font-size:18px;">14. 包含了portlet的定义,在该文件中加入以下</p><p style="text-indent: 2em;font-size:18px;">几行: </p><p style="text-indent: 2em;font-size:18px;"><application id="5"> </p><p style="text-indent: 2em;font-size:18px;"><definition-id>HelloWorld</definition-id> </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;"> <portlet id="1"> </p><p style="text-indent: 2em;font-size:18px;"><definition-id>orld</definition-id> </p><p style="text-indent: 2em;font-size:18px;"></portlet> </p><p style="text-indent: 2em;font-size:18px;"></application> </p><p style="text-indent: 2em;font-size:18px;">应用的<definition-id>应为web应用所在文件夹的名字, </p><p style="text-indent: 2em;font-size:18px;">portlet的<definition-id>应与中生成的portlet-guid相一致。 </p><p style="text-indent: 2em;font-size:18px;">15. 定义了页面中包含了哪些portlets,对该文件做如下改</p><p style="text-indent: 2em;font-size:18px;">动: </p><p style="text-indent: 2em;font-size:18px;"><fragment name="p2" type="portlet"> </p><p style="text-indent: 2em;font-size:18px;"><property name="portlet" value="/blog/5.1"/> </p><p style="text-indent: 2em;font-size:18px;"></fragment> </p><p style="text-indent: 2em;font-size:18px;">16. 执行shutdown命令和startup命令重启Pluto服务器, </p><p style="text-indent: 2em;font-size:18px;">返回到地址localhost:8080/pluto/portal并点击“Test Link”-此时页面中</p><p style="text-indent: 2em;font-size:18px;">将出现我们的 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">HelloWorld portlet。 </p><p style="text-indent: 2em;font-size:18px;">图3的右侧显示了HelloWorld portlet看上去的样子。 </p><p style="text-indent: 2em;font-size:18px;">图3 portlet的屏幕截图 </p><p style="text-indent: 2em;font-size:18px;">如何创建Portal页面 </p><p style="text-indent: 2em;font-size:18px;">图4显示了portal容器如何将分离的portlets组装为页面。 </p><p style="text-indent: 2em;font-size:18px;">图4 创建Portal页面 </p><p style="text-indent: 2em;font-size:18px;">大部分的portal服务器基本上都是部署于应用服务器上的web应用,通过servlet</p><p style="text-indent: 2em;font-size:18px;">来处理访问portal服务器的请求。查看一下Pluto的安装目录就会发现Pluto不过是一个</p><p style="text-indent: 2em;font-size:18px;">部署于Tomcat服务器上的一个普通web应用,再看看</p><p style="text-indent: 2em;font-size:18px;">C:会发现所有</p><p style="text-indent: 2em;font-size:18px;">发往Pluto服务器的请求都被映射到t上。 </p><p style="text-indent: 2em;font-size:18px;">在本文开始部分“Portal页面的元素”中,我们提到portal页面由两部分组成。一部</p><p style="text-indent: 2em;font-size:18px;">分是由页面中的portlets生成的内容,另一部分是由portal服务器生成的内容。 </p><p style="text-indent: 2em;font-size:18px;">在Pluto里,只要用户发出请求,就会由servlet进行控制,根据用户所请求的页面</p><p style="text-indent: 2em;font-size:18px;">来确定需要显示的portlets的列表。一旦生成了列表,servlet就将控制转给这些portlets</p><p style="text-indent: 2em;font-size:18px;">线程并收集由它们生成的内容。 </p><p style="text-indent: 2em;font-size:18px;">对于由portal服务器生成的内容(像portal网站的观感及每个portlet的外观和控制</p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">之类)则取决于</p><p style="text-indent: 2em;font-size:18px;">C:PlutoInstallationpluto-1.0.1-rc1webappsplutoWEB-INFaggregation文件夹</p><p style="text-indent: 2em;font-size:18px;">下的JSP文件。是主JSP文件,它决定了整体的观感和对齐方式;它</p><p style="text-indent: 2em;font-size:18px;">还包含了Heads以定义在生成的页面中的<HEAD>标签里的内容。用</p><p style="text-indent: 2em;font-size:18px;">来选择在banner中该显示什么(默认情况下在banner显示列表中也包扩了</p><p style="text-indent: 2em;font-size:18px;">图片)。用来确定portal网站的导航方案。这意味着只需改动该文件夹</p><p style="text-indent: 2em;font-size:18px;">下少量的几个JSP文件,就能改变整个portal网站的观感。 </p><p style="text-indent: 2em;font-size:18px;">Pluto根据中的设置确定页面中有多少行,并用</p><p style="text-indent: 2em;font-size:18px;">去填充。用来填充每个栏目。用来填</p><p style="text-indent: 2em;font-size:18px;">充每个portlet的页头,像标题条及最大化和最小化控制。用来填充JSP的页脚。</p><p style="text-indent: 2em;font-size:18px;">如果去看一下portal页面的HTML代码就会发现每个portlet窗口无非都是嵌入<TD>标</p><p style="text-indent: 2em;font-size:18px;">签的内容块。 </p><p style="text-indent: 2em;font-size:18px;">结束语 </p><p style="text-indent: 2em;font-size:18px;">任何一种新技术要想获得成功都应具备以下条件:首先,它能提升现有技术;其次,</p><p style="text-indent: 2em;font-size:18px;">它能解决现有技术遇到的普遍问题;再次,它能提供多于一个的抽象层(有人说,每抽象</p><p style="text-indent: 2em;font-size:18px;">出一层,问题就解决一半)。 </p><p style="text-indent: 2em;font-size:18px;">由于portlet与现有的应用服务器架构兼容,这对Portlet API来说是一次发展servlet</p><p style="text-indent: 2em;font-size:18px;">技术的好机会。你可以从portlet里调用EJB,或者用它启动和参与由应用服务器控制的全</p><p style="text-indent: 2em;font-size:18px;">局性事务。换句话说,在以商业逻辑为核心的领域里,portlet完全可以做得和servlet一</p><p style="text-indent: 2em;font-size:18px;">样好。 </p><p style="text-indent: 2em;font-size:18px;"> </p><p style="text-indent: 2em;font-size:18px;">Portlets提供了一个抽象层,现在你不必再担心客户端使用了什么样的HTTP方法,</p><p style="text-indent: 2em;font-size:18px;">也不必自己编写程序去捕获像点击按钮这样的客户端事件。最后但绝不是最次要的一点是,</p><p style="text-indent: 2em;font-size:18px;">portlets以提供像单次登录、个性化等服务的方式解决了servlets不能解决的大部分问题。 </p><p style="text-indent: 2em;font-size:18px;">本文来自CSDN博客,转载请标明出处:file:///E:/Learn/网页/Portal是什</p><p style="text-indent: 2em;font-size:18px;">么?%20-%20Java技术交流%20-%20CSDN博客.htm </p><p><p><h2></h2></p></img></p></div></article></div><div class="fzithome-com info"><div><span>本文发布于:2024-04-08,感谢您对本站的认可!</span></div><div><span>本文链接:</span><a href="https://www.fzithome.com/xitong/1712527019a434193.html" title="Portal是什么">https://www.fzithome.com/xitong/1712527019a434193.html</a></div><div><span>版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。</span></div></div><span class="tag"><i class="iconfont icon-discount" style="font-size:12px;font-weight:bold;opacity:.7;">本文标签:</i><a href="/tag/156.html" target="_blank">用户</a><a href="/tag/828.html" target="_blank">应用</a><a href="/tag/399.html" target="_blank">内容</a><a href="/tag/160.html" target="_blank">文件</a><a href="/tag/382.html" target="_blank">生成</a></span></div><div class="fzithome-com post_comments" id="comments"><div id="comt-respond" class="commentpost"><h4>发布评论 <span><a rel="nofollow" id="cancel-reply" href="#comment" style="display:none;"><small>取消回复</small></a></span></h4><form action="/comment/create/434193.html?safe_token=tM2v_2FzTzgbxsIAFE6Una_2FKIz4pePlpdDblaQSR2SuthQ8khhy_2F7oPafYiEY8MTQw7VB0ZgCRnD0BjbmtbT3H_2BQ_3D_3D" method="post" name="saypl" id="frmSumbit"><input type="hidden" name="doctype" value="1" /><input type="hidden" name="quotepid" value="0" /><div id="comment-tools"><div class="fzithome-com tools_text"><textarea placeholder="请在这里留言..." name="message" id="txaArticle" class="text input-block-level comt-area" cols="50" rows="4" tabindex="5"></textarea></div></div><div class="fzithome-com psumbit"><input name="sumbit" type="submit" tabindex="6" value="发布" class="button" /></div></form></div><div class="fzithome-com commentlist"><div class="fzithome-com comment-tab"><div class="fzithome-com come-comt">评论列表<span id="comment_count">(有<span id="infocommentnumarea" style="color:#c81111">0</span>条评论)</span></div></div><ul class="diy-comment"></ul></div></div></div><div class="fzithome-com mainr"><div class="widget widget_previous"><h4 class="bar">最近发表</h4><ul><li><a href="/xitong/1700736981a7.html"title='各种文件打开方式' aria-label='各种文件打开方式'>各种文件打开方式</a></li><li><a href="/xitong/1700737095a13.html"title='电脑不同后缀格式文件打开方式、专业软件大全、各类电子书打开方式' aria-label='电脑不同后缀格式文件打开方式、专业软件大全、各类电子书打开方式'>电脑不同后缀格式文件打开方式、专业软件大全、各类电子书打开方式</a></li><li><a href="/xitong/1700738360a72.html"title='大一计算机access复习题(含答案)' aria-label='大一计算机access复习题(含答案)'>大一计算机access复习题(含答案)</a></li><li><a href="/xitong/1700738495a78.html"title='StarCCM+如何创建自己的物性参数数据库' aria-label='StarCCM+如何创建自己的物性参数数据库'>StarCCM+如何创建自己的物性参数数据库</a></li><li><a href="/xitong/1700739046a102.html"title='三维算量常见问题解答培训' aria-label='三维算量常见问题解答培训'>三维算量常见问题解答培训</a></li><li><a href="/xitong/1700740619a170.html"title='酷卡软件二次开发接口文档' aria-label='酷卡软件二次开发接口文档'>酷卡软件二次开发接口文档</a></li><li><a href="/xitong/1700740726a176.html"title='如何根据GPS坐标生成面状图及面积计算' aria-label='如何根据GPS坐标生成面状图及面积计算'>如何根据GPS坐标生成面状图及面积计算</a></li><li><a href="/xitong/1700744763a361.html"title='瑞星杀毒软件网络版客户端' aria-label='瑞星杀毒软件网络版客户端'>瑞星杀毒软件网络版客户端</a></li><li><a href="/xitong/1700745306a385.html"title='老毛桃PE工具使用及u盘安装系统' aria-label='老毛桃PE工具使用及u盘安装系统'>老毛桃PE工具使用及u盘安装系统</a></li><li><a href="/xitong/1700746806a464.html"title='彻底清除USB使用记录' aria-label='彻底清除USB使用记录'>彻底清除USB使用记录</a></li><li><a href="/xitong/1700748733a559.html"title='网站分析报告三篇' aria-label='网站分析报告三篇'>网站分析报告三篇</a></li><li><a href="/xitong/1700748873a566.html"title='股票电话销售话术八大资讯' aria-label='股票电话销售话术八大资讯'>股票电话销售话术八大资讯</a></li><li><a href="/xitong/1700749437a595.html"title='在线财经直播间有哪些功能 在线财经直播间软件优势有哪些' aria-label='在线财经直播间有哪些功能 在线财经直播间软件优势有哪些'>在线财经直播间有哪些功能 在线财经直播间软件优势有哪些</a></li><li><a href="/xitong/1700751104a671.html"title='百度新闻搜索常见问题' aria-label='百度新闻搜索常见问题'>百度新闻搜索常见问题</a></li><li><a href="/xitong/1700753698a802.html"title='新闻素材摘抄2023热点时事200字' aria-label='新闻素材摘抄2023热点时事200字'>新闻素材摘抄2023热点时事200字</a></li><li><a href="/xitong/1700754085a822.html"title='聚焦重点“放大”新闻' aria-label='聚焦重点“放大”新闻'>聚焦重点“放大”新闻</a></li><li><a href="/xitong/1700759581a1082.html"title='惠普电脑一键还原备份的方法步骤' aria-label='惠普电脑一键还原备份的方法步骤'>惠普电脑一键还原备份的方法步骤</a></li><li><a href="/xitong/1700762111a1218.html"title='如何使用Chost' aria-label='如何使用Chost'>如何使用Chost</a></li><li><a href="/xitong/1700765790a1425.html"title='笔记本电脑啸叫(尖叫)问题的解决' aria-label='笔记本电脑啸叫(尖叫)问题的解决'>笔记本电脑啸叫(尖叫)问题的解决</a></li><li><a href="/xitong/1700766341a1456.html"title='华硕电脑看视频老是死机该怎么办' aria-label='华硕电脑看视频老是死机该怎么办'>华硕电脑看视频老是死机该怎么办</a></li></ul></div><section id="aside_about" class="widget widget_aside_about sb br mb"><div class="avatar"><img class="img" src="/view/template/mitiqin/img/tx.jpg" alt="福州电脑网_福州电脑维修_福州电脑之家_福州iThome"/></div><div class="wrap pd"><p class="title">福州电脑网_福州电脑维修_福州电脑之家_福州iThome</p><p class="info">福州电脑维修网(fzithome.com)专业的电脑维修,笔记本维修,上门维修各种电脑,笔记本,平板等,快速上门.电脑知识频道内容覆盖:计算机资讯,电脑基础应用知识,各种电脑故障维修学习,电脑外设产品维修维护,病毒,软件,硬件,常识.</p><ul class="ul clearfix"></ul></div></section><div class="fzithome-com clear"></div><div class="fzithome-com widgets"><h4 class="bar">相关推荐</h4><div class="fzithome-com hot-post"><ul class="clearfix"><li><a href="/xitong/1774484234a2710776.html"title='轻松修复网络监控应用的wpcap.dll缺失问题,恢复流畅运行' aria-label='轻松修复网络监控应用的wpcap.dll缺失问题,恢复流畅运行'><span class="sptit">轻松修复网络监控应用的wpcap.dll缺失问题,恢复流畅运行</span></a></li><li><a href="/biancheng/1774484690a2710782.html"title='丢失wpcap.dll?快速解决攻略和预防小贴士,保持流畅观影体验' aria-label='丢失wpcap.dll?快速解决攻略和预防小贴士,保持流畅观影体验'><span class="sptit">丢失wpcap.dll?快速解决攻略和预防小贴士,保持流畅观影体验</span></a></li><li><a href="/biancheng/1774500149a2710946.html"title='不再手动解压,自动解压工具帮你轻松处理SWF文件!' aria-label='不再手动解压,自动解压工具帮你轻松处理SWF文件!'><span class="sptit">不再手动解压,自动解压工具帮你轻松处理SWF文件!</span></a></li><li><a href="/xitong/1774500905a2710956.html"title='Python与zip的趣味邂逅:压缩文件的魔法' aria-label='Python与zip的趣味邂逅:压缩文件的魔法'><span class="sptit">Python与zip的趣味邂逅:压缩文件的魔法</span></a></li><li><a href="/biancheng/1774510368a2711057.html"title='Dism修复Windows?简单几步,系统健康无忧!' aria-label='Dism修复Windows?简单几步,系统健康无忧!'><span class="sptit">Dism修复Windows?简单几步,系统健康无忧!</span></a></li><li><a href="/xitong/1775239193a2711107.html"title='一学就会!Linux系统的安全防护——备份与恢复篇' aria-label='一学就会!Linux系统的安全防护——备份与恢复篇'><span class="sptit">一学就会!Linux系统的安全防护——备份与恢复篇</span></a></li><li><a href="/xitong/1775239343a2711109.html"title='Ubuntu备份指南:让数据安全无后顾之忧' aria-label='Ubuntu备份指南:让数据安全无后顾之忧'><span class="sptit">Ubuntu备份指南:让数据安全无后顾之忧</span></a></li><li><a href="/biancheng/1775239599a2711112.html"title='Windows新手必备:利用Captureimage命令实现Win10一键备份系统' aria-label='Windows新手必备:利用Captureimage命令实现Win10一键备份系统'><span class="sptit">Windows新手必备:利用Captureimage命令实现Win10一键备份系统</span></a></li><li><a href="/xitong/1775240653a2711125.html"title='Linux系统守护神:高效备份和快速恢复技巧揭秘' aria-label='Linux系统守护神:高效备份和快速恢复技巧揭秘'><span class="sptit">Linux系统守护神:高效备份和快速恢复技巧揭秘</span></a></li><li><a href="/biancheng/1775247851a2711203.html"title='傻瓜式教程:如何构建一个内部IP检索网站' aria-label='傻瓜式教程:如何构建一个内部IP检索网站'><span class="sptit">傻瓜式教程:如何构建一个内部IP检索网站</span></a></li><li><a href="/biancheng/1775248908a2711217.html"title='创建内部IP查找网站?Python快速入门教程' aria-label='创建内部IP查找网站?Python快速入门教程'><span class="sptit">创建内部IP查找网站?Python快速入门教程</span></a></li><li><a href="/biancheng/1775284071a2711602.html"title='如何让Steam Deck在暴雪战网上畅玩?解决DLL文件问题指南' aria-label='如何让Steam Deck在暴雪战网上畅玩?解决DLL文件问题指南'><span class="sptit">如何让Steam Deck在暴雪战网上畅玩?解决DLL文件问题指南</span></a></li><li><a href="/xitong/1775285437a2711614.html"title='揭秘Maya场景代码慢开的真相与解决秘籍,畅享流畅工作流程!' aria-label='揭秘Maya场景代码慢开的真相与解决秘籍,畅享流畅工作流程!'><span class="sptit">揭秘Maya场景代码慢开的真相与解决秘籍,畅享流畅工作流程!</span></a></li><li><a href="/xitong/1775287533a2711639.html"title='从菜鸟到高手,制作GHOST镜像的完整指南——以SWF和Flash为中心' aria-label='从菜鸟到高手,制作GHOST镜像的完整指南——以SWF和Flash为中心'><span class="sptit">从菜鸟到高手,制作GHOST镜像的完整指南——以SWF和Flash为中心</span></a></li><li><a href="/xitong/1775299438a2711749.html"title='告别臃肿系统:Win11下SWF与Flash的精简秘籍' aria-label='告别臃肿系统:Win11下SWF与Flash的精简秘籍'><span class="sptit">告别臃肿系统:Win11下SWF与Flash的精简秘籍</span></a></li><li><a href="/xitong/1775300427a2711759.html"title='如何在Mac上查看和操作隐藏的文件和文件夹:实用秘籍解析' aria-label='如何在Mac上查看和操作隐藏的文件和文件夹:实用秘籍解析'><span class="sptit">如何在Mac上查看和操作隐藏的文件和文件夹:实用秘籍解析</span></a></li><li><a href="/biancheng/1775300655a2711762.html"title='掌握这些小窍门,轻松在Windows系统中隐匿你的Flash文件' aria-label='掌握这些小窍门,轻松在Windows系统中隐匿你的Flash文件'><span class="sptit">掌握这些小窍门,轻松在Windows系统中隐匿你的Flash文件</span></a></li><li><a href="/biancheng/1775300960a2711766.html"title='Windows隐藏秘技:使用类标识让文件神秘消失的艺术' aria-label='Windows隐藏秘技:使用类标识让文件神秘消失的艺术'><span class="sptit">Windows隐藏秘技:使用类标识让文件神秘消失的艺术</span></a></li><li><a href="/xitong/1775302182a2711782.html"title='在Linux中解锁隐藏文件的门:使用强力命令集!' aria-label='在Linux中解锁隐藏文件的门:使用强力命令集!'><span class="sptit">在Linux中解锁隐藏文件的门:使用强力命令集!</span></a></li><li><a href="/xitong/1775302491a2711786.html"title='揭秘Mac系统中的隐藏宝藏——显示隐藏文件指南' aria-label='揭秘Mac系统中的隐藏宝藏——显示隐藏文件指南'><span class="sptit">揭秘Mac系统中的隐藏宝藏——显示隐藏文件指南</span></a></li></ul></div></div><div class="fzithome-com clear"></div><div class="widget widget_tags"><h4 class="bar">标签列表</h4><ul><li class="submenu"><a target="_blank" href="/tag/245182.html">批量移除</a></li><li class="submenu"><a target="_blank" href="/tag/245181.html">深度清洁</a></li><li class="submenu"><a target="_blank" href="/tag/245179.html">优化体验</a></li><li class="submenu"><a target="_blank" href="/tag/245176.html">到精通</a></li><li class="submenu"><a target="_blank" href="/tag/245158.html">是时候检</a></li><li class="submenu"><a target="_blank" href="/tag/245080.html">件时</a></li><li class="submenu"><a target="_blank" href="/tag/245017.html">文档转为</a></li><li class="submenu"><a target="_blank" href="/tag/245012.html">网页字体</a></li><li class="submenu"><a target="_blank" href="/tag/245011.html">出招</a></li><li class="submenu"><a target="_blank" href="/tag/244924.html">设备结点</a></li><li class="submenu"><a target="_blank" href="/tag/244910.html">不只有办</a></li><li class="submenu"><a target="_blank" href="/tag/244895.html">如何凭借</a></li><li class="submenu"><a target="_blank" href="/tag/244886.html">卸载完成</a></li><li class="submenu"><a target="_blank" href="/tag/244848.html">利用高级</a></li><li class="submenu"><a target="_blank" href="/tag/244845.html">修复照片</a></li><li class="submenu"><a target="_blank" href="/tag/244815.html">机不显示</a></li><li class="submenu"><a target="_blank" href="/tag/244785.html">忘记怎么</a></li><li class="submenu"><a target="_blank" href="/tag/244784.html">利解决这</a></li><li class="submenu"><a target="_blank" href="/tag/244781.html">浏览器文</a></li><li class="submenu"><a target="_blank" href="/tag/244768.html">多御安全</a></li></ul></div><div class="fzithome-com clear"></div></div></div><footer id="footer"><div class="footer container-w cl"><div class="fnav"></div><span class="copy"> CopyRight © 2022 All Rights Reserved <a href="/" title="福州电脑网_福州电脑维修_福州电脑之家_福州iThome" target="_blank">福州电脑网_福州电脑维修_福州电脑之家_福州iThome</a></span> 备案号:<a target="_blank" rel="nofollow" href="https://beian.miit.gov.cn/" style="font-size: 12px;">豫ICP备2022026798号-13</a></div></footer><script src="/view/template/mitiqin/js/common.min.js?2.3.0"></script><script src="/view/js/xiuno.js"></script><script src="/view/template/mitiqin/js/app.js?2.3.0"></script><div id="gotop"><div style="display: none; margin-bottom:5px;" id="goTopBtn"><a title="返回顶部" class="gotopa"><span class="iconfont icon-rocket-fill"></span></a></div></div></body></html>