Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使第三方.jar可用于我的.jsp页面?_Java_Json_Jsp_Jar - Fatal编程技术网

Java 如何使第三方.jar可用于我的.jsp页面?

Java 如何使第三方.jar可用于我的.jsp页面?,java,json,jsp,jar,Java,Json,Jsp,Jar,我刚刚开始学习JSP,一般来说我对Java相当陌生,我想使用它。我想制作一个类似这样的页面: <%@ page import="net.sf.json.JSONObject"%> <% String json = new JSONObject().put("hello", "world").toString(); out.println(json); %> 我下载了json-lib-2.3-jdk15.jar,并将其放在与.jsp页面相同的目录中。但是我得到了这个错误

我刚刚开始学习JSP,一般来说我对Java相当陌生,我想使用它。我想制作一个类似这样的页面:

<%@ page import="net.sf.json.JSONObject"%>
<%
String json = new JSONObject().put("hello", "world").toString();
out.println(json);
%>
我下载了json-lib-2.3-jdk15.jar,并将其放在与.jsp页面相同的目录中。但是我得到了这个错误

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 6 in the generated java file
Only a type can be imported. net.sf.json.JSONObject resolves to a package

An error occurred at line: 3 in the jsp file: /getCard.jsp
JSONObject cannot be resolved to a type
1: <%@ page import="net.sf.json.JSONObject" %>
2: <%
3: String json = new JSONObject().put("hello", "world").toString();
4: out.println(json);
5: %>
6: 

如何使JSONObject类可用于我的.jsp页面?

您需要在web应用程序中部署该jar文件。通常,您必须将其放在WEB-INF/lib/文件夹中。

您需要在WEB应用程序中部署该jar文件。通常您必须将其放入WEB-INF/lib/文件夹。

我在尝试导入net.sf.json.JSONArray时遇到了类似的问题,并得到了相同的错误。但是当我用星号*替换JSONArray时,错误消失了。当然,您需要将JSON-lib.jar文件放入{appdir}/WEB-INF/lib目录。[我的JSP中使用的JSON库还有其他相关问题,因此我不确定我的答案是否就是您所需要的。]

我在尝试导入net.sf.JSON.JSONArray时遇到了类似的问题,并得到了相同的错误。但是当我用星号*替换JSONArray时,错误消失了。当然,您需要将JSON-lib.jar文件放入{appdir}/WEB-INF/lib目录。[我的JSP中使用的JSON库还存在其他相关问题,因此我不确定我的答案是否就是您所需要的。]

实际上,只需将它放在类路径中即可。类路径覆盖了/WEB-INF/lib文件夹。然而,在这件事上还有更多的问题。您不应该为此使用JSP,而应该使用Servlet。JSP可能会不必要地在响应中添加空白,使用Scriptlet被认为是不好的做法。至于如何正确学习JSP/Servlet,请查看本网站:至于在JSP/Servlet检查和回答中使用JSON。@BalusC:啊,看来Servlet就是我想要的。谢谢你给我指明了正确的方向!实际上,只需将其放在类路径中。类路径覆盖了/WEB-INF/lib文件夹。然而,在这件事上还有更多的问题。您不应该为此使用JSP,而应该使用Servlet。JSP可能会不必要地在响应中添加空白,使用Scriptlet被认为是不好的做法。至于如何正确学习JSP/Servlet,请查看本网站:至于在JSP/Servlet检查和回答中使用JSON。@BalusC:啊,看来Servlet就是我想要的。谢谢你给我指明了正确的方向!谢谢在这方面我真的是个新手——我不知道在web应用程序中部署jar文件意味着什么。我找到了WEB-INF/lib文件夹并将.jar放在那里,但这似乎没有任何帮助。。根据应用程序服务器的设置方式,您可能需要重新部署应用程序。但如果你觉得这很奇怪,你不知道这意味着什么,你应该遵循BalusC的链接:从那里开始学习。谢谢!在这方面我真的是个新手——我不知道在web应用程序中部署jar文件意味着什么。我找到了WEB-INF/lib文件夹并将.jar放在那里,但这似乎没有任何帮助。。根据应用程序服务器的设置方式,您可能需要重新部署应用程序。但是,如果你觉得这很奇怪,你不知道这意味着什么,你应该遵循巴卢斯的链接:从那里开始学习。这个问题已经得到了回答。你的问题与此不同。您还需要导入JSONObject。当然,也可以使用通配符。或者更好的是,不要在JSP文件中编写Java代码,而是在JavaServlet类中编写。你的问题与此不同。您还需要导入JSONObject。当然,也可以使用通配符。或者更好的是,不要在JSP文件中编写Java代码,而是在JavaServlet类中编写。