Servlet - HttpServlet Class - doGet & doPost
Sobrescrevendo os métodos herdados de “HttpServlet”
Baseado no que demonstramos no artigo anterior, “Java para Web no Netbeans 6 – Servlet, JSP & CSS”, quando me referi a superclasse “HttpServlet” sobre os métodos “doXXX”, neste artigo vou sobrescrever (override) os métodos “doGet” e “doPost” do Servlet que criamos anteriormente para testarmos a resposta de cada um deles mediante ao tipo de requisição cliente, quanto aos métodos http POST e GET. Lembre-se, estou contando com a mesma aplicação desenvolvida no artigo anterior. Neste artigo vou apenas sobrescrever os métodos citados a cima da classe “ZnLandjha”.

Código do método “doPost” de “ZnLandjha” sobrescrito:
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String znBla = request.getParameter("znBla"); if (znBla.equals("TestePost")){ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet ZnLandjha - Método doPost Repondendo requisição Post </title>"); out.println("<link href=ZnCss/ZnCSSlandjah.css rel=stylesheet type=text/css>"); out.println("</head>"); out.println("<body>"); out.println("<div>Servlet ZnLandjha at Método doPost Repondendo requisição Post " + "<br> Para tesar o método doGet Clik no botão ZN Abaixo." + "</div> <br>"); out.println("<form name='formZnGet' method='GET'>"); out.println("<input type='submit' value='Ok Zn Get!' name='btnEnviarGet' /> <br>"); out.println("<input type='text' name='znBla' value=" + znBla + " size='32' />"); out.println(" </form>"); out.println("</body>"); out.println("</html>"); } finally { out.close(); } } else{ processRequest(request, response); } }
Na linha 5: Recebendo do “Form” postado (do lado cliente) o valor do objeto “input” cujo nome é "znBla".
Na linha 6: O "if" testa se vamos processar o que foi programado no artigo anterior, ou se o processamento desejado é verificar a ação do método “doPost”. Ou seja, se no browser for digitado “TestePost”, você estará testando o método “doPost”.
Na Linha 19: Define a tag “Form” , da pagina que será montada em resposta ao processamento do método “doPost”, como: Name = “formZnGet” e method = “GET'”.
Na Linha 20: Definimos o botão que irá submeter a página que testa o método “doGet”. Para processar o teste, basta digitar “TesteGet” na caixa de texto.
Código do método “doGet” de “ZnLandjha” sobrescrito:
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String znBla = request.getParameter("znBla"); if (znBla.equals("TesteGet")){ response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet ZnLandjha - Método doGet Repondendo requisição GET </title>"); out.println("<link href=ZnCss/ZnCSSlandjah.css rel=stylesheet type=text/css>"); out.println("</head>"); out.println("<body>"); out.println("<div>Servlet ZnLandjha at Método doGet Repondendo requisição GET " + "<br> Para tesar o método doPost Clik no botão ZN Abaixo." + "</div> <br>"); out.println("<form name=formZnPost method=POST>"); out.println("<input type='submit' value='Ok Zn Post!' name='btnEnviarPost' /> <br>"); out.println("<input type='text' name='znBla' value=" + znBla + " size='32' />"); out.println(" </form>"); out.println("</body>"); out.println("</html>"); } finally { out.close(); } } else{ processRequest(request, response);} }
Na linha 4: Recebendo do “Form” postado (do lado cliente) o valor do objeto “input” cujo nome é "znBla".
Na linha 5: O "if" testa se vamos processar o que foi programado no artigo anterior, ou se o processamento desejado é verificar a ação do método “doXXX”. Ou seja, se no browser for digitado “TesteGet”, você estará testando o método “doGet”. Só que para isso funcionar precisamos primeiro testar o “doPost”. Isso porque a primeira requisição vira da página “Index.jsp” e nela definimos que o método http, do “form1” é “POST”.
Execute (F6) e teste ...


OBS: "@Override" indica pro compilador que o método esta sobrescrito ...
Nenhum comentário:
Postar um comentário