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