标签:inf server 配置 获得 doget err valve date json
<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()不能执行的解决方案
标签:inf server 配置 获得 doget err valve date json
原文地址:https://www.cnblogs.com/wzhsun/p/11664386.html