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源文件"." ...
随机推荐
- 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作centos6.5-14
自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作centos6.5-14 欢迎加QQ群:1026880196 进行交流学习 制作OpenSta ...
- Day05_24_继承
继承 什么是继承? 继承本质上是对某一批类的抽象,从而实现对现实世界更好的建模.继承是类和类之间的一种关系,除此之外类和类之间的关系还有依赖.组合.聚合等. 继承就是子类(派生类)继承父类(基类)的特 ...
- hdu3182 状态压缩dp
题意: 一个人做汉堡包,每个汉堡包有自己的花费和价值,某些汉堡包必须是在其他的某些汉堡包已经做好了的前提下才能制作,给你这个人的初始钱数,问最大的价值是多少. 思路: 比较简单 ...
- POJ1611基础带权并查集
题意: 有一个人生病了,和他一个社团或者间接和他有联系的人都会生病,问一共有多少人生病了. 思路: 比较简单和基础的题,带权并查集中的一种,就是记录更新集合元素个数,这个题目我 ...
- php isset()与empty()的使用
PHP isset函数作用 isset函数是检测变量是否设置. 格式:bool isset( mixed var [, mixed var [, ...]] ) 返回值: 若变量不存在则返回FALSE ...
- 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
碰到这个问题很多次,每次碰到都是去百度找.但是,不尽人意,好在最后还是解决了,所以写下总结. 报错内容: org.apache.catalina.core.StandardContext.startI ...
- Linux下为Calibre书库打中文目录名与文件名补丁
本文由来 临近下班突然看到知乎上有篇文章是给Calibre打中文目录与文件名补丁的,想起我之前为啥放弃Calibre的--存进书库里书的名称都变成了拼音!手动找起来或者搜索工具找起来太麻烦了(有时想不 ...
- SSM久别遇新坑
SSM久别遇新坑 久别个锤子,也就几天没看,改bug改到怀疑人生 maven的父子模块问题 众所周知,用maven建立一个空的模块,在它之下,将原本的各层次结构分别新建为一个子模块,就能够将各业务进行 ...
- BUAA软件工程热身作业
写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 热身作业(阅读) 课程目标 培养软件开发能力 本作业对实现目标的具体作用 深入认识自己,总结过往并展望 ...
- 【BUAA软工】结对编程作业
项目 内容 课程:2020春季软件工程课程博客作业(罗杰,任健) 博客园班级链接 作业:BUAA软件工程结对编程项目作业 作业要求 课程目标 学习大规模软件开发的技巧与方法,锻炼开发能力 作业目标 完 ...