Olá Fernando, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
Quando acessamos a URL http://localhost:8080/gerenciador/listaEmpresas
, sem informar uma extensão, o servidor verificar se à um se Servlet que atenda a URL informada, ou seja, irá verificar é existe um servlet com a anotação: @WebServlet("/listaEmpresas")
caso encontre esse Servlet se será usado como resposta para a URL, a anotação ocorre da seguinte forma:
@WebServlet("/listaEmpresas")
public class ListaEmpresasServlet extends HttpServlet {
Por outro lado, quando acessamos a URL http://localhost:8080/gerenciador/formNovaEmpresa.jsp
, essa página é um arquivo JSP que precisa ser processado pelo servidor antes de ser enviado para o navegador. O servidor reconhece que o arquivo possui a extensão .jsp
e passa por um processo chamado de "compilação" do JSP para gerar o código HTML correspondente. Apenas depois disso, o servidor envia o resultado para o navegador.
É por isso que, ao acessar diretamente a URL http://localhost:8080/gerenciador/formNovaEmpresa.jsp
, obtemos o formulário corretamente renderizado, pois especificamos a extensão .jsp
para indicar que é um arquivo JSP que precisa ser processado pelo servidor.
Em resumo, quando não incluímos a extensão .jsp
no final da URL, o servidor interpreta essa URL como uma chamada direta a um Servlet, que pode ser configurado para lidar com a lógica de negócios e retornar uma resposta adequada. Quando incluímos a extensão .jsp
, o servidor processa o arquivo JSP e gera o código HTML correspondente antes de enviá-lo para o navegador.
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!