Vous êtes sur la page 1sur 4

JSPBrasil - Tutorial JSP

Tutoriais
Objetos Implcitos Parte 2: Objetos Relacionados a OutPut/InPut da pgina
por: Ulisses Telemaco Neto ulisses@jspbrasil.com.br Os objetos classificados nessa categoria se concentram no input (entrada de dados) e output (sada de informao) de uma pgina JSP. Os trs objetos classificados nessa categoria so: request response out

Objeto request
O objeto request representa a solicitao que requisitou a pgina. O objeto request implementa a interface javax.servlet.http.HttpServletRequest (subinterface de javax.servlet.ServletRequest). Esse objeto, que tambm classificado como um objeto contextual (parte 3), um dos mais complexos e mais utilizados na construo de pginas JSP. Podemos dividir os mtodos desse objeto em quatro funcionalidades: Armazenar e Recuperar valores de atributos: Mtodo Descrio void setAttribute(String key, Object value) Associa um valor de atributo com um nome. Enumeration getAttributeNames() Object getAttribute(String key) void removeAttribute(String key) Recupera os nomes de todos os atributos associados com o objeto. Recupera o valor de atributo associado com a chave. Remove o valor de atributo associado com a chave.

Recuperar parmetros de solicitao e cabealho de HTTP: Mtodos Enumeration getParameterNames() String getParameter(String name) String[] getParameterValues(String name) Descrio Retorna os nomes de todos os parmetros de solicitao. Retorna os primeiro valor (principal) de um nico parmetro de solicitao. Recupera todos os valores para um nico parmetro de solictao.

Recuperar cabealhos de solicitao e cabealhos de HTTP: Mtodos Enumeration getHeaderNames() String getHeader(String name) Enumeration getHeaders(String name) int getIntHeader(String name) long getDateHeader(String name) Cookies[] getCookies() Descrio Recupera os nomes de todos os cabealhos associados com a solicitao. Retorna o valor de um nico cabealho de solicitao, como uma cadeia. Retorna todos os valores para um nico cabealho de solicitao. Retorna o valor de um nico cabealho de solicitao, com um nmero inteiro. Retorna o valor de um nico cabealho de solicitao, como uma data. Recupera todos os cookies associados com a solicitao.

Diversos mtodos da interface que javax.servlet.hhtp.HttpServletRequest:

1 of 4

JSPBrasil - Tutorial JSP

Mtodos String getMethod() String getRequestURI() String getQueryString() HttpSession getSession()

Descrio Retorna o mtodo de HTTP (e.g, POST, GET, etc) para a solicitao. Retorna o URL de solicitao (no inclui a cadeia de consulta). Retorna a cadeia de consulta que segue o URL de solicitao, se houver algum. Recupera os dados da sesso para a solicitao (i.e, o objeto implcito session). Recupera os dados da sesso para a solicitao (i.e, o objeto implcito session), opcionalmente criando-o se ele ainda no existir. Cria um dispatcher de solicitao para o URL local indicado. Retorna o nome totalmente qualificado do host que enviu a solicitao. Retorna o endereo de rede (IP) do host que enviou a solicitao. Retorna o nome do usurio que enviou a solicitao, se conhecido.

HttpSession getSession(boolean flag) RequestDispatcher getRequestDispatcher(String path) String getRemoteHost() String getRemoteAddr() String getRemoteUser()

Abaixo esto os links para a API que define essas interfaces: ServletRequest HttpServletRequest Exemplo utilizando o objeto implcito request: ..... Seu IP :<%= request.getRemoteAddr() %><br> Seu Host :<%= request.getRemoteHost() %><br> .....

Objeto response
O objeto response representa a resposta que ser enviada de volta para o usurio como resultado do processamento da pgina JSP. Este objeto implementa a interface javax.servlet.http.HttpServletResponse que uma subinterface de javax.servlet.ServletResponse . Podemos dividir os mtodos desse objeto em quatro funcionalidades: Especificar o tipo de contedo e codificao da resposta: Mtodos void setContentType(String type) String getCharacterEncoding() Descrio Define o tipo MIME e, opcionalmente, a codificao de caracteres do contedo da resposta. Retorna o conjunto de estilos de codificao de caracteres para o contedo da resposta.

