常用方式:在使用Jersey的过程中,与前端交互的数据大多是符合json格式的数据,然后前端使用eval方法把后台返回的符合json格式的String数据转换为json对象。其中的步骤大多是:
1.前端访问后台,后台获取数据要么使用JsonObject工具把数据转换为json格式的字符串,或者手工拼接把数据拼接成符合json格式的字符串;
2.前端获取到数据,然后使用eval方法把数据转换为json对象;
更好的方式:其实Jersey提供了自动返回application/json格式的数据,使用这种方法既省去了后台手工转换数据的过程,也省去了前端把符合json格式的字符串转换为json对象的过程;但是在使用系统自带的jar时,第一次部署系统启动后调数据会报一个异常:java.lang.ClassNotFoundException: org.codehaus.jackson.xc.JaxbAnnotationIntrospector,其实产生这个问题的原因是系统自带的jar包太久了,有一些新的class类不存在,使用最新的或者合适的jar就解决了。
package returnJson; public class Student { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
package returnJson; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; @Path("student") public class StudentResource { /** * 返回json格式的数据 * 常用方式:@Produces("text/plain") * return 返回String,返回的是手工转换好的json字符串 * @return 返回对象,其实返回的是转换为key、value的json数据 */ @GET @Path("get") @Produces("application/json") public Student getStudent() { Student student = new Student(); student.setId("110"); student.setName("police"); /** * return 返回String,返回的是手工转换好的json字符串 * JSONObject json = new JSONObject(); * json.accumulate("result", student); * return json.toString(); */ return student; } public static void main(String[] args) { Client client = Client.create(); WebResource resource = client.resource("http://localhost:8888/JS/services/student/get"); String str = resource.get(String.class); System.out.println(str); } }
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Jersey json测试</title> </head> <script type="text/javascript" src="./js/jquery-1.7.1.js"></script> <script type="text/javascript"> $(function() { $.get('services/student/get', {}, function(result) { alert(result.name); }, 'json'); //常用方式 //$.get('services/student/get', {}, function(result) { //var data = eval('(' + result + ')'); //alert(data.result.name); //}); }); </script> <body> This is my JSP page. <br> </body> </html>
相关推荐
在Java编程中,`java.lang.ClassNotFoundException` 是一个常见的运行时异常,通常发生在尝试通过类加载器加载指定类时,但找不到对应的字节码文件。在这个特定的问题中,`ClassNotFoundException` 引发的原因是缺少...
"java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver" 解决方案 [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 解决了jsp连接 sql server 2000的问题
在Java编程中,`java.lang.ClassNotFoundException`是一个常见的运行时异常,它表示JVM尝试加载一个类时,找不到对应的.class文件。在这个特定的错误中,我们看到的是`org.apache.commons.dbcp.BasicDataSource`,这...
Java中的`ClassNotFoundException`异常通常表示在尝试加载特定类时,JVM无法找到对应的字节码文件。这个异常可能由多种原因引起,但在本场景中,它与Java 9引入的模块系统及其对Java EE API的影响密切相关。 在Java...
然而,对于初学者来说,遇到错误是常有的事,比如“java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource”。这个异常表明在运行时,系统无法找到指定的类,即Apache Commons DBCP的...
在Java编程中,`ClassNotFoundException` 是一个常见的运行时异常,通常发生在尝试加载特定类时,JVM无法找到对应类的定义。在这个特定的情景中,错误提示 "java.lang.ClassNotFoundException: ...
总之,解决“java.lang.ClassNotFoundException: org.jdom.input.SAXBuilder”问题的关键在于确保JDOM库被正确地包含在类路径中,同时检查代码中涉及的类名拼写是否准确。了解并熟练使用SAXBuilder可以帮助开发者...
Caused by: java.lang.ClassNotFoundException: com.sun.org.apache.xml.internal.resolver.CatalogManager at java.net.URLClassLoader.findClass(URLClassLoader.java:434) at ...
在这个特定的场景中,异常堆栈跟踪显示了 `Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer`,这表明系统无法找到 `org.apache.commons.collections.Transformer` 类。...
在这个特定的场景中,异常堆栈跟踪显示 `Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type`,这表明在运行时,系统无法找到`org.objectweb.asm.Type`这个类。`org.objectweb.asm` 是一个用于...
Caused by: java.sql.SQLException: java.lang.ClassNotFoundException: org.apache.hive.jdbc.HiveDriver at com.trs.gateway.commons.hive.HiveFeature.getConnection(HiveFeature.java:57) at ...
java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport异常处理
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 需要jar log4j-1.2.16.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar
Android Caused by: java.lang.ClassNotFoundException解决办法 出现问题: 08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX in loader dalvik.system....
【SpringBoot】Error: java.lang.ClassNotFoundException: org.wltea.analyzer.core.IKSegmenter报错明细问题分析后记 报错明细 IDEA SpringBoot集成hadoop运行环境,本地启动项目,GET请求接口触发远程提交...
解决AopConfigException类不存在。...Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.springframework.aop.framework.AopConfigException 解决方法是把这个文件放到WEB-INF文件夹下面
在阿里云买了一台Ubuntu16.04的ECS服务器,安装完Tomcat 9 和JDK 1.8之后,兴致勃勃的访问服务器的8080端口,发现竟然报错:org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp....