Olá desenvolvedores, a primeira menção aos “objetos implícitos”, tema do tutorial de hoje foi aqui em “JSP E SERVLET: BREVE INTRODUÇÃO”. Quando abordamos as vantagens do JavaServer Pages sobre o Servlet citamos os objetos implícitos (“escondidos”) como variáveis com escopo definido no escopo da página, cabeçalhos de solicitação HTTP, coleções de strings e tags predefinidas, parâmetros de inicialização de contexto entre outras.

Os objetos implícitos são objetos Java que já estão disponíveis no JSP e no servidor para que possamos utilizar os seus recursos.

Em nosso exemplo temos duas páginas, a página principal que é o “index.jsp” e a “receber-nome.jsp”. Assim, quando na página principal clicamos no botão “enviar”, estamos enviando a ação para a página “receber-nome”, esta página está trabalhando com o objeto implícito request.

O request é uma implementação da interface pública HttpServletRequest que estende a ServletRequest e que contém todas as informações de solicitação do cliente. E ele está disponível tanto do lado do JSP quanto do lado do servidor.

OBJETOS IMPLÍCITOS – REQUEST

O getParameter retorna o valor de um parâmetro de solicitação como uma String ou null se o parâmetro não existir. Os parâmetros de solicitação são informações extras enviadas com a solicitação. Nesse sentido a linha de código abaixo, mostra o objeto request recebendo o parâmetro que está sendo enviado.

<%="Nome recebido: " + request.getParameter("nome")%>

Podemos também obter por exemplo, o parâmetro de inicialização de contexto por meio do getContextPath. Ele retornará a parte da URL da solicitação que indica o contexto da solicitação. O caminho do contexto sempre vem primeiro em um requestURL e começa sempre com um caractere “/”.

<%= request.getContextPath() %>

A solicitação acima retornará algo como “/curso-jsp”. Podemos por exemplo obter o número da porta IP – Internet Protocol da interface na qual a solicitação foi recebida. O número inteiro retornado especificará o número da porta.

<%= request.getLocalPort() %>

Podemos citar também o getProtocol que retorna uma String contendo o nome do protocolo e o número da versão, isto é, o nome e a versão do protocolo usado pela solicitação no formato protocol/, por exemplo HTTP / 1.1.

<%= request.getProtocol() %>

OBJETOS IMPLÍCITOS – RESPONSE

O response é também um objeto implícito, é uma implementação da interface pública HttpServletRsponse que estende a ServletResponse. Ele fornece funcionalidade específica de HTTP ao enviar uma resposta. Por exemplo, ele possui métodos para acessar cabeçalhos e cookies HTTP.

Com o objeto response enviamos uma resposta. Por exemplo, com o sendRedirect podemos enviar uma resposta de redirecionamento para o cliente especificando a URL. Esta URL de redirecionamento pode ser tanto interna para uma página da própria aplicação como externa, para uma aplicação ou site, externo.

<%response.sendRedirect("https://www.jdevtreinamento.com.br/tutoriais/");
%>

EM POUCAS PALAVRAS

Em suma, esta é a função dos objetos implícitos disponibilizar uma gama de serviços prontos para serem usados, ficando a cargo da necessidade e criatividade do programador quando e como usá-los. Eu fico por aqui e nós nos vemos no próximo tutorial