帮个忙,TOMCAT4.1.29,加载LINSTER说类找不到.....
主要目的实在系统启动的时候加载一XML格式菜单
原始代码如下:
package com.elkstudio.sms.web;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletContextEvent;
import java.util.HashMap;
//FJSMS IMPORT
import com.elkstudio.sms.dao.MenuXmlDao;
import com.elkstudio.sms.web.SmsWebKeys;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
/**
* <p>Title: ELKSMS WEB PART</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) elk studio 2003</p>
* <p>Company: elk studio </p>
* @author please enter your name
* @version 1.0
*/
public class MenuManager implements ServletContextListener{
private ServletContext context = null;
/**
* Log a message to the servlet context application log.
*
* @param message Message to be logged
*/
private void log(String message) {
if (context != null)
context.log("ContextListener: " + message);
else
System.out.println("ContextListener: " + message);
}
public void contextInitialized(ServletContextEvent event) {
this.context = event.getServletContext();
if (context.getAttribute(SmsWebKeys.SYSMENU_LOCATOR) == null) {
System.err.println("ready to get mi..............");
HashMap mi = (HashMap) MenuXmlDao.getMenuItems(MenuXmlDao.loadDocument(
"/WEB-INF/sysmenu.xml"));
context.setAttribute(SmsWebKeys.
SYSMENU_LOCATOR, mi);
System.err.println("get mi ok!");
}
log("contextInitialized()");
}
public void contextDestroyed(ServletContextEvent event) {
this.context = event.getServletContext();
if (context.getAttribute(SmsWebKeys.SYSMENU_LOCATOR)!=null)
context.removeAttribute(SmsWebKeys.SYSMENU_LOCATOR);
}
}
错误如下:
2003-12-02 14:02:59 StandardContext[/fjsms]: Error configuring application listener of class com.elkstudio.sms.web.MenuManager
java.lang.ClassNotFoundException: com.elkstudio.sms.web.MenuManager
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1443)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1289)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3238)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3613)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:307)
at org.apache.catalina.core.StandardHost.install(StandardHost.java:788)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:559)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:401)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:718)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:358)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1196)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
at org.apache.catalina.core.StandardService.start(StandardService.java:497)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:2190)
at org.apache.catalina.startup.Catalina.start(Catalina.java:512)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:400)
at org.apache.catalina.startup.Catalina.process(Catalina.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203)