protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        HttpSession session = request.getSession(true);
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        session.removeAttribute("error");
        session.removeAttribute("sucesso");

        String valor = request.getParameter("oferta");

        try {
            Leitor leitor = (Leitor) session.getAttribute("user");
            if(leitor == null){
                session.setAttribute("error", "Leitor nao está logado.");
                response.sendRedirect(request.getContextPath() + "/index.jsp");
            }else if(valor == null || valor.trim().equals("")){
                session.setAttribute("error", "Preencha todos os campos.");
                response.sendRedirect(request.getContextPath() + "/mostrarClassificado.jsp");
            }else{
                ClassificadoDAO dao = new ClassificadoDAO();
                double oferta = Double.parseDouble(valor);

                Classificado classificado = (Classificado)session.getAttribute("classificado");

                if(oferta > classificado.getPreco() && oferta > classificado.getMelhorOferta()){
                    classificado.setUsuario(leitor);
                    classificado.setDataOferta(new Date());
                    classificado.setMelhorOferta(oferta);

                    dao.atualizar(classificado);
                    session.setAttribute("classificado", classificado);
                    response.sendRedirect(request.getContextPath() + "/mostrarClassificado.jsp");
                } else {
                    session.setAttribute("error", "Oferta menor que ultimo lance dado.");
                    response.sendRedirect(request.getContextPath() + "/mostrarClassificado.jsp");
                }
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }