b) Servlet
package br.aiec; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(name="GetPostServlet", urlPatterns="/getPostServlet") public class GetPostDemoServlet extends HttpServlet{ private int contadorGet; private int contadorPost; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title> GET </title>"); out.println("</head>"); out.println("<body>"); out.println("O servlet foi acionado pelo método GET " + (++contadorGet) + " vezes."); out.println("</body>"); out.println("</html>"); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title> POST </title>"); out.println("</head>"); out.println("<body>"); out.println("O servlet foi acionado pelo método POST " + (++contadorPost) + " vezes."); out.println("</body>"); out.println("</html>"); } }
O referido servlet possui a capacidade de contar a quantidade de requisições GET ou POST que o mesmo recebeu em um ciclo de sua vida. Lembre-se de que a cada ciclo os valores das variáveis são reiniciados a partir do número zero, uma vez que tal contagem somente fica armazenada em memória de trabalho volátil (RAM).