这篇主要记录下,我自己使用过程中遇到的问题以及解决方案:
1. 在Nutch的搜索框中输入中文变成乱码的问题。问题是由Tomcat引起的,只要在Tomcat的conf\server.xml指定编码便可解决问题,修改后的内容如下:
<Connector
port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true" />
其中URIEncoding="UTF-8"和useBodyEncodingForURI="true"是要添加的内容。
2. 错误信息:
Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.
你漏了在conf/crawl-urlfilter.txt中设置搜索范围,详见上篇。
3. 错误信息:
failed with: java.lang.RuntimeException: Agent name not configured!
你漏了设置爬虫的Agent信息,详见上篇。
4.执行查询时候出现这个错误
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /search.jsp(151,22) Attribute value language + "/include/header.html" is quoted with " which must be escaped when used within the value
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
分析:查看nutch Web应用根目录下的search.jsp可知,是引号匹配的问题。
"<%= language + "/include/header.html"%>"/> //line 152 search.jsp
第一个引号和后面第一个出现的引号进行匹配,而不是和这一行最后一个引号进行匹配,所以问题就出现了。
解决方法:
将该行代码修改为:
这里我们定一个字符串urlsuffix,我们把它定义在language字符串定义之后,
String language = // line 116 search.jsp
ResourceBundle.getBundle("org.nutch.jsp.search", request.getLocale())
.getLocale().getLanguage();
String urlsuffix="/include/header.html";
修改完成后,为确保修改成功,重启一下Tomcat服务器,进行搜索,不再报错。
贴个我大功告成后的图: happy中,毕业设计终于有点小眉目了.虽然一直很BS win但是毕业设计回归win还是发现N多好处的^_^.开始学习nutch+aglet
阅读(4175) | 评论(13) | 转发(0) |