【发布时间】:2014-09-30 12:29:54
【问题描述】:
我有一个 spring-mvc 项目作为前端项目。我的数据源由第二个 javaee 项目访问。通过提供 REST 服务,该后端可以访问我的前端所需的所有数据。 REST 服务通过返回 XML 来提供对象。然后这个 XML 将被我的前端编组。
所以当我的前端项目需要当前数据时,我会创建一个HttpUrlConnection,然后调用后端的 REST-Service。
例如我想获取所有电影对象的集合:
URL url = new URL(URLSAFE.REST_ALL_MOVIES);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/xml");
connection.getResponseCode();
InputStream is = connection.getInputStream();
Source sauce = new StreamSource(is);
JAXBContext jaxbContext = JAXBContext.newInstance(Movies.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
JAXBElement<Movies> e = unmarshaller.unmarshal(sauce, Movies.class);
Movies m = e.getValue();
this.MOVIELIST = m;
connection.disconnect();
在为日志服务添加了一些远程 ejb 查找之后,我想到了使用 rmi 传递对象的想法。但是我了解到我无法将对象投射到我的前端,并且本地对象和您通过 rmi 访问的对象之间存在很大差异。
但是在服务器之间传递对象的一个好的尝试是什么?我需要将对象传递给前端,因为我必须将它们与 JSP 一起使用。
【问题讨论】:
-
你在java环境中:docs.oracle.com/javaee/7/tutorial/doc/jaxrs-client.htm#BABEIGIH你不需要做你正在为一个rest-application做的事情
-
您必须传递对象的初始假设是错误的。通过网络传递对象是一个糟糕的主意,任何不幸做 DCOM 或 CORBA 的人都会告诉你。
-
但是在 spring-mvc 前端和数据源之间放置一个后端是不是一个糟糕的主意?
标签: rest spring-mvc ejb jndi rmi