padcoe
Março 31, 2009, 2:33pm
#1
Fala feras
Tenho uma Servlet e quando eu chamo na URL, o Struts insiste achar que eh uma Action e isso acaba me gerando erro:
Minha chamada foi a seguinte:
http://localhost:8080/BRDS/webmonitor?A=12344566654
Meu web.xml esta da seguinte maneira:
<servlet>
<servlet-name>NextelReceiver</servlet-name>
<servlet-class>com.oe.brad.nextel.NextelReceiver</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NextelReceiver</servlet-name>
<url-pattern>/webmonitor</url-pattern>
</servlet-mapping>
E a servlet
public class NextelReceiver extends HttpServlet{
/**
* Identificador de Serialização
*/
private static final long serialVersionUID = -6753479239773751453L;
/**
* Logger em questão
*/
private static final Logger logger = Logger.getLogger(NextelReceiver.class);
/**
* Recupera a resposta SMS pela URL
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
logger.info("Preparando para recuperar mensagem de resposta enviada pelo telefone: " + req.getParameter("from"));
String mensagemA = req.getParameter("A");
logger.info("Mensagem recebida: [A] = " + mensagemA);
}
Tem algo de errado no que estou fazendo?
Como vc ta mapeamendo o filter do struts 2? Mostre o restante do seu web.xml.
arsgc
Maio 21, 2009, 5:52pm
#3
Olá, padcoe.
Conseguiu resolver o problema com o servlet?
Poderia postar a solução?
Tks
Pessoal, estou com o mesmo problema usando o Struts 2.
<servlet>
<servlet-name>ConsultaCEP</servlet-name>
<servlet-class>com.gnamorim.sime.action.ajax.ConsultaCEP</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ConsultaCEP</servlet-name>
<url-pattern>/consultar_cep</url-pattern>
</servlet-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Quando eu acesso /consultar_cep obtenho a seguinte mensagem:
Struts Problem Report
Struts has detected an unhandled exception:
Messages: There is no Action mapped for namespace / and action name consultar_cep.
Alguém aí já passou por isso? Agradeço desde já.
Problema resolvido!
<servlet>
<servlet-name>ConsultaCEP</servlet-name>
<servlet-class>com.gnamorim.sime.action.ajax.ConsultaCEP</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ConsultaCEP</servlet-name>
<url-pattern>/consultar_cep.ajax</url-pattern>
</servlet-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Problema besta com o mapeamento. O filtro do Struts, cumprindo o seu dever, estava pegando o /consultar_cep, afinal, /consultar_cep entra no padrão /*. Bastou colocar um padrão diferente pra servlet como /consultar_cep.ajax. hehehehe