当tomcatclosures时,我在catalina.out日志文件中得到以下消息。 我正在使用Tomcat 7.x和Tomcat JDBC数据源。 Mar 26, 2013 1:17:52 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc SEVERE: The web application [/my_webapp] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. Mar 26, 2013 1:17:52 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application […]
在我的应用程序中,我有一个在web.xml中定义的servlet: <servlet> <display-name>Notification Servlet</display-name> <servlet-name>NotificationServlet</servlet-name> <servlet-class>com.XXX.servlet.NotificationServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>NotificationServlet</servlet-name> <url-pattern>/notification/*</url-pattern> </servlet-mapping> 移动到使用Tomcat 7后,我想使用@WebServlet注释来完成这项工作。 这是我做的方式: @WebServlet( name="NotificationServlet", displayName="Notification Servlet", urlPatterns = {"/notification"}, loadOnStartup=1) public class NotificationServlet extends HttpServlet { 它不起作用。 有人能告诉我我做错了什么吗?
我包括: 所有的spring库存 , Apache Tomcat 7.0库 在构buildpath 但它仍然给错误: SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226) at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Jun 2, 2011 11:07:38 AM org.apache.catalina.core.StandardContext listenerStart SEVERE: Error configuring application […]
我知道我可以重命名我的webapp(或它的WAR文件)到ROOT,但这是一个可怕的方式来做到这一点,恕我直言。 现在我检查了tomcat文档,它说 不build议将元素直接放在server.xml文件中 所以我尝试了另一种方法。 单独的上下文元素可以被明确地定义:在/META-INF/context.xml里的应用程序文件中的单个文件中。 所以我用下面的代码创build了一个/META-INF/context.xml , <?xml version="1.0" encoding="UTF-8"?> <Context antiJARLocking="true" path="/"/> 但是在部署完成后,当我重新启动服务器时,它仍然无法在“/”加载上下文,但仍然加载了"/<WEB_APP_NAME>" 任何指针都有帮助。
我试图创建一个连接到我的数据库,当我把测试我的代码使用主要的方法,它可以无缝工作。 但是,尝试通过Tomcat 7访问它时,会失败,并显示错误: No suitable driver found for jdbc:mysql://localhost/dbname. 我正在使用池。 我把mysql连接器(5.1.15),dbcp(1.4)和pool(1.4.5)库放在WEB-INF / lib和.classpath中。 我正在使用Eclipse IDE。 我的数据库驱动程序的代码是: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import org.apache.tomcat.dbcp.dbcp.ConnectionFactory; import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolingDriver; import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool; public class DatabaseConnector { public static String DB_URI = "jdbc:mysql://localhost/dbname"; public static String DB_USER = "test"; public static String DB_PASS = "password"; // […]