读书人

Java与Flex学习笔记(11)-关于Struts

发布时间: 2012-08-11 20:50:31 作者: rapoo

Java与Flex学习笔记(11)----关于Struts2拦截Flex请求的问题

昨天做一个东西时发现原来Flex与Java用RemoteObject通信好好的方式突然就不行了,我原以为是endpoint的路径有问题,但是经过仔仔细细的排查也没有发现问题。总是提示“404”错误:


Java与Flex学习笔记(11)-关于Struts2拦截Flex请求的有关问题


后来查看控制台的错误信息输出才发现,由于这次将Struts2整合在一起了,所以,Struts2将此发送请求也拦截了:


There is no Action mapped for namespace/messagebroker and action name amf. - [unknown location]


上网查了很久的资料发现原因的所在,我们在web.xml中配置Struts2的拦截器时习惯拦截所有的请求,即:


……

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

……


在Flex与Struts2整合的时候如果还是采用这种方式的时候,会导致Flex无法与Struts2用remoteobject通信,我们应该调整成如下方式:


……

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>*.action</url-pattern>

</filter-mapping>

……


即只拦截Struts2的请求,这样就放过其他的请求,事实上这样做的确解决了问题,记录下。


这是本人学习的结果,允许转载,欢迎交流,但转载务必给出本文章的链接地址:http://blog.csdn.net/youqishini/article/details/7738398,谢谢~




读书人网 >flex

热点推荐