1
resposta

Dúvida sobre jsp

Aula Usando a taglib core Gostaria de saber porque quando utilizo no navegador: http://localhost:8080/gerenciador/listaEmpresas ele traz a lista mas se coloco .jsp no final não traz?? E no caso http://localhost:8080/gerenciador/formNovaEmpresa não traz o form, somente com o final .jsp???

Gostaria de entender esse comportamento, no caso do listaEmpresas funciona sem a extensão jsp mas no form não?? Qual a explicação técnica para isso ? acho que estou esquecendo de algum detalhe

1 resposta

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!