1
resposta

Outro mapeamento

Na atividade 12 na aba 1. É falado sobre uma outra forma de mapeamento de URL.

Já usando o padrão MVC, para executar a ação ListaEmpresas a URL ficaria nesse seguinte formato certo? -> localhost:8080/gerenciador/listaEmpresas

E utilizando o método request.getRequestURI() terei como retorno a seguinte String? -> String uri = "listaEmpresas"

Contudo como eu iria conseguir chamar a ação que corresponde a ListaEmpresas?

Pois no outro formato de mapeamento o instrutor instanciava um objeto do tipo Acao através de reflection, porém o valor do parâmetro acao já vinha com o nome exato da classe a ser instanciada bastando apenas usar o FQN(br.com.alura.gerenciador.modelo.ListaEmpresas) -> localhost:8080/gerenciador/entrada?acao=ListaEmpresas

Ainda não testei essa "nova" forma de mapeamento em minha aplicação pois estou sem PC no momento, mas gostaria de uma explicação dessas dúvidas que tenho em relação a ela.

1 resposta

Fala lucas blz?

Cara, a única forma que vejo para fazer dessa forma seria manipular a string que vem do método getRequestURI() e usar um split() pra pegar a string com nome referente ao recurso listaEmpresas que está querendo acessar.

Eu também tive essa dúvida quando fiz o curso de servlets. Mas uma implementação em sevlet puro é muito baixo nível. Os frameworks fazem esse trabalho mais pesado. Acredito que por debaixo dos panos seja feito algo parecido com isso.

Recomendo fazer a Formação Spring. Lá vc vai mapear os seus recursos e vai consegir acessar normalmente usando a url nesse formato mais amigável sem precisar passar parâmetros.