1
resposta

Java Servlet

Qual a funcao dos seguintes comandos?

request.getContextPath() 
response.encodeURL

request.getServletPath();
request.getPathInfo();
req.getRequestURI() 

Alguem me ajuda a entender esses comandos porfavor se puder com exemplos.

1 resposta

Oi Julien, tudo bem? Vou tentar te ajudar aqui. Vou enumerar as questões pra ficar mais fácil de saber qual é qual.

1 . request.getContextPath() : retorna o contexto da requisição, o contexto neste caso é o endereço base para qual a servlet responde. É o começo do endereço basicamente.

  1. request.getServletPath() : retorna o endereço que faz com que a servlet seja executada.

  2. request.getPathInfo() : retorna informações adicionais em relação ao caminho que acionou a servlet, como sub-paths, mas não traz a query string.

  3. request.getRequestURI(): basicamente retorna o caminho da requisição. Parece muito com o ServletPath, mas aqui trás o caminho completo depois do /, o SevletPath não me parece trazer tudo, apenas a base da URL no request mapping.

  4. response.encodeURL(): pelo que entendi, codifica a url para possuir o id da sessão caso seja necessário. Em algum cenário, a impossibilidade de se usar cookies ou session, o id da sessão fica disponível na URL.

Encontrei tudo isso na documentação :)

Caso sinta-se confortável pra ler, vou deixar o link aqui.

Response: https://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/

Request: https://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/javax/servlet/http/HttpServletRequest.html