搜索引擎蜘蛛爬行统计分析程序开发总结
“crossie”通过精心收集,向本站投稿了6篇搜索引擎蜘蛛爬行统计分析程序开发总结,这次小编在这里给大家整理后的搜索引擎蜘蛛爬行统计分析程序开发总结,供大家阅读参考。
篇1:搜索引擎蜘蛛爬行统计分析程序开发总结
一、搜索引擎蜘蛛爬行统计分析的必要性: 蜘蛛顺利爬行网页是网页被搜索引擎收录的前提条件,搜索引擎是否已爬行了网站,爬行了哪些...
一、搜索引擎蜘蛛爬行统计分析的必要性:
蜘蛛顺利爬行网页是网页被搜索引擎收录的前提条件,搜索引擎是否已爬行了网站,爬行了哪些页面以及返回哪些信息给蜘蛛,掌握了这些情况我们才能对网站进行有针对性的优化改良,因此查看蜘蛛爬行日志是一件非常重要但却非常痛苦的工作,尤其是SEOER及新站站长来说,比如从网上看到蜘蛛爬行某个页面后如果返回200 0 64 ,则表示此网页极有可能要被搜索引擎删除,HEAD 请求返回404也表示要删除网页,如果我们能根据日志及时发现此现象就能根据实际情况及时做出调整。又如,蜘蛛爬行返回的301,302重定向及404错误等信息,也是网站管理员需要关心的问题。因此可以看出分析蜘蛛爬行日志的必要性。
二、蜘蛛爬行统计的方法:
由于蜘蛛机器人在网站爬行时是不会爬行JS(多次爬行只执行0次或者一次),flash,img等标签的,因此,目前第三方统计软件 (如阿江、中国站长站、雅虎、google等统计系统)还无法统计到蜘蛛爬行记录。因此目前分析蜘蛛爬行主要通过以下方法: 1、利用PHP,ASP根据浏览器返回的USER_AGENT来动态进行跟踪记录,这样的确可以实现目的,但其缺点很明显:
a)加重服务器负担,对于内容多及权重高的网站,蜘蛛抓取是非常频繁的。在网页中插入的代码会额外加重服务器的负担。
b)由于搜索引擎相对来说比较喜欢静态页面,很多网站都利用CMS把内容生成静态文件,这样就无法统计了。湖南某seo公司介绍使用img标签或者script方式,即在静态文件中将统计脚本利用img或者script标签调用的方式,此方法经过我一个月的试验,无法实现,蜘蛛不抓取页面。
2、利用第三方日志分析工具:如linux下awstats及windows下的Webalizer,其缺点也很明显。比如如果您是虚拟主机用户的话,由于每天产生的日志非常多,每次分析时下载日志文件是一件非常痛苦的事。同时这些软件太专业了,不适合一般站长使用。
3、如果您有更好的蜘蛛爬行分析方法请您和广大站长一起分享。
三、专门针对搜索引擎蜘蛛爬行统计的日志分析工具开发总结:
1、我们分析日志中需要关心蜘蛛爬行相关资料:
a)蜘蛛爬行日期:根据此来查找蜘蛛爬行的规律。
b)蜘蛛IP地址:不同来源的IP地址的蜘蛛的作用是不同,可以结合爬行日期及下面要讲到的请求方式HEAD,GET来进行更详细的规律总结。
c)请求方式:主要有HEAD和GET方式,其作用是不同的。HEAD方式一般是上次蜘蛛来访问时发生一次或多次404错误,因此蜘蛛发送HEAD请求确认此网页是否存在,一旦发送此请求如果返回依然是404的话,那么您的网页就要被搜索引擎从数据库中删除了。GET方式大家都很明白就不说明了。
d)爬行页面:蜘蛛爬行了哪些页面,
e)状态码:服务器给蜘蛛返回的状态码,我们一般关心的是200,301,304,302,404,尤其是404及301,302。404表示死链,极大影响网站优化,301,302目前还是不能被搜索引擎友好识别,有作弊的嫌疑。
f)流量:在落伍上看到很多个人站长反应自己的服务器被蜘蛛拖跨,虽然这种说法有点夸张,但对服务器产生的压力绝对不容忽视,尤其是某些太疯狂的蜘蛛,每天产生很大的流量,因此我们需要统计出这些蜘蛛的相关信息,对我们不关系的搜索引擎蜘蛛可以在robots.txt中进行限制,以节约我们宝贵的服务器资源。
综合以上考虑,使用WEB语言开发一套一个使用简单,但功能专业的蜘蛛爬行统计程序放在自己的WEB空间上。这样可以随时随地检查蜘蛛爬行日志是非常必须的,并且可以避免下载日志的痛苦(当然,如果您使用的是独立服务器的话且你能熟练使用那些专业的日志分析工具就不提了),如果能实现以上功能的同时我们在结合一些第三方的统计工具,那么我们小站长就完全可以撇开那些专业的日志分析软件。
2、开发语言的选择:由于这套分析程序是放在WEB服务器上的,因此考虑移植性是非常重要的,在WEB语言中,主要有JSP,php,asp,asp.net语言,JSP一般服务器是不支持的,ASP及.net在LINUX平台下不支持,唯一可以选择的是PHP语言。一般的windows及linux主机都会支持。其可移植性比较好。
3、程序扩展性:毕竟一个人的能力无法满足大家不同的需求,因此程序在设计时将数据分析和表现进行隔离,我们将蜘蛛数据分析模块独立出一个只有7行代码的文件,可以方便的根据服务器日志的格式重写,因此您如果更换空间或者日志格式发生变化,您只需要根据我们提供的接口标准对分析模块重写即可,这并不需要多么高的程序开发水平。而不需要动其他任何文件,或者您将您的日志样本提供给我们,我们为您重写.程序还可以自定义统计蜘蛛类型,这样可以提高分析速度,远程分析日志等。
4、难点及局限性:在开发过程中遇到一个非常重要的问题,就是分析速度,WEB日志动辙几十上百兆甚至G级,因此对于使用PHP语言来分析,既要考虑服务器承受能力,又要考虑分析速度,否则很容易导致超时现象,因此一套高效的算法是非常重要的,同时由于一般的日志记录条数都很多,我们放弃使用数据库,因为几十万条数据的插入及百万级的数据查询是相当痛苦的事情,对服务器的压力太大,会把你的服务器瞬时CPU达到峰值,而且这些数据并不需要长期保存,毕竟要考虑大多数的虚拟主机站长.同时为了满足部分站长的需求,程序将分析出来的蜘蛛日志按一定的格式写入文本文件,您可以自己用任何一种语言编写一段简单的读文件,插入数据库的代码将日志长期保存。通过不同的算法比较,目前找到的最好的算法分析速度如下:
本地分析: P4 1.7G+512M内存+WinXp环境(笔记本):
日志:100万行,完全分析时间:10-15秒
VPS:384M内存+ Linux:
日志:100万行,完全分析时间:22-28秒
远程分析:即日志和分析系统不在同一台机器上,远程分析的速度主要取决于两个网络之间的速度。
远程环境(日志存放位置):VPS:384M内存+ Linux,10M带宽共享
本地环境(分析系统位置):P4 1.7G+512M内存+WinXp环境(笔记本),2M ADSL拨号网络
日志:15万行,完全分析时间:20-25秒
由此可见,远程分析速度只有本地分析的1/10,因此还是建议将系统上传到WEB服务器上,也可以节约您空间宝贵的流量。
篇2:搜索引擎爬虫蜘蛛爬行统计分析程序开发总结
一、搜索引擎蜘蛛爬行统计分析的必要性: 蜘蛛顺利爬行网页是网页被搜索引擎收录的前提条件,搜索引擎是否已爬行了网站,爬行了哪些...
一、搜索引擎蜘蛛爬行统计分析的必要性:
蜘蛛顺利爬行网页是网页被搜索引擎收录的前提条件,搜索引擎是否已爬行了网站,爬行了哪些页面以及返回哪些信息给蜘蛛,掌握了这些情况我们才能对网站进行有针对性的优化改良,因此查看蜘蛛爬行日志是一件非常重要但却非常痛苦的工作,尤其是SEOER及新站站长来说,比如从网上看到蜘蛛爬行某个页面后如果返回200 0 64 ,则表示此网页极有可能要被搜索引擎删除,HEAD 请求返回404也表示要删除网页,如果我们能根据日志及时发现此现象就能根据实际情况及时做出调整。又如,蜘蛛爬行返回的301,302重定向及404错误等信息,也是网站管理员需要关心的问题。因此可以看出分析蜘蛛爬行日志的必要性。
二、蜘蛛爬行统计的方法:
由于蜘蛛机器人在网站爬行时是不会爬行JS(多次爬行只执行0次或者一次),flash,img等标签的,因此,目前第三方统计软件 (如阿江、中国站长站、雅虎、google等统计系统)还无法统计到蜘蛛爬行记录。因此目前分析蜘蛛爬行主要通过以下方法: 1、利用PHP,ASP根据浏览器返回的USER_AGENT来动态进行跟踪记录,这样的确可以实现目的,但其缺点很明显:
a)加重服务器负担,对于内容多及权重高的网站,蜘蛛抓取是非常频繁的。在网页中插入的代码会额外加重服务器的负担。
b)由于搜索引擎相对来说比较喜欢静态页面,很多网站都利用CMS把内容生成静态文件,这样就无法统计了。湖南某seo公司介绍使用img标签或者script方式,即在静态文件中将统计脚本利用img或者script标签调用的方式,此方法经过我一个月的试验,无法实现,蜘蛛不抓取页面。
2、利用第三方日志分析工具:如linux下awstats及windows下的Webalizer,其缺点也很明显。比如如果您是虚拟主机用户的话,由于每天产生的日志非常多,每次分析时下载日志文件是一件非常痛苦的事。同时这些软件太专业了,不适合一般站长使用。
3、如果您有更好的蜘蛛爬行分析方法请您和广大站长一起分享。
三、专门针对搜索引擎蜘蛛爬行统计的日志分析工具开发总结:
1、我们分析日志中需要关心蜘蛛爬行相关资料:
a)蜘蛛爬行日期:根据此来查找蜘蛛爬行的规律。
b)蜘蛛IP地址:不同来源的IP地址的蜘蛛的作用是不同,可以结合爬行日期及下面要讲到的请求方式HEAD,GET来进行更详细的规律总结。
c)请求方式:主要有HEAD和GET方式,其作用是不同的。HEAD方式一般是上次蜘蛛来访问时发生一次或多次404错误,因此蜘蛛发送HEAD请求确认此网页是否存在,一旦发送此请求如果返回依然是404的话,那么您的网页就要被搜索引擎从数据库中删除了。GET方式大家都很明白就不说明了。
d)爬行页面:蜘蛛爬行了哪些页面。
e)状态码:服务器给蜘蛛返回的状态码,我们一般关心的是200,301,304,302,404,尤其是404及301,302,
404表示死链,极大影响网站优化,301,302目前还是不能被搜索引擎友好识别,有作弊的嫌疑。
f)流量:在落伍上看到很多个人站长反应自己的服务器被蜘蛛拖跨,虽然这种说法有点夸张,但对服务器产生的压力绝对不容忽视,尤其是某些太疯狂的蜘蛛,每天产生很大的流量,因此我们需要统计出这些蜘蛛的相关信息,对我们不关系的搜索引擎蜘蛛可以在robots.txt中进行限制,以节约我们宝贵的服务器资源。
综合以上考虑,使用WEB语言开发一套一个使用简单,但功能专业的蜘蛛爬行统计程序放在自己的WEB空间上。这样可以随时随地检查蜘蛛爬行日志是非常必须的,并且可以避免下载日志的痛苦(当然,如果您使用的是独立服务器的话且你能熟练使用那些专业的日志分析工具就不提了),如果能实现以上功能的同时我们在结合一些第三方的统计工具,那么我们小站长就完全可以撇开那些专业的日志分析软件。
2、开发语言的选择:由于这套分析程序是放在WEB服务器上的,因此考虑移植性是非常重要的,在WEB语言中,主要有JSP,php,asp,asp.net语言,JSP一般服务器是不支持的,ASP及.net在LINUX平台下不支持,唯一可以选择的是PHP语言。一般的windows及linux主机都会支持。其可移植性比较好。
3、程序扩展性:毕竟一个人的能力无法满足大家不同的需求,因此程序在设计时将数据分析和表现进行隔离,我们将蜘蛛数据分析模块独立出一个只有7行代码的文件,可以方便的根据服务器日志的格式重写,因此您如果更换空间或者日志格式发生变化,您只需要根据我们提供的接口标准对分析模块重写即可,这并不需要多么高的程序开发水平。而不需要动其他任何文件,或者您将您的日志样本提供给我们,我们为您重写.程序还可以自定义统计蜘蛛类型,这样可以提高分析速度,远程分析日志等。
4、难点及局限性:在开发过程中遇到一个非常重要的问题,就是分析速度,WEB日志动辙几十上百兆甚至G级,因此对于使用PHP语言来分析,既要考虑服务器承受能力,又要考虑分析速度,否则很容易导致超时现象,因此一套高效的算法是非常重要的,同时由于一般的日志记录条数都很多,我们放弃使用数据库,因为几十万条数据的插入及百万级的数据查询是相当痛苦的事情,对服务器的压力太大,会把你的服务器瞬时CPU达到峰值,而且这些数据并不需要长期保存,毕竟要考虑大多数的虚拟主机站长.同时为了满足部分站长的需求,程序将分析出来的蜘蛛日志按一定的格式写入文本文件,您可以自己用任何一种语言编写一段简单的读文件,插入数据库的代码将日志长期保存。通过不同的算法比较,目前找到的最好的算法分析速度如下:
本地分析: P4 1.7G+512M内存+WinXp环境(笔记本):
日志:100万行,完全分析时间:10-15秒
VPS:384M内存
日志:100万行,完全分析时间:22-28秒
远程分析:即日志和分析系统不在同一台机器上,远程分析的速度主要取决于两个网络之间的速度。
远程环境(日志存放位置):VPS:384M内存+ Linux,10M带宽共享
本地环境(分析系统位置):P4 1.7G+512M内存+WinXp环境(笔记本),2M ADSL拨号网络
日志:15万行,完全分析时间:20-25秒
由此可见,远程分析速度只有本地分析的1/10,因此还是建议将系统上传到WEB服务器上,也可以节约您空间宝贵的流量。
以上是我在开发这套程序的总结,程序目前已完成核心的分析功能及显示功能
篇3:WordPress搜索引擎蜘蛛爬行记录代码
写博客也有一段时间了,为什么搜索引擎迟迟不收录你的页面呢?想知道每天都有哪些蜘蛛“拜访”你的网站吗?作为一名wordpress用户,有必要知道每天都有哪些蜘蛛爬行过你的网站,以便于了解各搜索引擎蜘蛛爬行频率,对网站进行针对性的SEO优化,
其实很简单,只要添加以下代码,然后再调用文件代码就OK了,是不是很方便呢?那就开始行动吧。
之前我也找过几个蜘蛛爬行记录工具PHP版,结果都不尽人意。而且这些PHP程序大多要进行安装,还要将蜘蛛爬行记录添加到MYSQL中,未免太麻烦。那就寻找一个简易的蜘蛛爬行记录器吧~
googlebot
1.首先,在wordpress主题根目录建立一个robots.php文件,写入以下内容:
function get_naps_bot
{
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, ’googlebot’) !== false){
return ’Googlebot’;
}
if (strpos($useragent, ’msnbot’) !== false){
return ’MSNbot’;
}
if (strpos($useragent, ’slurp’) !== false){
return ’Yahoobot’;
}
if (strpos($useragent, ’baiduspider’) !== false){
return ’Baiduspider’;
}
if (strpos($useragent, ’sohu-search’) !== false){
return ’Sohubot’;
}
if (strpos($useragent, ’lycos’) !== false){
return ’Lycos’;
}
if (strpos($useragent, ’robozilla’) !== false){
return ’Robozilla’;
}
return false;
}
function nowtime(){
$date=gmdate(”Y-n-j H:i:s”,time()+8*3600);
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$file=”robotslogs.txt”;
$time=nowtime();
$data=fopen($file,”a”);
fwrite($data,”Time:$time robot:$searchbot URL:$tlc_thispagen”);
fclose($data);
}
?>
将其上传于你的主题目录内,
2.在Footer.php或header.php的适当位置添加以下代码调用robots.php。
程序原理:通过对蜘蛛标识符(如Baiduspider、Googlebot)的判断,记录蜘蛛爬行时间,并生成日志文件robotslogs.txt于根目录。
程序缺点:无法记录蜘蛛爬行的页面,功能较为简单。
请注明:白开水的博客
篇4:从日志中,了解搜索引擎蜘蛛爬行经过
网站能在搜索引擎被搜到,归功于搜索引擎蜘蛛抓取的功劳,权重高,更新快的网站,搜索引擎蜘蛛会经常爬行,抓取网站最新数据,经过搜索引擎数据整理后,在搜索引擎上就能搜索到网站的网页,为了更好的SEO优化网站,了解搜索引擎蜘蛛爬行规则也是相当重要的,怎么才能知道搜索引擎蜘蛛在爬行网站时间、爬行网页、爬行反映呢,就要查看网站iis日志文件, iis默认的日志文件在C:WINDOWSsystem32LogFiles中,从查看日志中,就可以了解搜索引擎蜘蛛爬行经过,如:
-08-19 00:09:12 W3SVC962713505 203.171.226.111 GET / - 80 - 61.135.168.39 Baiduspider+
(+www.baidu.com/search/spider.htm) 200 0 64
1、203.171.226.111就是搜索引擎蜘蛛防问的网站ip,
2、61.135.168.39 Baiduspider代表,百度搜索引擎蜘蛛的ip是61.135.168.39,
3、代码中的/ 就代表搜索引擎蜘蛛防问的网页
4、2008-08-19 00:09:12代表搜索引擎蜘蛛爬行的日期与时间
5、代码中的200就代表搜索引擎蜘蛛爬行后返回代码代表,代码中可以了解蜘蛛爬行后的反映,代码如下:
6、W3SVC962713505代表网站日志所在的文件夹
2xx 成功
200 正常;请求已完成,
201 正常;紧接 POST 命令。
202 正常;已接受用于处理,但处理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;无响应 — 已接收请求,但不存在要回送的信息,
3xx 重定向
301 已移动 — 请求的数据具有新的位置且更改是永久的。
302 已找到 — 请求的数据临时具有不同 URI。
303 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
304 未修改 — 未按预期修改文档。
305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。
306 未使用 — 不再使用;保留此代码以便将来使用。
4xx 客户机中出现的错误
400 错误请求 — 请求中有语法问题,或不能满足请求。
401 未授权 — 未授权客户机访问数据。
402 需要付款 — 表示计费系统已有效。
403 禁止 — 即使有授权也不需要访问。
404 找不到 — 服务器找不到给定的资源;文档不存在。
407 代理认证请求 — 客户机首先必须使用代理认证自身。
410 请求的网页不存在(永久);
415 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。
5xx 服务器中出现的错误
500 内部错误 — 因为意外情况,服务器不能完成请求。
501 未执行 — 服务器不支持请求的工具。
502 错误网关 — 服务器接收到来自上游服务器的无效响应。
503 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
篇5:百度搜索引擎蜘蛛爬行与抓取工作原理SEO优化技巧
概要:主要围绕着搜索引擎与索引理论分解出,各方面对SEO优化和建站人员更加全方面理解蜘蛛抓取与索引理论相关知识,更好为SEO优化和网站程序人员怎么做一个蜘蛛抓取与索引喜欢我们网站.(今天我们先围绕着主题解说爬行抓取理论知识)蜘蛛爬行抓取:1:先了解蜘蛛爬行抓取特征主要是以“快”“全”“准”,下来会详细介绍他原理,蜘蛛我相信大家都知道,可以比喻成现实生活中蜘蛛,蜘蛛爬行需要蜘蛛网,蜘蛛网可以理解互联网,他是所有网站与网站形成非常大互联网,我们就知道想让蜘蛛喜欢快速爬行抓取你网站尽可能在建站时注意模版/列表/文章页简单和用户体验.
2:蜘蛛爬行原理特征:一种是深度优先,另一种是宽度优先:(1)为什么深度优先:我们可以了解成像小孩刚学走路前肯定先会爬行,爬路径越长越累甚至爬一半就累了想休息就回去,那我们想到网站列表/文章路劲如很长的话蜘蛛爬一半就走,走时候什么内容都没带走,(上面就提到蜘蛛爬行一个特征“快”在这个高速发展时代什么都是快,效率,结果,当在你网站爬半天都没找到内容蜘蛛觉得还不如爬其他网站)(2)另一种是宽度优先:这个更容易理解同一样层次页面蜘蛛比较喜欢内容好优先爬行抓取。www.dnzg.cn
3:快速引蜘蛛:做SEO优化外链专员挑选一些我们资源当中高权重/IP浏览用户多/百度天天快照/不会删除文章平台发一些网址让百度知道我这个网站已经建好了,很多人投票投分数给网站,(投票投分数越多越好,说明网站曝光度广)告诉百度蜘蛛你的快来爬行抓取我网站内容,
4:重复内容检测:{建站时因注意事项(动态地址静态化)(对于优化来讲url直径越短越重要)}(1):动态地址静态化我们可以简单理解成重复内容检测如 一个动态页面入口链接(URL)如hgxjwbocai.com地址指向不同一个地方,蜘蛛会觉得你这个动态页面入口里面这么多重复链接(URL)地址不知道那个链接(URL)地址是你想要让他抓取,蜘蛛会觉得抓取耗我这么长时间,就不想抓取.
(2)网站路径为:我们建站时候动态地址可以设置成静态化有利于蜘蛛抓取速度:网站的目录结构”可以通过伪静态正则设置成简短的“逻辑路径,不存在的“扁平结构”例如:a/b/c/123.html 为物理路径,通过设置伪静态规则 则显示出来的为/abc-123.html 假的逻辑路径(静态不一定是html形式的)“物理路径”指真实存在的路径“逻辑路径”指用正则修改的理想路径,一般为“扁平结构”显示,使用静态化规则可以避免网页的重复性(url的绝对性)累积权重,避免重复(做静态话可获最大分值)
5:地址库:可以理解成地址与库概念,蜘蛛“快”“全”“准”爬行抓取互联网所有URL ,然后URL地址蜘蛛抓取地址放到他想存储库里面去.这就叫地址库
本人见解分析blog.sina.com.cn/s/blog_c2c5f42f0101db41.html博客交流地址 地址,谢谢喜欢学习SEO优化爱好者们支持
篇6:总结解决JSP开发Web程序中文显示三种方法
总结解决JSP开发Web程序中文显示三种方法
方法一:最简单也是用的最多的方法 <%@ page language=“java” pageEncoding=“GBK” %>
或者<%@ page contenttype=“text/html;charset=gbk”;>这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。
这个方法用于jsp页面中的`中文显示。
方法二:使用过滤器
过滤器使用主要针对表单提交,插入数据库的数据都是?号。这也是应为tomcat不按request所指定的编码进行编码,还是自作主张的采用默认编码方式iso-8859-1编码。
编写一个SetCharacterEncodingFilter类。
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
publicclassSetCharacterEncodingFilterimplementsFilter{
protectedStringencoding=null;
protectedFilterConfigfilterConfig=null;
protectedbooleanignore=true;
publicvoidinit(FilterConfigfilterConfig)throwsServletException{
this.filterConfig=filterConfig;
this.encoding=filterConfig.getInitParameter(“encoding”);
Stringvalue=filterConfig.getInitParameter(“ignore”);
if(value==null)
this.ignore=true;
elseif(value.equalsIgnoreCase(“true”))
this.ignore=true;
else
this.ignore=false;
}
publicvoiddoFilter(
ServletRequestrequest,ServletResponseresponse,FilterChainchain)
throwsIOException,ServletException{
//TODO自动生成方法存根
if(ignore (request.getCharacterEncoding()==null)){
Stringencoding=selectEncoding(request);
if(encoding!=null)
request.setCharacterEncoding(encoding);
}
chain.doFilter(request,response);
}
publicvoiddestroy(){
//TODO自动生成方法存根
this.encoding=null;
this.filterConfig=null;
}
protectedStringselectEncoding(ServletRequestrequest){
return(this.encoding);
}
}
然后再web.xml加上
<!--SetCharacterEncoding-->
<filter>
<filter-name>SetCharacterEncoding</filter-name>
<filter-class>mon.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--SetCharacterEncoding-->
使用过滤器的好处很多,特别是项目之中。
而且在使用国际化时就更有用了,只要在页面指定 <%@ page language=“java” pageEncoding=“UTF-8” %>,服务器就会根据本地Locale来显示正确的字符集。
所以我特别推荐使用过滤器。
方法三:修改tomcat的server.xml文件中URIEncoding
<Connectordebug=“0”acceptCount=“100”connectionTimeout=“20000”disableUploadTimeout=“true”
port=“80”redirectPort=“8443”enableLookups=“false”minSpareThreads=“25”maxSpareThreads=“75”
maxThreads=“150”maxPostSize=“0”URIEncoding=“GBK”>
</Connector>
这个方法主要针对从url中获取字符串的问题。
在tomcat5.0及以上版本,post和get方法在处理编码时有所不同。如果你在url中获取中文就会出现?号。但在tomcat4.1版本没有问题,因为tomcat4.1的post和get方法在处理编码时是一样的。
【搜索引擎蜘蛛爬行统计分析程序开发总结】相关文章:






文档为doc格式