1.servlet是持久的。servlet只需Web服务器加载一次,后续又用到这个servlet,就不需要再加载。(所谓加载是指servlet加载进JVM运行)
2.servlet是与平台无关的。
3.servlet是可扩展的。
ActionServlet继承自javax.servlet.http.HttpServlet类,其在Struts framework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器Action。
Servlet的原理图描述如下:
图2.1 Servlet的原理
使用servlet有几个优点:
一是有效性,servlet的初始化代码仅在web服务器第一次加载的时候执行一次,一旦加载了servlet,在处理一个新的请求的时候,只须调用一个新的服务方法。与处理每个请求都要全部加载一个完整的可执行程序相比,效率得到了大大的提高。
二是稳定性,servlet能够文护每个请求的状态,一旦加载了servlet,它就驻留在内存中,对收到的请求提供服务。
三是可移植性,servlet是用java开发的,因此它是可移植的,这种可移植性使servlet能够移植到新的操作系统中而不必改变代码。
四是安全性,servlet在服务器端运行,因此,安全性由web服务器提供能保障,servlet也能够利用java Security Manager提供的安全性功能。
2.2 解析HTML
因为Web中的信息都是建立在HTML协议之上的,所以网络爬虫在检索网页时的第一个问题就是如何解析HTML。在解决如何解析之前,先来介绍下HTML中的几种数据。
文本:除了脚本和标签之外的所有数据;
注释:程序员留下的说明文字,对用户是不可见的;
简单标签:由单个表示的HTML标签;
开始标签和结束标签:用来控制所包含的HTML代码。
我们在进行解析的时候不用关心所有的标签,只需要对其中几种重要的进行解析。
超连接标签:超连接定义了WWW通过Internet链接文档的功能。他们的主要目的是使用户能够任意迁移到新的页面,这正是网络机器人最关心的标签。
图像映射标签:图像映射是另一种非常重要的标签。它可以让用户通过点击图片来迁移到新的页面中。
表单标签:表单是Web页面中可以输入数据的单元。许多站点让用户填写数据然后通过点击按钮来提交内容,这就是表单的典型应用。
表格标签:表格是HTML的构成部分,通常用来格式化存放、显示数据。
我们在具体解析这些HTML标签有两种方法:通过JavaTM中的Swing类来解析或者通过HTMLParser类来解析。 网络爬虫的设计与实现+文献综述(5):http://www.751com.cn/jisuanji/lunwen_5324.html