每次执行到 JSONArray jsonArray = JSONArray.fromObject(stuList);会出错,我怀疑是我json包的问题,求大神指教一二。
以下是json包,源码和报错信息:
json包:
源码:
//获取请求名字 String name = request.getParameter("name");
//调用dao层 StudentDao studentDAO = new StudentDao();
ArrayList<Student> stuList = studentDAO.getStuByName(name);
response.setContentType("application/x-json");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
JSONArray jsonArray = JSONArray.fromObject(stuList); out.print(jsonArray);
报错信息:
类型 异常报告
消息 Servlet执行抛出一个异常
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况
jakarta.servlet.ServletException: Servlet执行抛出一个异常 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
根本原因。
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException java.base/java.lang.ClassLoader.defineClass1(Native Method) java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010) java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470) org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224) servlet.StudentServlet.doPost(StudentServlet.java:42) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:689) jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
建议创建maven项目,需要的依赖jar包可以在线下载,你这个网上下载,再从本地导入太麻烦,容易出错,你这个应该是某个类使用JSONArray错了,也可能时依赖导入问题
你这json包都没见过,用阿里的fast-json吧
这个是阿里的fastjson包
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632