您的位置:首页 > 编程语言 > Java开发

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

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



     后来查看控制台的错误信息输出才发现,由于这次将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://www.dianfusoft.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  flex struts java action