Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Mapeamento da URL no Servlet

Olá, tudo bem?

Percebi que no meu eclipse, ao clicar em File->New-> Servlet para criar uma Servlet e configurar a URL mappings, ele não adiciona a annotation @WebServlet na classe. Percebi que ao invés disso, ele cria configurações de mapeamento da URL no arquivo web.xml que mapeiam a URL.

Com isso surgiram algumas dúvidas:

1-tem como configurar o eclipse para usar essa anotation @WebServlet ao invés de mapear no web.xml ao criar uma nova Servlet?

2-Qual a melhor prática para fazer esse mapeamento das URL's: através da Annotation @WebServlet ou através do web.xml?

4 respostas

Olá Guilherme! (meu xará!)

Poderia informar a versão do Tomcat que está utilizando?

Além disso seria legal um print da estrutura do seu projeto no eclipse.

Você pode nos enviar imagens aqui no fórum por meio desse recurso:

Imagem da barra de ferramentas do fórum da Alura com um destaque em vermelho em volta da décima opção, que nos possibilita o envio de imagens ao post do fórum

Te aguardo! 😄

Boa tarde Xará, obrigado por me responder

Estou utilizando a versão 10.0 do TomCat. Segue o print com a estrutura do projeto no eclipse

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Entendi.

Realmente tem a ver com a versão do Tomcat que você utilizou.

Como deve ter notado, nas aulas o professor utiliza a versão 9, e realiza imports do pacote javax.servlet.http.HttpServlet, e isso não é possível no Tomcat 10, pois ele não reconhece os imports desse pacote, nos obrigando a utilizar o pacote jakarta que contém algumas diferenças do que utilizamos nos cursos.

Te recomendo retirar o Tomcat 10 do eclipse, instalar o Tomcat 9 e recriar o projeto. Dessa forma vamos evitar problemas que podem acontecer devido às alterações feitas pelo Tomcat 10.

Deixo aqui abaixo um link que pode ser ultil, sobre como remover um servidor Tomcat do Eclipse:

Post sobre remoção do Tomcat do Eclipse

E também vou deixar aqui o link para outro post em que explico a um colega aqui do fórum sobre o motivo do Tomcat 10 não aceitar imports do pacote javax e porque seguimos utilizando a versão 9.

Post a respeito das versões do Tomcat e Java EE

Consegui te ajudar com essa resposta?

Se precisar de algo mais, é só falar!

Opa, bom dia Xará

Te agradeço imensamente pela ajuda. Removi o TomCat 10 e adicionei o TomCat 9 ao meu projeto.

Demorei um pouco para fazer esse procedimento porque esbarrei num outro problema: ao fazer esse procedimento, o eclipse acabou excluindo a lib "ServerRuntime" e quando instalei a versão 9 do TomCat tive adicionar essa lib manualmente através das configurações do projeto no próprio Eclipse, custei "pegar a manha" dessa configuração rsrs.

Mas agora deu tudo certo. Quando crio uma nova Servlet no Eclipse com o TomCat 9 e configuro o mapeamento da URL, o eclipse está colocando a annotation na classe e não mais mapeando através do web.xml.

Ahh, também fiz os ajustes nos imports. Com o TomCat 10 os Servlets eram importados do pacote jakarta, agora mudei para javax.

Muito Obrigado!!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade