publiquei um site que possui uns cadastros bem básicos, usando JSP e Servlets. Até aí beleza, só que quando vou direcionar o usuário da página .html para a servlet xyz, não está encontrando o caminho da servlet. Erro típico “http 404 …”
Dúvida, não deveria haver problemas pois o caminho está relativo não é mesmo?
O tomcat está procurando a classe compilada servletxyz.class (então ela deveria estar no diretório root??) ?
Não sei se entenderam.
Será que alguém pode ajudar?
luxu,
é uma servlet, por isso não coloquei a extensão.
Acho que não fui claro ainda, me desculpem. Trocando em miúdos, o que está ocorrendo que é o tomcat não está reconhecendo as servlets em ambiente de produção.
Em ambiente de homologação está funcionando. Detalhe, em produção a versão do tomcat é 6.0.20 e em homologação é 7.0.11.
E aí, alguém já passou por isso?
A
andreiribas
O servlet está mapeado no web.xml?
D
drsmachado
Se está, qual o path dele? Eventualmente, pode estar com o pacote.NomeServlet…
Já testei e não funcionou. Mesma mensagem de http 404. O interessante é que não é a mensagem do tomcat ou seja, é a mensagem http 404 do browser (quando é do tomcat ele escreve no rodapé tomcat…etc, etc e tal).
Minha dúvida é se após fazer o deploy, as classes servlet devem ficar abaixo do diretório com nome do pacote ou imediatamente abaixo de ‘classes’
Atualmente está assim[correto]:
/WEB-INF/classes/nomepacote/classes de servlets
Obrigado a todos.
A
Andre_Brito
Abaixo de classes. Mas depois de fazer o build, deve gerar as pastas que representam os pacotes.
No seu projeto, fica assim:
WebContent
WEB-INF
classes
Se você usa o Eclipse, direciona o bin pra esse cara. Ele vai gerar sozinho a pasta do pacote e vai colocar o class dentro. Veja no log do Tomcat o que aparece.