在服务器之间传递对象时替代REST

在服务器之间传递对象时替代REST,rest,spring-mvc,ejb,jndi,rmi,Rest,Spring Mvc,Ejb,Jndi,Rmi,我有一个SpringMVC项目作为前端项目。我的数据源由第二个javaee项目访问。通过提供REST服务,该后端可以访问我的前端所需的所有数据。REST服务通过返回XML提供对象。然后,我的前端将对该XML进行封送处理 因此,当我的前端项目需要当前数据时,我创建一个HttpUrlConnection,然后调用后端的REST服务 例如,我想获得所有电影对象的集合: URL url = new URL(URLSAFE.REST_ALL_MOVIES); HttpURL

我有一个SpringMVC项目作为前端项目。我的数据源由第二个javaee项目访问。通过提供REST服务,该后端可以访问我的前端所需的所有数据。REST服务通过返回XML提供对象。然后,我的前端将对该XML进行封送处理

因此,当我的前端项目需要当前数据时,我创建一个HttpUrlConnection,然后调用后端的REST服务

例如,我想获得所有电影对象的集合:

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一起使用。

我建议您看看这个。使用RestTemplate可以删除示例中的许多样板文件,并将REST资源映射到POJO上。XML不应该是任何障碍,因为Spring应该可以显著地帮助您抽象它。

您处于java环境中:您不需要像对待rest应用程序那样做您必须传递对象的初始假设是错误的。通过网络传递对象是一个糟糕的想法,任何一个不幸使用DCOM或CORBA的人都可以告诉你。但是,在spring mvc前端和数据源之间设置后端是一个糟糕的想法吗?