【问题标题】:Retriving all records but still showing error in console检索所有记录但在控制台中仍显示错误
【发布时间】:2014-09-03 09:07:45
【问题描述】:

我只是创建一个简单的 servlet 并使用 mysqldb 从数据库中检索记录。我还提供了罐子"mysql-connector-java-5.1.18-bin.jar"

但它会检索所有记录并在没有任何错误的情况下执行 try 块(catch 块没有执行任何 SOP)。但它仍然显示下面描述的错误。我读过的地方 asm-all 3.3.1.jar cglib-nodep 2.1.3.jar。但没有任何影响

package com.sapphire.jdbcsql;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
/**
 * Servlet implementation class ControllerServlet
 */
@WebServlet("/ControllerServlet")
public class ControllerServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public ControllerServlet() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        Connection conn=null;
        Statement Stat=null;
        try{

            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
            Stat=conn.createStatement();


            ResultSet rs=Stat.executeQuery("select * from chatbox");
            while(rs.next()){
                System.out.println(rs.getString(1));
                System.out.println(rs.getString(2));
                System.out.println(rs.getString(4));
                System.out.println(rs.getString(3));

            }
        }
        catch(Exception e){
            System.out.println("a error started");
            e.printStackTrace();
            System.out.println("b error ended");
        }


    }

}

我得到以下异常:

java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2888)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1172)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    at com.opensymphony.xwork2.util.finder.ClassFinder.readClassDef(ClassFinder.java:717)
    at com.opensymphony.xwork2.util.finder.ClassFinder.<init>(ClassFinder.java:112)
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:390)
    at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:347)
    at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:268)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489)
    at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
    at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4656)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5309)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    ... 30 more

Jul 12, 2014 10:08:27 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Jul 12, 2014 10:08:27 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Jul 12, 2014 10:08:27 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5588 ms

【问题讨论】:

    标签: java mysql eclipse servlets jdbc


    【解决方案1】:

    正如堆栈跟踪所说 Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.EmptyVisitor 这意味着您的类路径中没有 asm-commons jar

    只需将 asm-commons.jar 提供给类路径,从 here 获取即可

    【讨论】:

    • 我在 lib 文件夹中插入 asm-commons-3.3.jar 但仍然是同样的错误:(
    • 如果是eclipse,则右键单击lib中的jar并将其添加到构建路径
    • 我从 lib 以及类路径中删除了 asm-commons.jar。再次清理网络服务器并重新部署项目,但没有错误:(。你能解释一下为什么吗?
    • 从这里很难说可能是你已经在类路径中有 jar
    【解决方案2】:

    这不是检索所有记录的问题,因为您的问题发生在此之前很久。

    您有一个使用 opensymphony 的 struts2 应用程序,但您没有正确部署这些软件包,因此您收到此错误。您需要重新访问 opensymphony 的文档并确保您正确地遵循了文档,以便您可以创建“Hello World”@WebServlet

    然后,而不是在那之前,您可以再次查看此代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 2021-09-23
      • 2013-12-09
      相关资源
      最近更新 更多