Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Javaservlet到flex检索hashmap值_Java_Jsp_Apache Flex_Servlets_Flash Builder4.5 - Fatal编程技术网

从Javaservlet到flex检索hashmap值

从Javaservlet到flex检索hashmap值,java,jsp,apache-flex,servlets,flash-builder4.5,Java,Jsp,Apache Flex,Servlets,Flash Builder4.5,我正在研究“从JSP到FLEX,java作为后端的迁移。我是java和JSP的新手。” 我一直在从java servlet获取值,它接受httprequest,并且有一个名为forward(request,response)的函数,该函数作为JSP页面响应,其中包含所需的值。 现在我需要改变这一点,只从servlet获取数据,并在flex中使用它 问题: 案例1:使用httpservice时,它将结果作为字符串,但无法作为对象获取。 案例2:如果我使用RemoteObject,它需要JavaSe

我正在研究“从JSP到FLEX,java作为后端的迁移。我是java和JSP的新手。”

我一直在从java servlet获取值,它接受httprequest,并且有一个名为
forward(request,response)
的函数,该函数作为JSP页面响应,其中包含所需的值。
现在我需要改变这一点,只从servlet获取数据,并在flex中使用它

问题:
案例1:使用httpservice时,它将结果作为字符串,但无法作为对象获取。
案例2:如果我使用RemoteObject,它需要JavaServlet中的方法来获取返回值,这在现有的servlet中是不存在的

我能得到关于这个问题的建议吗


谢谢

案例1:您不再使用“转发”,而是设置要返回的数据类型,例如:

response.setContentType("application/json");
…在servlet中返回数据是通过将数据写入流来完成的,如:

PrintWriter out = response.getWriter();
out.print(object);
但我这么做已经有一段时间了,所以你可能会面临一些小问题

案例2:如果您使用的是servlet,那么使用HTTPService是正确的,RemoteObject将无法工作,它的使用方式不同


现在,如果可以的话,我建议使用不同于servlet的东西——从java服务器到Flex获取数据——我喜欢使用GraniteDS

如果您感兴趣,我将仅说明我看到的一些好处:

设置起来很容易: -在java中,您只需添加一个graniteDS库,两个配置文件(granite+services config xmls)将granite servlet配置添加到web.xml -flex中还有granite库和services-config.xml

在设置时,使用它也非常容易-您有一个Java中带有方法(或简单bean或ejb)的类,它只返回任何类型的对象!Java中就是这样


在flex中,在本例中,您使用RemoteObject,您只需调用该远程java方法,在结果处理程序中,您得到的dataGranite将负责序列化+传输+反序列化,并只给您对象(仅动态{}或确切的类类型)

如果对象是列表或映射,请尝试将resultFormat更改为“array”,看到您从服务器返回。很抱歉,我回复晚了。我忙于其他项目,从那时起我就无法上网了。我很荣幸地感谢@user和matilu在这个问题上对我的帮助。再次感谢。