我查了下官方的说明,倒是很简单
可是按其说明配置后,系统总是报错我的myapp.xml配置如下:<?xml version='1.0' encoding='utf-8'?>
<Context docBase="Chat" path="/Chat" reloadable="true" workDir="work\Catalina\localhost\Chat">
<Loader className="ht.util.MyClassLoader" reloadable="true" delegate="false"/>
</Context>启动后报错:
java.lang.IllegalArgumentException: argument type mismatch
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.
java:2726)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.
java:2752)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:106
1)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endEleme
nt(AbstractSAXParser.java:633)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.
emptyElement(AbstractXMLDocumentParser.java:221)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanStartElement(XMLDocumentFragmentScannerImpl.java:872)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Ab
stractSAXParser.java:1242)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.processContextConfig(Contex
tConfig.java:782)
at org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig
.java:722)
at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:987
)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:279)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:120)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:50
71)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3
984)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:74
0)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja
va:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j
ava:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488
)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443
)
at org.apache.catalina.core.StandardService.start(StandardService.java:4
48)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700
)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2007-12-21 9:57:43 org.apache.catalina.startup.ContextConfig processContextConfi
g
严重: Occurred at line 4 column 52
2007-12-21 9:57:43 org.apache.catalina.startup.ContextConfig start
严重: Marking this application unavailable due to previous error(s)
2007-12-21 9:57:43 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2007-12-21 9:57:43 org.apache.catalina.core.StandardContext start
严重: Context [/chat] startup failed due to previous errors
2007-12-21 9:57:46 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8088
2007-12-21 9:57:56 org.apache.jk.common.ChannelSocket init
可是按其说明配置后,系统总是报错我的myapp.xml配置如下:<?xml version='1.0' encoding='utf-8'?>
<Context docBase="Chat" path="/Chat" reloadable="true" workDir="work\Catalina\localhost\Chat">
<Loader className="ht.util.MyClassLoader" reloadable="true" delegate="false"/>
</Context>启动后报错:
java.lang.IllegalArgumentException: argument type mismatch
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.
java:2726)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.
java:2752)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:106
1)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endEleme
nt(AbstractSAXParser.java:633)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.
emptyElement(AbstractXMLDocumentParser.java:221)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanStartElement(XMLDocumentFragmentScannerImpl.java:872)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Ab
stractSAXParser.java:1242)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.processContextConfig(Contex
tConfig.java:782)
at org.apache.catalina.startup.ContextConfig.contextConfig(ContextConfig
.java:722)
at org.apache.catalina.startup.ContextConfig.init(ContextConfig.java:987
)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfi
g.java:279)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:120)
at org.apache.catalina.core.StandardContext.init(StandardContext.java:50
71)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3
984)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:74
0)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.ja
va:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.j
ava:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488
)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443
)
at org.apache.catalina.core.StandardService.start(StandardService.java:4
48)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700
)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
2007-12-21 9:57:43 org.apache.catalina.startup.ContextConfig processContextConfi
g
严重: Occurred at line 4 column 52
2007-12-21 9:57:43 org.apache.catalina.startup.ContextConfig start
严重: Marking this application unavailable due to previous error(s)
2007-12-21 9:57:43 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2007-12-21 9:57:43 org.apache.catalina.core.StandardContext start
严重: Context [/chat] startup failed due to previous errors
2007-12-21 9:57:46 org.apache.coyote.http11.Http11BaseProtocol start
信息: Starting Coyote HTTP/1.1 on http-8088
2007-12-21 9:57:56 org.apache.jk.common.ChannelSocket init
解决方案 »
- 注册页面,多个页面的信息如何暂存?求指导!!!!!!!!!!!!
- JSP跳转到JavaScript
- 发布一个小网站需要做些什么?
- jsp 新手提问 关于 import 已经编译好的 class 文件
- 一题难倒了我,求救,
- ----------------Eclipse 开发工具使用问题------------------------------
- 各位前辈,java一般面试题有哪些,高分相求,参与给分
- 面试题:在jsp中得到form参数和URL参数的方法是什么?Session注销登陆却不关闭窗口的方法是什么?
- [求助]为什么出现空异常??
- jsp+tomcat的入门问题,(也就是《JSP由浅入深(10)Beans and Forms处理中的例子提交网页报错》)
- 为什么获取火狐浏览器搜索关键字用ajax传回来之后变成乱码?
- 如何用javaScript实现点击按钮打开一个保存对话框?
而是要深入的了解classload再去自己加载类吧它的原理大致是这样:1 调用 findLoadedClass 来查看是否存在已装入的类。
2 如果没有,那么采用那种特殊的神奇方式来获取原始字节。
3 如果已有原始字节,调用defineClass将它们转换成Class对象。
4 如果没有原始字节,然后调用findSystemClass查看是否从本地文件系统获取类。
5 如果resolve参数是true,那么调用resolveClass解析Class对象。
6 如果还没有类,返回ClassNotFoundException。
7 否则,将类返回给调用程序。
配置小意思 建议先花时间去理解classload的原理
现在手工加载测试是没有问题,就是配置不上去,呵呵。
看来无人知道了,今晚结贴。