maven工具使用json-lib时,JSONArray.fromObject()不能执行的解决方案
- 前端代码我就不展示了 ,下面说明下我遇到问题的情况,如果不想看可以直接划到黄色字体部分直接找解决方法哦~~(相关jar包我会放在云中,想要的自己下载哦,链接在视频最下面!!)
- 我的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()不能执行的解决方案的更多相关文章
- JSONArray.fromObject不执行且不报错问题的解决
今天在写javaweb工程的时候需要向前台传json格式的数据,用到了json-lib-2.4-jdk15.jar等一系列包,然而却出现如下状况: CityBean是一个javaBean,我们看到,控 ...
- 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案
http://james.newtonking.com/json/help/index.html using Newtonsoft.Json;using System;using System.Col ...
- JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回 out.print(ja);
JSONArray ja = JSONArray.fromObject(list);//特殊类 用于将list转化为JSON 数据并返回out.print(ja);
- 使用alibaba的json工具将String类型转为JSONArray类型
转化流程:先将输入流转为String类型,再使用alibaba的json转换工具,将字符串转化为json数组 SensorDevices sensorDevices = new SensorDevic ...
- 使用JSONArray.fromObject转化list时,如果有集合属性,很容易出错,此刻把集合属性过滤掉便可
使用JSONArray.fromObject转化list时,如果有集合属性,很容易出错,此刻把集合属性过滤掉便可
- JSONArray.fromObject()注入处理日期Date格式
package jsonDateProcess; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.L ...
- js之第三方工具解析JSON
1.JSON 仅仅是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,须要依据 JavaScript 的 eval 函数 ...
- JSONArray().fromObject(); 出现org.apache.catalina.core.StandardWrapperValve invoke错误的解决办法
servlet: public void service(HttpServletRequest request, HttpServletResponse response) throws Servle ...
- Maven工具-简介
Maven工具-简介 定义 ①maven是一款服务于java平台的自动化构建工具 make→Ant→maven→Gradle ②构建 [1]概念:以"java源文件"." ...
随机推荐
- 通过Fiddler 远程 对 安卓手机 iPhone 苹果手机 访问请求抓包 Android IOS14.4 fiddler代理 无法联网
Fiddler 中的设置 1 查看 Fiddler所在 电脑的内网 ip地址. (cmd > ipconfig 查看本机ipv4地址) 2 Fiddler 设置 允许远程设备连接: Fiddl ...
- 面试题:让你捉摸不透的 Go reslice
面试题: package main func a() []int { a1 := []int{3} a2 := a1[1:] return a2 } func main() { a() } 看到这个题 ...
- fiddler 手机抓包(含https) 完整流程
第一部分:下载并安装fiddler 一.使用任一浏览器搜索[fiddler下载安装],并下载fiddler 安装包. 二.fiddler安装包下载成功后,将下载的fiddler压缩包解压到自定义文件夹 ...
- Mybatis3源码笔记(四)Configuration(续)
1.pluginElement(root.evalNode("plugins")) 解析plugins节点(注册interceptorChain里记录对应的拦截器) private ...
- Day14_83_反射机制获取某个特定属性的各部分
反射机制获取某个特定属性的各部分 * 通过属性名(变量名)来获取一个属性整体 例如: Field userNoField=c.getDeclaredField("userNo"); ...
- Docker笔记(一) 基础知识
官方文档地址:https://www.docker.com/get-started 中文参考手册:https://docker_practice.gitee.io/zh-cn 笔记原作者:陈艳男 B站 ...
- 1.4.19- HTML标签之注释标签
有的时候我们输入的代码,让你别人看,别人不知道你的思路,可能就看不懂,或者或一段时间自己就看不懂了,这个时候我们需要对代码进行注释,解释我们的代码什么意思: <!DOCTYPE html> ...
- 请解释Spring事务传播传播行为
什么叫事务传播行为? 听起来挺高端的,其实很简单. 即然是传播,那么至少有两个东西,才可以发生传播.单体不不存在传播这个行为. 事务传播行为(propagation behavior)指的就是当一个事 ...
- 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
前言 由于我已经在<病毒木马查杀第004篇:熊猫烧香之专杀工具的编写>中编写了一个比较通用的专杀工具的框架,而这个框架对于本病毒来说,经过简单修改也是基本适用的,所以本文就不讨论那些重叠的 ...
- hdu5025 状态压缩广搜
题意: 悟空要救唐僧,中途有最多就把钥匙,和最多五条蛇,要求就得唐僧并且拿到所有种类的钥匙(两个1只拿一个就行),拿钥匙i之前必须拿到钥匙i-1,打蛇多花费一秒,问救出唐僧并且拿到所有种类 ...