??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
多׃行提CZ?例如:
严重: Error listenerStart
严重: Context [/] startup failed due to previous errors
或?/p>
严重: Error filterStart
org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
查找logs目录下的信息,除了q两句话,也没别的辅助内容.
l查错带来了困难,在这U情况下,是因为Tomcat自n的默认日志没有将一些错误信息输出到控制台或文g,
q个时候则需要配|Tomcat自n的log,启用详细的调试日?
3.log4j配置文g:
log4j.properties
配置内容?
log4j.rootLogger=ERROR,R
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%p]%t-%c-%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p]%t-%c-%m%n
log4j.logger.org.apache.catalina=INFO,R,CONSOLE
#日志U别不能太低,如果配置为debug的话,输出的日志信息太?Dtomcat启动非常的慢.
4.Tomcat 6.0所需的juli替换文g:
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.18/bin/extras/tomcat-juli-adapters.jar
http://www.apache.org/dist/--escaped_anchor:079305423cce36d6691457475e081123--/tomcat-6/v6.0.18/bin/extras/tomcat-juli.jar
以上两个链接基本没用Q大家可以搜索一下,csdn上面有h提供jar包下载,q里附g也不能加Q没有办法?br />
在Tomcat6.0?
tomcat-juli-adapters.jar,log4j-1.2.15.jar,log4j.properties复制到D:\Java\ApacheTomcat6.0.14\lib下面.
tomcat-juli.jar复制到D:\Java\apache-tomcat-6.0.14\bin\下面.
然后启动tomcat,可以在D:\Java\apache-tomcat-6.0.14\logs下看到tomcat.log?
在这个时?再通过日志文g来分?则会发现出现q种错误的情况可能有:
(以下是我遇到的出错情?大多是些低错误)
1.webapps要用到的classe文gҎ没有复制到WEB-INF/classes目录下面
(java.lang.NoClassDefFoundError,而这个信息可能默认没输出到控制台,其是用了spring?昨天是q个_心的低U错?
2.要用到lib文g没有复制?~少lib
3.lib下的同一个库的jar文g存在多个不同版本,引v版本冲突.
4.lib下的jar与tomcat版本不相对应(我遇到的问题是web应用在Tomcat5.5上运行正?换到Tomcat6.0上就出错,
例如一个用了struts的webapp在Tomcat 6上报下面的错?br />“Parse Fatal Error at line 17 column 6: The processing instruction
target matching “[xX][mM][lL]” is not allowed” )
愿意看英文的可以参考官方网站说?
http://tomcat.apache.org/tomcat-6.0-doc/logging.html
标记一下:Q?nbsp;
目前计算Z用得最q泛的字W集及其~码Q是?a class=vLink1 id=vad_0 onmouseover="if(typeof(showTitle)!='undefined'){this.title='';window.clearTimeout(hideTO);showTitle(event, this, 0,'');}" title="Ƨ洲旅游最卓越服务与报?@Vogate.com" style="FONT-SIZE: 1em" onclick="" onmouseout="if(typeof(showTitle)!='undefined'){mouseIsOverLayer = false; mouseOverWhileLoad = false; hideTO = window.setTimeout('checkIfMouseOverLayer()',500);}" target=_blank>国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information InterchangeQ美国标准信息交换码Q,它已被国际标准化l织QISOQ定为国际标准,UCؓISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码?位码两种形式?br> 因ؓ1位二q制数可以表C(21=Q?U状态:0?Q?位二q制数可以表C(22Q?4U状态:00?1?0?1Q依ơ类推,7位二q制数可以表C(27=Q?28U状态,每种状态都唯一地编Z?位的二进制码Q对应一个字W(或控制码Q,q些码可以排列成一个十q制序号0?27。所以,7位ASCII码是用七位二q制数进行编码的Q可以表C?28个字W?br> W??2号及W?27??4?是控制字W或通讯专用字符Q如控制W:LFQ换行)、CRQ回车)、FFQ换)、DELQ删除)、BELQ振铃){;通讯专用字符QSOHQ文_、EOTQ文)、ACKQ确认){;
W?3?26??4?是字W,其中W?8?7号ؓ0?十个阿拉?a class=vLink1 id=vad_2 onmouseover="if(typeof(showTitle)!='undefined'){this.title='';window.clearTimeout(hideTO);showTitle(event, this, 2,'');}" title="TCL电视 @Vogate.com" style="FONT-SIZE: 1em" onclick="" onmouseout="if(typeof(showTitle)!='undefined'){mouseIsOverLayer = false; mouseOverWhileLoad = false; hideTO = window.setTimeout('checkIfMouseOverLayer()',500);}" target=_blank>数字Q?5?0号ؓ26个大写英文字母,97?22号ؓ26个小写英文字母,其余Z些标点符受运符L?br> 注意Q在计算机的存储单元中,一个ASCII码值占一个字?8个二q制?Q其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过E中用来验是否出现错误的一U方法,一般分奇校验和偶校验两U。奇校验规定Q正的代码一个字节中1的个数必L奇数Q若非奇敎ͼ则在最高位b7?Q偶校验规定Q正的代码一个字节中1的个数必L偶数Q若非偶敎ͼ则在最高位b7??br> Z便于查询Q以下列出ASCII码表Q?br> W?28?55号ؓ扩展字符Q不常用Q?
import java.io.IOException;
import java.net.URL;
import java.util.Iterator;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
public class Feed {
public static void main(String[] args) throws Exception {
SyndFeedInput input = new SyndFeedInput();
//System.out.println(warmedFeed);
SyndFeed feed = input.build(new XmlReader(new URL("
http://rss.news.yahoo.com/rss/topstories
")));
// Iterate through feed items, adding a footer each item
Iterator entryIter = feed.getEntries().iterator();
while (entryIter.hasNext()) {
SyndEntry entry = (SyndEntry) entryIter.next();
System.out.println(entry.getPublishedDate());
System.out.println(entry.getTitle());
//System.out.println(entry.getDescription());
//System.out.println(entry.getAuthor());
System.out.println(entry.getLink());
}
}
}
2、用rome+rome fetcher
package com.ivo.rss;
import java.net.URL;
import java.util.List;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.fetcher.FeedFetcher;
import com.sun.syndication.fetcher.impl.FeedFetcherCache;
import com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;
public class RssReader {
public static void main(String[] args) throws Exception {
FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance();
FeedFetcher feedFetcher = new HttpURLFeedFetcher(feedInfoCache);
SyndFeed feed = feedFetcher.retrieveFeed(new URL(
"
http://feeds.feedburner.com/jscud
"));
List entryList = feed.getEntries();
for (int i = 0; i < entryList.size(); i++) {
SyndEntry entry = (SyndEntry) entryList.get(i);
System.out.println("Published Date: "+entry.getPublishedDate());
System.out.println("Title: "+entry.getTitle());
System.out.println("Link: "+entry.getLink());
//System.out.println(entry.getDescription());
SyndContent sc = entry.getDescription();
System.out.println("Description: "+sc.getValue());
System.out.println("------------------------------");
}
}
}
上面是用了~存?也就是说更新才读?如果每次都读?则修改对应行?
FeedFetcher feedFetcher = new HttpURLFeedFetcher();