动不了一点 2024-07-12 15:51 采纳率: 17.2%
浏览 1

找不到报错原因,依赖正确填写了

后端代码:

public class Login_rigister_BaseServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        //String method = request.getParameter("method");
        String method2 = request.getMethod();
        //System.out.println(method);
        System.out.println(method2);
       if(method2.equals("GET")){
           System.out.println(111);
           String id = request.getParameter("id");
           System.out.println("id:"+id);
       }
        else if(method2.equals("POST")){
           String jsonString = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
           System.out.println(jsonString);
           System.out.println("这里2");
           JSONObject jsonObject = new JSONObject(jsonString);
           System.out.println("这里1");
           String methodName = jsonObject.getString("method");
           System.out.println(2212);
           System.out.println("这是:"+methodName);

           Login_rigister_control lc = new Login_rigister_control();
           Method[] methods = lc.getClass().getDeclaredMethods();
           Method methodToInvoke = null;

           for (Method method : methods) {
               DynamicMethod annotation = method.getAnnotation(DynamicMethod.class);
               if (annotation != null && annotation.value().equals(methodName)) {
                   methodToInvoke = method;
                   break;
               }
           }

           if (methodToInvoke != null) {
               try {
                   methodToInvoke.invoke(lc, request, response);
               } catch (IllegalAccessException | InvocationTargetException e) {
                   e.printStackTrace();
               }
           } else {
               // 如果找不到对应的方法,处理异常情况
               response.setStatus(HttpServletResponse.SC_NOT_FOUND);
               response.getWriter().println("Method not found");
           }
       }


    }
}



报错:

12-Jul-2024 15:48:25.836 严重 [http-nio-8080-exec-3] org.apache.catalina.core.StandardWrapperValve.invoke 在路径为[/java_web_final2_war_exploded]的上下文中,Servlet[servlet.controller.Login_rigister_control]的Servlet.service()引发了具有根本原因的异常[Servlet执行抛出一个异常]
    java.lang.ClassNotFoundException: org.json.JSONObject
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1014)
        at servlet.BaseServlet.Login_rigister_BaseServlet.service(Login_rigister_BaseServlet.java:38)

我的依赖正确填写了:

 <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20240303</version>
        </dependency>

  • 写回答

5条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-07-12 15:51
    关注

    引自免费微信小程序:皆我百晓生

    你的问题是关于代码错误和调试的,并且与Java和Servlet有关。从你给出的报错信息来看,问题出现在你尝试使用 org.json.JSONObject 类时,系统找不到这个类,导致了 java.lang.ClassNotFoundException

    这个问题通常是由于以下原因之一导致的:

    1. 你的项目可能没有正确地导入JSON库的依赖。虽然你在Maven的pom.xml文件中添加了相关依赖,但有时需要确保该依赖确实被正确下载并包含在项目的构建路径中。
    2. 有可能你使用的JSON库的版本与你的代码不兼容。

    首先,确认你的项目中确实包含了JSON库的依赖。你可以在项目的构建路径或依赖管理工具(如Maven或Gradle)中检查。如果你使用的是Maven,可以尝试执行 mvn clean install 命令来重新下载所有依赖。

    另外,确认你使用的JSON库版本与你的代码兼容。根据你提供的错误信息,你正在使用 org.json 库的版本是 20240303,这是一个较新的版本。如果你的代码是为旧版本的JSON库编写的,可能需要调整代码以适应新版本,或者尝试使用与你的代码兼容的旧版本。

    最后,确认在你的 Login_rigister_BaseServlet 类所在的包(或者更高级的包)中是否有其他与JSON库相关的配置或初始化代码。有时候,类路径或库的初始化需要在Servlet或过滤器中进行配置。

    如果以上步骤都没有解决问题,你可以尝试在你的项目中显式导入 org.json.JSONObject 类来查看是否解决了问题。你可以在项目的源代码目录(通常是 src/main/java)中创建一个新的Java类,并尝试在该类中导入和使用 org.json.JSONObject 类。这样做可以帮助你判断问题是否仅限于Servlet类还是更广泛的问题。

    希望这些建议能帮助你解决问题。如果问题仍然存在,请提供更多关于你的项目配置和代码的详细信息,以便我能更准确地帮助你解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月12日

悬赏问题

  • ¥15 微信小程序web-view嵌套H5页面IOS左滑会出现相同的页面,有什么解决方法吗?
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