1. 前端代码我就不展示了 ,下面说明下我遇到问题的情况,如果不想看可以直接划到黄色字体部分直接找解决方法哦~~(相关jar包我会放在云中,想要的自己下载哦,链接在视频最下面!!)
  2. 我的pom文件,如下,导入json-lib请注意添加 <classifier>jdk15</classifier>这个属性,json-lib支持jdk1.3,jdk1.5,要不然不会添加json-lib包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>

servlet的方法,我的小demo主要是写一个类似于百度的那个搜索框

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//首先获得客户端发送过来的关键字keyword
String keyword = request.getParameter("keyword");
//获得关键字后进行处理得到关联数据
List<String> listData = getDate(keyword);
//返回json格式
JSONArray jsonArray = JSONArray.fromObject(listData);
System.out.println(jsonArray);
System.out.println(jsonArray.getClass());
}

项目是tomcat容器启动,当我启动后,没有出现代码报错提示,正常启动,只是当我访问url时,本应该打印出listData数据出来,结果没有打印,我点击下面这张图红色箭头指向,查看tomcat的日志,发现报了错,我就不贴图了,错误提示一般是

严重 [http-nio-8080-exec-4] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [search] in context with path [] threw exception [Servlet execution threw an exception] with root cause

java.lang.ClassNotFoundException:*********         没有找到类的错误,一般是因为没有引入jar所导致的。

下面这张图是我在json-lib官方网站看到的,说是必须要这面的这些包文件,而用maven引入json-lib2.4版本所有的包就都会有,也就是说我项目中是有这些包文件的。记得上面我那些报错信息是在tomcat中提示的,难道我tomcat出了问题,经过我多方面查找,问题找到了。

问题的确出在了tomcat上面,通常我们运行web项目,必须需要一个服务容器,那个容器有很多种,而我使用的是tomcat,我们必须把项目打成war包并上传到tomcat的webapps目录中,通过配置tomcat的conf目录下面的server.xml文件制定项目的目录节点,开启tomcat服务,然后才能访问项目。而我们项目运行时,jar文件本应该在war包的/WEB-INF/lib目录下,找不到还会去tomcat容器的lib目录下。最有可能是因为运行项目时,jar文件并没有部署进去(我也是猜的,毕竟小白一枚)

解决方法:找到本机的tomcat服务器,进入lib目录将项目用到的关于json的 6 个jar包文件拖进lib目录下,分别是commons-lang-2.5 ,commons-collections-3.2.1,ezmorph-1.0.6,commons-beanutils-1.8.0,json-lib-2.4-jdk15,commons-logging-1.1.1,

将这些文件拖进lib目录下,重新运行项目,请求servlet,成功返回json类性的数据

成功返回

ps:本人第一次写这种博客,文字可能有点不流畅或者墨迹或者中心表达不够明确,请各位大哥大神见谅,写这个的原因主要是这个问题困扰我一整天,网上找了半天也没有找到,所及当我自己解决后就想到写这个了,本来想写笔记来着,但是自上次一不小心删掉全部笔记后痛心了我好久,而且笔记我做了也自己一个人看,还不如下博客。所以,以后我碰到了一些难解的问题还是会继续写的(虽然写的不好),谢谢各位观看!!加油!!!!!!!!!

链接:https://pan.baidu.com/s/1JBqW5y7wRYmk-s2-XfBZFw
提取码:gbt7

maven工具使用json-lib时,JSONArray.fromObject()不能执行的解决方案的更多相关文章

  1. JSONArray.fromObject不执行且不报错问题的解决

    今天在写javaweb工程的时候需要向前台传json格式的数据,用到了json-lib-2.4-jdk15.jar等一系列包,然而却出现如下状况: CityBean是一个javaBean,我们看到,控 ...

  2. 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案

    http://james.newtonking.com/json/help/index.html using Newtonsoft.Json;using System;using System.Col ...

  3. JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);

    JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回out.print(ja);

  4. 使用alibaba的json工具将String类型转为JSONArray类型

    转化流程:先将输入流转为String类型,再使用alibaba的json转换工具,将字符串转化为json数组 SensorDevices sensorDevices = new SensorDevic ...

  5. 使用JSONArray.fromObject转化list时,如果有集合属性,很容易出错,此刻把集合属性过滤掉便可

    使用JSONArray.fromObject转化list时,如果有集合属性,很容易出错,此刻把集合属性过滤掉便可

  6. JSONArray.fromObject()注入处理日期Date格式

    package jsonDateProcess; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.L ...

  7. js之第三方工具解析JSON

    1.JSON 仅仅是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,须要依据 JavaScript 的 eval 函数 ...

  8. JSONArray().fromObject(); 出现org.apache.catalina.core.StandardWrapperValve invoke错误的解决办法

    servlet: public void service(HttpServletRequest request, HttpServletResponse response) throws Servle ...

  9. Maven工具-简介

    Maven工具-简介 定义 ①maven是一款服务于java平台的自动化构建工具 make→Ant→maven→Gradle ②构建 [1]概念:以"java源文件"." ...

随机推荐

  1. [源码分析] 分布式任务队列 Celery 之 发送Task & AMQP

    [源码分析] 分布式任务队列 Celery 之 发送Task & AMQP 目录 [源码分析] 分布式任务队列 Celery 之 发送Task & AMQP 0x00 摘要 0x01 ...

  2. Spring学习笔记(五):JDBCTemplate+事务管理

    1 概述 Spring为开发者提供了JDBCTemplate,可以简化很多数据库操作相关的代码,本文主要介绍JDBCTemplate的使用以及事务管理功能. 2 JDBC Template 2.1 配 ...

  3. java POI(二)

    name.xslx 1 public class Demo6 { 2 3 public static void main(String[] args) throws IOException { 4 I ...

  4. Floyd算法C++实现与模板题应用

    简介 Floyd算法算是最简单的算法,没有之一. 其状态转移方程如下map[i , j] =min{ map[i , k] + map[k , j] , map[i , j] }: map[i , j ...

  5. Day01_08_变量(Variable)

    变量 什么是变量? *变量本质上来说是内存上的一块空间,这块空间有数据类型,有名字,有字面值(数据).变量是内存中存储数据最基本的单元 * 变量要求变量中存储的具体数据必须和变量的数据类型一致,必须先 ...

  6. aws EKS EFS 上安装mysql Operation notpermitted

    在AWS EKS k8s.EFS nfs.mysql.changing ownership of '/var/lib/mysql/': Operation notpermitted 在aws eks ...

  7. mooc人大单元测试2

    1 单选(2分) 下列选项中不是关系数据库基本特征的是(  ). A. 不同的列应有不同的数据类型 B. 不同的列应有不同的列名 C. 与行的次序无关 D. 与列的次序无关 2 单选(2分) 关系代数 ...

  8. Typora 主题推荐

    Typora 修改代码块高亮样式可以参考:点击这里 下面推荐按几款比较好看的主题样式 1.cobalt主题 2.Drake主题 3.fluent主题 4.gitbook主题 5.techo主题 6.U ...

  9. 多维数据处理之主成分分析(PCA)

    在灵巧手与假手理论中,为了研究人手的运动协同关系,需要采集各个关节的运动学量或者多个采集点的肌电信号,然而由于人手关节数目或者EMG采集点数量较多,加上多次采样,导致需要过多的数据需要处理.然而事实上 ...

  10. POJ2406 KMP前缀周期

    题意:       给你一个字符串,长度小于1百万,问你他最多可以拆成集合相同字符串,例如abcabcabc 可以拆成3个abc,所以输出3. 思路:       这个是比较常规的next应用,首先假 ...