Definir cabealhos da resposta:

2 of 4

JSPBrasil - Tutorial JSP

Mtodos void addCookies(Cookie cookie) boolean containsHeader(String name) void setHeader(String name, String value) void setIntHeader(String name, int value) void setDateHeader(String name, long date) void addHeader(String name, String value) void addIntHeader(String name, int value) void addDateHeader(String name, long date)

Descrio Adiciona o cookie especificado. Verifica se a resposta inclui o cabealho. Atribui o valor definido pela varivel "value" ao cabealho especificado por "name" Atribui o valor de nmero inteiro especificado por "value" ao cabealho especificado por "name" Atribui o valor de data especificado por "value" ao cabealho especificado por "name" Adiciona o valor definido por "value" ao cabealho especificado por "name" Adiociona o valor de nmero inteiro especificado por "value" ao cabealho especificado por "name" Adiciona o valor de data especificado por "value" ao cabealho especificado por "name"

Definir cdigos de resposta: Mtodos void setStatus(int code) void sendError(int status, String msg) void sendRedirect(String url) Descrio Define o cdigo de status para a resposta (para cisrcuntncias sem erro) Define o cdigo de status e mensagem de erro para a resposta. Envia uma resposta para o navegador indicando que ele deveria solicitar um URL alternativo (absoluto)

Reescrita da URL: Mtodos String encodeRedirectURL(String url) String encodeURL(String url) Descrio Codifica um URL para uso com o mtodo sendRedirect() para incluir informaes de sesso. Codifica um URL usado em um link para incluir informaes de sesso.

Abaixo esto os links para a API que define essas interfaces: ServletResponse HttpServletResponse O exemplo abaixo ilustra uma das utilidades desse objeto. Vrios cabealhos so definidos para evitar que a pgina seja armazenada em cache por um navegador. <% response.setHeader("Expires", 0); response.setHeader("Pragme, "no-cache"); if(request.getProtocol().equals("HTTP/1.1")){ response.setHeader("Cache-Control", "no-cache"); } %> Este script primeiro define o cabealho Expires para uma data no passado. Isto significa que o contedo da pgina j expirou, como uma dica que seu contedo no deve ser armazenado em cache.

Objeto out
Este objeto implcito representa o fluxo de sada para a pgina, cujo contedo ser enviado para o navegador com o corpo de sua resposta. O objeto out uma intncia da classe javax.servlet.jsp.JspWriter. Esse objeto implementa todos os mtodos print() e println() definidos por java.io.Writer. Por exemplo, o objeto out pode ser usado dentro de um script para adicionar contedo pgina gerada. Veja o exemplo abaixo:

3 of 4

JSPBrasil - Tutorial JSP

<% int i = (int)(Math.random()*10); if(i%2==0){ out.print("O Nmero escolhido "+ i +" par!"); } else { out.print("O Nmero escolhido "+ i +" impar!"); } %> Esse objeto muito utilizado para para gerar contedo dentro do corpo de um script, sem ter que fech-lo temporariamente para inserir contedo de pgina esttico. Contudo, deve-se evitar usar os mtodos print() ou println() para inserir cadeias de caracteres muito grandes. No prximo caso, mais aconselhvel fechar o script e inserir o contedo esttico. Veja o exemplo abaixo: No Aconselhvel: <% if(i == 1){ out.print("<h6>"+ "<font face='verdana'>"+ "Guga viaja nesta sexta"+ "para a Sua para"+ "jogar"+ "</font>"+ "</h6>"); } %> Aconselhvel: <% if(i == 1) {%> <h6> <font face='verdana'> Guga viaja nesta sexta para a Sua para jogar </font> </h6> <% } %> O links abaixo refere-se a API que define a interfaces que o objeto JspWriter out implementa:

4 of 4