Java servlet中的JSONObject错误
我创建了一个Servlet类,用于通过android客户端接收字符串。此类将此字符串发送到另一个servlet类。 使用RESTAPI我正确地接收字符串,但当我创建JSONObject时,它抛出java.lang.ClassNotFoundException:net.sf.json.JSONObject。 这里实现的代码是:Java servlet中的JSONObject错误,java,json,servlets,client,server,Java,Json,Servlets,Client,Server,我创建了一个Servlet类,用于通过android客户端接收字符串。此类将此字符串发送到另一个servlet类。 使用RESTAPI我正确地接收字符串,但当我创建JSONObject时,它抛出java.lang.ClassNotFoundException:net.sf.json.JSONObject。 这里实现的代码是: protected void doPost(HttpServletRequest request, HttpSer
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out= response.getWriter();
ArrayList<String> arrivo;
ArrayList<String> preference=new ArrayList<String>();
StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
preference.add(line);
response(response,"ok");
System.out.println(response);
}
catch (Exception e) { //report an error
}
response(response,"no");
try {
String s=jb.toString();
arrivo=new ArrayList<String>(Arrays.asList(s.split(",")));
} catch (ParseException e) {
throw
new IOException("Error parsing JSON request string");
}
invio(arrivo);
}
public void invio(ArrayList<String> c){
String pref="";
String x=c.toString();
StringBuilder sb = new StringBuilder();
String http = "http://mioserver:80808";
HttpURLConnection urlConnection=null;
try {
URL url = new URL(http);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("POST");
urlConnection.setUseCaches(false);
urlConnection.setConnectTimeout(10000);
urlConnection.setReadTimeout(10000);
urlConnection.setRequestProperty("Content-Type","application/json");
//urlConnection.setRequestProperty("Host","http://localhost:8080/W7TurismoServer/Servlet");
urlConnection.connect();
JSONObject object=new JSONObject();
object.put("",pref);
OutputStreamWriter out = new OutputStreamWriter(urlConnection.getOutputStream());
out.write(object.toString());
System.out.println(object.toString());
out.close();
int HttpResult =urlConnection.getResponseCode();
if(HttpResult ==HttpURLConnection.HTTP_OK){
BufferedReader br = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(),"utf-8"));
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
System.out.println(""+sb.toString());
}else{
System.out.println(urlConnection.getResponseMessage());
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
protectedvoiddopost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
PrintWriter out=response.getWriter();
ArrayList arrivo;
ArrayList首选项=新建ArrayList();
StringBuffer jb=新的StringBuffer();
字符串行=null;
试一试{
BufferedReader reader=request.getReader();
而((line=reader.readLine())!=null)
jb.追加(行);
首选项。添加(行);
响应(响应“ok”);
System.out.println(响应);
}
捕获(异常e){//报告错误
}
答复(答复“否”);
试一试{
字符串s=jb.toString();
arrivo=newarraylist(Arrays.asList(s.split(“,”));
}捕获(解析异常){
投
新IOException(“解析JSON请求字符串时出错”);
}
因维奥(阿里沃);
}
因维奥公开无效(ArrayList c){
字符串pref=“”;
字符串x=c.toString();
StringBuilder sb=新的StringBuilder();
字符串http=”http://mioserver:80808";
HttpURLConnection-urlConnection=null;
试试{
URL=新URL(http);
urlConnection=(HttpURLConnection)url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod(“POST”);
urlConnection.setUseCaches(false);
urlConnection.setConnectTimeout(10000);
urlConnection.setReadTimeout(10000);
setRequestProperty(“内容类型”、“应用程序/json”);
//urlConnection.setRequestProperty(“主机”http://localhost:8080/W7TurismoServer/Servlet");
urlConnection.connect();
JSONObject对象=新的JSONObject();
object.put(“,pref);
OutputStreamWriter out=新的OutputStreamWriter(urlConnection.getOutputStream());
out.write(object.toString());
System.out.println(object.toString());
out.close();
int-HttpResult=urlConnection.getResponseCode();
如果(HttpResult==HttpURLConnection.HTTP_OK){
BufferedReader br=新的BufferedReader(新的InputStreamReader(
urlConnection.getInputStream(),“utf-8”);
字符串行=null;
而((line=br.readLine())!=null){
sb.追加(第+行“\n”);
}
br.close();
System.out.println(“+sb.toString());
}否则{
System.out.println(urlConnection.getResponseMessage());
}
}捕获(格式错误){
e、 printStackTrace();
}
捕获(例外e){
e、 printStackTrace();
}
}
我如何解决这个问题?先谢谢你
json lib.jar
(或类似名称)可能不在tomcats类路径中。确保它在您的war文件lib
directory是的,我已经在lib目录中添加了这个jar,但问题是这个。