Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过HTTP发送遗留JavaBeans

通过HTTP发送遗留JavaBeans
EN

Stack Overflow用户
提问于 2014-08-28 07:55:44
回答 1查看 61关注 0票数 1

我们在包含嵌入式Jetty服务器的应用程序中运行了遗留系统的组件。这个遗留系统有几个JavaBeans (DTO),它们包含我们的HTTP客户端所需的信息。这些bean没有任何JSON/XML序列化注释,我们不想对遗留系统代码进行任何修改。我们也不希望我们的客户端依赖于旧的遗留系统或它的JavaBeans。

最后,这些bean之间有许多复杂的引用,以及彼此的集合。一些bean的对象图具有循环和非平凡的继承,因此简单的JSON或XML序列化会导致循环堆栈溢出错误。

我想找个好办法来解决这个问题。

一个想法是在XSD中描述所有这些bean,并使用它生成具有所需JAXB注释的新类,用于序列化为JSON/XML。我们将从遗留系统中的对象结构实例中手工组装带有这些新bean的对象结构,然后能够通过HTTP将其发送到仅依赖于新类的客户端。但这似乎是很多工作。

另一个想法是对每个遗留bean进行子类,以添加所需的XML/ JAXB注释。这可能比编写XSD更容易吗??但是,我们仍然需要从遗留bean的对象图中组装bean实例的新对象图。并且它将对遗留JavaBeans的客户端具有运行时依赖关系。

我搜索了一些关于从现有Java类自动生成XSD的内容。看起来这方面有一些工具,但是它需要我们修改XSD,所以当生成新的类时,它将具有所需的注释。

有更好的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-28 09:27:38

JAXB不需要注释。它可以在外部配置。

考虑:http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html

此外,我发现在许多情况下,默认的(即没有注释)工作得很好。因此,您可能不会有一个很大的负担引导带您的代码。

如果您使用的是一个常见的“根”对象,那么一个XmlRootElement启动整个引擎,即使这也不是完全必需的。

您需要小心bean中的循环图,但是使用JAXB也可以对这些图进行管理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25553113

复制
相关文章
使用python通过http发送json
因为需要通过http协议向服务器post一些数据,于是用python写了一个相关小程序,没想到遇到了一些问题,于是就在这里将这个问题记录一下。
py3study
2020/01/13
3K0
通过 PHP 代码发送 HTTP 响应与文件下载
一个完整的 HTTP 响应报文包含状态行、响应头和响应实体,关于 HTTP 响应底层结构你可以参考 HTTP 报文简介及组成结构这篇教程
学院君
2020/08/10
4.7K0
Go 学习笔记1 - 通过http包发送网络请求
http 包 提供了 HTTP 客户端实现,和服务端的实现。 通过 http 包,我们可以发送网络请求,get, post 等。
张云飞Vir
2020/03/16
9280
发送Http请求
这是第一部分, 主要使用的是AngleSharp: https://anglesharp.github.io/
solenovex
2022/11/24
4.2K0
发送Http请求
发送HTTP请求
可以创建%Net.HttpRequest的实例来发送各种HTTP请求并接收响应。此对象相当于Web浏览器,可以使用它发出多个请求。它会自动发送正确的cookie,并根据需要设置Referer标头。
用户7741497
2022/06/09
1.1K0
发送HTTP请求
发出HTTP POST请求。使用此方法可将数据(如表单结果)发送到Web服务器,或上载文件。有关示例,请参阅“发送表单数据”。
用户7741497
2022/06/09
2.2K0
JSP与JavaBeans
  JavaBeans简介   JavaBeans是一种符合一定标准的普通java类,需要满足下面几点:   1 类是public   2 属性私有   3 空的public构造方法   4 通过getter setter操作属性   JSP有很多的标签,比较常用的就是与javaBean相关的标签:   <jsp:useBean>设置javaBean   <jsp:setProperty> 设置javabean中属性值   <jsp:getProperty> 获取javaBean属性值 设置javaBea
用户1154259
2018/01/17
1K0
JSP与JavaBeans
CloseableHttpClient发送http请求
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127141.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/25
9580
Java发送HTTP 请求
请求http的Demo是个人亲测过,目前该方式已经在线上运行着。因为是http请求,所有发送post 和get 请求的demo都有在下方贴出,包括怎么测试,大家可直接 copy到自己的项目中使用。
胖虎
2019/06/26
2.4K0
ZOJ 3498 Javabeans
Javabeans Time Limit: 2 Seconds Memory Limit: 65536 KB Javabeans are delicious. Javaman likes to eat javabeans very much. Javaman has n boxes of javabeans. There are exactly i javabeans in the i-th box (i = 1, 2, 3,…n). Everyday Javaman chooses an
ShenduCC
2018/04/26
5200
[Go] Golang发送http GET请求
使用标准库http来实现 package tools import ( "io/ioutil" "net/http" ) func Get(url string)string{ res, err :=http.Get(url) if err != nil { return "" } robots, err := ioutil.ReadAll(res.Body) res.Body.Close() if err != nil {
唯一Chat
2020/09/17
1.4K0
java http get 发送数据
package aaa; import java.net.*; import java.io.*; public class OpenUrl { public String getContent(String strUrl) // 一个public方法,返回字符串,错误则返回”error open url” {   try{            URL url=new URL(strUrl);       BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));       String s=””;    StringBuffer sb=new StringBuffer(“”);    while((s=br.readLine())!=null)    {          sb.append(s+”/r/n”);       }    br.close();    return sb.toString();   }   catch(Exception e){     return “error open url” + strUrl;        }    }  }
全栈程序员站长
2021/05/19
7120
socket模拟发送http请求
嗨,小伙伴们,好久不见~~~,最近博主在研究socket编程,觉得socket真的好强大。之前一直我们都是在介绍爬虫的requests、urllib等库,我们知道它们都是基于HTTP协议来实现的,但从来没有讲过这个是如何实现的。今天要是讲的话,一时半会也说不清楚,最重要的是,我怕自己讲不明白。这样大家就变的更糊涂,所以我就不讲了。今天要说的是如何基于socket来发送http请求。
啃饼思录
2018/10/25
5K0
springboot发送http请求,springboot http post json
高久峰
2023/07/02
5550
【CVPR 2021】通过GAN提升人脸识别的遗留难题
公众号文章标题“提升”应该为“解决”。1 A 3D GAN for Improved Large-pose Facial Recognition 基于端到端的深度卷积神经网络进行人脸识别,依赖于大型
公众号机器学习与AI生成创作
2021/04/30
1.2K0
【CVPR 2021】通过GAN提升人脸识别的遗留难题
Java发送Http请求(HttpClient)
HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 是Apache HttpComponents 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
ha_lydms
2023/08/09
1K0
如何通过jQuery发送AJAX?
contentType:发生请求时的内容编码类型(application/x-www-form-urlencoded)
切图仔
2022/09/08
1.2K0
Vue学习-axios发送http请求
在src下新建api目录,在该目录下新建index.js和api.js文件,文件内容如下: index.js
Autooooooo
2020/11/09
1.8K0
Vue学习-axios发送http请求
go Http Post 发送文件流
水滴石穿。这里把Go Http Post 参数的函数也贴了处理主要对比两者不同之处。
地球流浪猫
2018/08/02
3.8K0
点击加载更多

相似问题

为遗留HTTP发送FCM批处理请求

17

JavaBeans和发送“双”值

25

Mirth能在JMS上发送JavaBeans吗?

10

通过HTTP发送文件?

16

通过Http发送逻辑

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文