Abaixo, o servlet para demonstrar o uso das interfaces:
package br.aiec; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class RequestResponseDemoServlet implements Servlet { @Override public ServletConfig getServletConfig() { return null; } @Override public String getServletInfo() { return "Programação WEB - AIEC - Requisição"; } @Override public void init(ServletConfig arg0) throws ServletException { } @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { //Adicionando um atributo a requisição request.setAttribute("disciplina", "Programação WEB"); //Obtendo a referência para escrever a resposta ao cliente PrintWriter out = response.getWriter(); out.println("SERVIDOR\n"); out.println("IP: " + request.getLocalAddr()); out.println("PORTA: " + request.getLocalPort()); out.println("\n\nCLIENTE\n"); out.println("IP: " + request.getRemoteAddr()); out.println("PORTA: " + request.getRemotePort()); out.println("CHARACTER ENCODING: " + request.getCharacterEncoding()); out.println("CONTENT TYPE: " + request.getContentType()); out.println("CONTENT LENGTH: " + request.getContentLength()); out.println("LOCALE: " + request.getLocale()); Enumeration<String> parametros = request.getParameterNames(); out.println("\n\nPARÂMETROS NOME/VALOR"); while (parametros.hasMoreElements()) { out.println("--------------------------------"); String paramNome = (String) parametros.nextElement(); out.println("NOME: " + paramNome); out.println("VALOR: " + request.getParameter(paramNome)); } Enumeration<String> atributos = request.getAttributeNames(); out.println("\n\nATRIBUTOS NOME/VALOR"); while (atributos.hasMoreElements()) { out.println("--------------------------------"); String attrNome = (String) atributos.nextElement(); out.println("NOME: " + attrNome); out.println("VALOR: " + request.getAttribute(attrNome)); } } @Override public void destroy() { } }