Fiz uma aplicação de teste simples com JSP e Servlets para ver se tudo estava OK referente às instalações que fiz (Eclipse + MyEclipse, com servidor Resin).
Tudo foi bem, fiz taglibs e tudo mais antes de instalar/configurar o Struts para ter certeza da integridade do ambiente.
Quando fui fazer um teste simples criando Servlets e direcionando para JSPs, começou a dar o erro:
500 Servlet Exception
All servlets must implement the Servlet interface.
Fiquei inseguro e criei um novo projeto usando um esquema pronto desse site (inclusive suas recomendações de instalação e configuração do Struts): http://www.allapplabs.com/struts/struts_example.htm
é bem simples, poucas linhas de código (está tudo lá) mas, o erro persistiu.
(no caso, o erro completo se refere ao primeiro arquivo configurado no web.xml:
[b]“WEB-INF/web.xml:33: `example.NameAction’ must implement javax.servlet.Servlet.
All servlets must implement the Servlet interface.”[/b])
Agora não sei se o problema é da aplicação, da configuração ou do servidor.
Então, nenhum caminho deve ficar direto no web.xml, ele deve ter um “.do” para encaminhar para a Action do Struts q faz o redirecionamento (certo?!). Sendo assim, acho q este exemplo q achei está furado… vou procurar alguma outro mas, segue as partes alteradas dos XMLs como solicitado.
tks
soh um detalhe…qual a url q vc ta tentando testar isso???
outra coisa, por vc estar tendo dificuldades com isso, vc nao deve ter experiencia com servlets/jsp, eh melhor vc ir mais simples antes de tentar utilizar o struts…
então, eu tenho experiência com JSP, é q este exemplo me confundiu mas, entendi q o no web.xml é mapeado só os *.do para redirecionar aos mappings do struts-config
retirei as tags q vc falou e não deu mais erro
recomecei uma nova aplicação de teste e agora estou tendo problemas com as taglibs de formulário… não tem mais “struts-form” na versão 1.2, estou pesquisando isso agora.
Alguns exemplos na net e em livros implementam o principal método da interface Action do struts como [i]perform[/i] sendo que [i]execute[/i] foi o que funcionou no meu caso (estou usando a versão 1.2).