Web.xml - Problema com o mapping

Tenho um projeto com struts 2 rodando blz.
Estou começando a integrar com o flex e com isso tenho que deixar rodando o sistema em struts 2 tb.
A configuração esta quase 100%. estou apenas com um problema no web.xml.

<!-- Conf. do Struts -->
<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	<init-param>
		<param-name>actionPackages</param-name>
		<param-value>br.org.saomarcos.intranet.actions</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>/*</url-pattern>       <!-- AQUI ESTA O CONFLITO -->
</filter-mapping>

<!-- Conf. do flex -->

<!-- MessageBroker Servlet -->
<servlet>
    <servlet-name>MessageBrokerServlet</servlet-name>
    <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
    <init-param>
        <param-name>services.configuration.file</param-name>
        <param-value>/WEB-INF/flex/services-config.xml</param-value>
   </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>MessageBrokerServlet</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>       <!-- AQUI ESTA O CONFLITO -->
</servlet-mapping>

se deixar o url-pattern do modo como esta, apenas o struts funciona, pois esta com o /. Existe alguma possibilidade de colocar NOT /messagebroker/ no filter do struts ?
ou algo semelhante?

abraços

Que estranho, geralmente o filtro do Struts trata o que é dele e deixa as demais requisições passarem normal…
Você está tendo algum erro, ou só tinha pensado nisso por precaução ?

o struts esta tentando fazer o mapeamento de todos justamente por causa do /*! tentei trocar o *.action mais algumas coisas, como jquery, parou de funcionar!

Cara, mapeia esse casos em que vc quer fazer bypass para o servlet default.

Abrex.

diogopontual, como fazer isso ? manda uma dica ai!

Ai jisuis… Tem tempo que eu não faço isso, e não tenho nenhum código de exemplo aqui… Mas…

O Tomcat vem com um servlet mapeado como “default” . Então vc só precisa adicionar tags assim:

<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/urlEspecíficaQueVcNaoQuerQuePassePeloOutroServlet</url-pattern>
</servlet-mapping>

Acho que isso resolve o problema…

desse modo tb não consegui.

Entretanto, por enquanto, resolvi de outro modo.
Consegui duplicando a filter-mapping do struts, onde a primeira atende as .action e a outra foi obrigatório pela necessidade do struts (descobri pelo firebug)!

Por enquanto esta tudo bacana! se der pau aviso!

<!-- Conf. do Struts -->
<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	<init-param>
		<param-name>actionPackages</param-name>
		<param-value>br.org.saomarcos.intranet.actions</param-value>
	</init-param>
</filter>
<!-- Dupliquei o filter, onde o primeiro é para as actions e o outro pq o struts necessita-->
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>/struts/*</url-pattern>
</filter-mapping>

<!-- Conf. do flex -->

<!-- MessageBroker Servlet -->
<servlet>
    <servlet-name>MessageBrokerServlet</servlet-name>
    <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
    <init-param>
        <param-name>services.configuration.file</param-name>
        <param-value>/WEB-INF/flex/services-config.xml</param-value>
   </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>MessageBrokerServlet</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>       <!-- AQUI ESTA O CONFLITO -->
</servlet-mapping>