-
Posts
8 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Ana Grossi postou
-
Oi! Obrigada por responder! Sabe quando você pede pra mostrar uma lista com todos os funcionários que tem cadastrados no sistema? Daí ele deveria mostrar tipo uma tabela com ID - Nome - Função - Setor, por exemplo... Ficaria algo tipo: ID | Nome | Setor | Função 1 | Funcionário 1 | Compras | Telefonista 2 | Funcionário 2 | Corte | Desenho de molde 3 | Funcionário 3 | Costura | Costureiro (a) Certo? Isso em um outro link da página index_empresa.html, que chama um ListarFuncionario... Mas aí, depois que implementei o login, ele parou de me mostrar os três funcionários, e me mostra só o de Id 1.
-
Oi, gente! Espero que possam me ajudar. Estou fazendo um sistema Web, e pra resumir, tenho uma classe super (Usuários) e duas filhas (empresa e funcionário). A ideia é que o cadastro, listagem e etc. dos funcionários seja feito exclusivamente pela empresa. Estava tudo indo bem, mas quando implementei o login, na hora de listar os funcionários (estando logado como empresa) ele lista apenas o funcionário de id. 1, e não mostra os outros. Vocês podem me ajudar a encontrar o erro? Segue o código: DAO Usuário - método Logar public Usuario logarUsuario(String loginUsuario, String senhaUsuario){ PreparedStatement stmt = null; ResultSet rs = null; Usuario usuario = null; Funcionario func = null; String sql = "select u.*from usuario u " + "where u.login_usuario = ? and u.senha_usuario = ?;"; try { stmt = conn.prepareStatement(sql); stmt.setString(1, loginUsuario); stmt.setString(2, senhaUsuario); rs = stmt.executeQuery(); if (rs.next()) { usuario = new Usuario(); usuario.setIdUsuario(rs.getInt("id_usuario")); usuario.setLoginUsuario(rs.getString("login_usuario")); usuario.setSenhaUsuario(rs.getString("senha_usuario")); usuario.setTipoUsuario(rs.getString("tipo_usuario")); usuario.setEnderecoUsuario(rs.getString("endereco_usuario")); usuario.setCidadeUsuario(rs.getString("cidade_usuario")); } } catch (SQLException ex) { System.out.println("Problemas ao fazer login! Erro:" + ex.getMessage()); ex.printStackTrace(); } finally { try { ConnectionFactory.closeConnection(conn, stmt, rs); } catch (Exception ex) { System.out.println("Problemas ao fechar os parametros! Erro: " + ex.getMessage()); ex.printStackTrace(); } } return usuario; }} Servlet LogarUsuario protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getParameter("acao").equals("logar")) { String loginUsuario = request.getParameter("loginUsuario"); String senhaUsuario = request.getParameter("senhaUsuario"); String mensagem = null; Usuario usuario = null; if (!loginUsuario.equals("") || !senhaUsuario.equals("")) { try { UsuarioDAOImpl dao = new UsuarioDAOImpl(); usuario = dao.logarUsuario(loginUsuario, senhaUsuario); if (usuario != null) { HttpSession sessao = request.getSession(); sessao.setAttribute("usuario", usuario); mensagem = "Seja bem-vindo!"; if (usuario.getTipoUsuario().equals("Funcionário")) { sessao.setAttribute("saudacao", mensagem); Funcionario func = new Funcionario(); request.getRequestDispatcher("index_func.jsp").forward(request, response); } else if (usuario.getTipoUsuario().equals("empresa")) { sessao.setAttribute("saudacao", mensagem); request.getRequestDispatcher("index_empresa.html").forward(request, response); } else { mensagem = "Usuário/Senha inválidos!"; sessao.setAttribute("saudacao", mensagem); request.getRequestDispatcher("login.jsp").forward(request, response); } } else { mensagem = "Usuario/Senha inválidos!"; request.setAttribute("mensagem", mensagem); request.getRequestDispatcher("login.jsp").forward(request, response); } } catch (Exception ex) { System.out.println("Problemas ao logar Usuário! Erro: " + ex.getMessage()); ex.printStackTrace(); } } else { mensagem = "Usuario/Senha inválidos!"; request.setAttribute("mensagem", mensagem); request.getRequestDispatcher("login.jsp").forward(request, response); } } else if (request.getParameter("acao").equals("logout")) { HttpSession sessao = request.getSession(true); sessao.invalidate(); response.sendRedirect("login.jsp"); } } Muitíssimo obrigada a quem puder me socorrer!
-
Javascript Enviar dados para o Servlet através de JavaScript
Ana Grossi respondeu ao tópico de Ana Grossi em Web e banco de dados
@makotsunami Olá! Obrigada pela sua resposta! Mas não consegui fazer funcionar... Coloquei o código que você escreveu aqui na function endQuiz() assim: function endQuiz(){ $('#explanation').empty(); $('#question').empty(); $('#choice-block').empty(); $('#submitbutton').remove(); $('#question').text("Você acertou " + score + " de " + quis.length + " perguntas."); $(document.createElement('h2')).css({'text-align':'center', 'font-size':'4em'}).text(Math.round(score/quis.length * 100) + '%').insertAfter('#question'); fetch('http://localhost:8080/CadastrarQuiz', { method: 'POST', headers: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': 'application/json' }, body: JSON.stringify({ score: score }) }).then(() => { alert('Score cadastrado com sucesso.'); }) .catch(error => { alert('Ocorreu um erro ao cadastrar seu score:' + error); }); } Aí quando termina o jogo, ele aparece a alert('Score cadastrado com sucesso.'); mas não cadastrou nada. Meu Servlet está assim: @WebServlet(name = "CadastrarQuiz", urlPatterns = {"/CadastrarQuiz"}) public class CadastrarQuiz extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pontosQuiz = request.getParameter("score"); String perguntasQuiz="3"; String mensagem = null; quis quis = new quis(); quis.setPontosQuiz(pontosQuiz); quis.setPerguntasQuiz(perguntasQuiz); try { QuizDAOImpl dao = new QuizDAOImpl(); if (dao.cadastrar(quis)) { mensagem = "Cadastrado com sucesso!"; } else { mensagem = "Problemas ao cadastrar quis!"; } request.setAttribute("mensagem", mensagem); request.getRequestDispatcher("quis.jsp").forward(request, response); } catch (Exception ex) { System.out.println("Problemas ao cadastrar quis! Erro:" + ex.getMessage()); ex.printStackTrace(); } } Mas nem erro na saída do NetBeans não dá... você pode me ajudar de novo? -
Javascript Enviar dados para o Servlet através de JavaScript
Ana Grossi postou um tópico em Web e banco de dados
Olá ! Mais uma vez venho pedir ajuda de vocês. É o seguinte: tenho um jogo tipo quis feito em HTML e JavaScript, e preciso salvar quantas perguntas o cara acertou no Banco de Dados, para ficar registrado. Tem a variável que armazena o resultado (score), mas eu não sei como enviar ela para o banco de dados (estou usando PostgreSQL e Java Web para programação). Alguma ideia? Segue o código: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>quis</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> var quiztitle = "quis de Primeiros Socorros"; var quis = [ { "question" : "1: Como socorrer uma vítima de crise convulsiva?", "image" : "https://nevrology-md.ru/files/source/Novostie/Nevrologie/chto-takoe-epilepsi43848834.jpg", "choices" : [ "Lateralizando a vítima, preferencialmente para o lado esquerdo", "Dando água para a vítima", "Segurando firme os braços da vítima, para evitar lesões pelos espasmos", "Puxando a língua da vítima com os dedos, para evitar sufocamento" ], "correct" : "Lateralizando a vítima, preferencialmente para o lado esquerdo", "explanation" : "A lateralização da vítima para o lado esquerdo serve para desobstruir as vias aéreas e evitar que a vítima sufoque, caso vomite. Não se deve movimentar a vítima ou tentar segurá-la, para evitar lesões na vítima e no próprio socorrista.", }, { "question" : "2: O que NÃO fazer em uma vítima de picada de cobra Jararaca?", "image" : "https://upload.wikimedia.org/wikipedia/commons/0/09/Jararaca_-_Bothrops_jararaca_-_Sibilando.jpg", "choices" : [ "Lavar o local com água e sabão", "Fazer torniquete", "Colocar pano limpo, sem pressionar a área", "Evitar que a vítima faça movimentos bruscos" ], "correct" : "Fazer torniquete", "explanation" : "Os torniquetes deverão ser utilizados como um último recurso e, somente, para controlar os sangramentos provocados por ferimentos graves nas extremidades, quando todos os outros métodos de controle falharem.", }, { "question" : "3: O que significa DNV?", "image" : "", "choices" : [ "Distúrbio Neuro-Vascular", "Doença Neurovegetativa", "Doença do Nervo Vagu", "Disúrbio Neurovegetativo" ], "correct" : "Disúrbio Neurovegetativo", "explanation" : "Distúrbio neurovegetativo é um transtorno psicológico no qual o paciente atribui seus sintomas a um mau funcionamento de um sistema ou de órgão inervado e controlado pelo sistema neurovegetativo (autônomo) porém exames exaustivos não indicam nenhum problema significativo nesse sistema.", }, ]; var currentquestion = 0, score = 0, submt=true, picked; jQuery(document).ready(function($){ function htmlEncode(value){ return $(document.createElement('div')).text(value).html(); } function addChoices(choices){ if(typeof choices !== "undefined" && $.type(choices) == "array"){ $('#choice-block').empty(); for(var i=0;i<choices.length; i++){ $(document.createElement('li')).addClass('choice choice-box').attr('data-index', i).text(choices[i]).appendTo('#choice-block'); } } } function nextQuestion(){ submt = true; $('#explanation').empty(); $('#question').text(quis[currentquestion]['question']); $('#pager').text('Pergunta ' + Number(currentquestion + 1) + ' de ' + quis.length); if(quis[currentquestion].hasOwnProperty('image') && quis[currentquestion]['image'] != ""){ if($('#question-image').length == 0){ $(document.createElement('img')).addClass('question-image').attr('id', 'question-image').attr('src', quis[currentquestion]['image']).attr('alt', htmlEncode(quis[currentquestion]['question'])).insertAfter('#question'); } else { $('#question-image').attr('src', quis[currentquestion]['image']).attr('alt', htmlEncode(quis[currentquestion]['question'])); } } else { $('#question-image').remove(); } addChoices(quis[currentquestion]['choices']); setupButtons(); } function processQuestion(choice){ if(quis[currentquestion]['choices'][choice] == quis[currentquestion]['correct']){ $('.choice').eq(choice).css({'background-color':'#228B22'}); $('#explanation').html('<strong>Correto!</strong> ' + htmlEncode(quis[currentquestion]['explanation'])); score++; } else { $('.choice').eq(choice).css({'background-color':'#D92623'}); $('#explanation').html('<strong>Incorreto.</strong> ' + htmlEncode(quis[currentquestion]['explanation'])); } currentquestion++; $('#submitbutton').html('Próxima Pergunta »').on('click', function(){ if(currentquestion == quis.length){ endQuiz(); } else { $(this).text('Verificar Resposta').css({'color':'#222'}).off('click'); nextQuestion(); } }) } function setupButtons(){ $('.choice').on('mouseover', function(){ $(this).css({'background-color':'#e1e1e1'}); }); $('.choice').on('mouseout', function(){ $(this).css({'background-color':'#fff'}); }) $('.choice').on('click', function(){ picked = $(this).attr('data-index'); $('.choice').removeAttr('style').off('mouseout mouseover'); $(this).css({'border-color':'#222','font-weight':700,'background-color':'#c1c1c1'}); if(submt){ submt=false; $('#submitbutton').css({'color':'#000'}).on('click', function(){ $('.choice').off('click'); $(this).off('click'); processQuestion(picked); }); } }) } function endQuiz(){ $('#explanation').empty(); $('#question').empty(); $('#choice-block').empty(); $('#submitbutton').remove(); $('#question').text("Você acertou " + score + " de " + quis.length + " perguntas."); $(document.createElement('h2')).css({'text-align':'center', 'font-size':'4em'}).text(Math.round(score/quis.length * 100) + '%').insertAfter('#question'); } function init(){ if(typeof quiztitle !== "undefined" && $.type(quiztitle) === "string"){ $(document.createElement('h1')).text(quiztitle).appendTo('#frame'); } else { $(document.createElement('h1')).text("quis").appendTo('#frame'); } if(typeof quis !== "undefined" && $.type(quis) === "array"){ $(document.createElement('p')).addClass('pager').attr('id','pager').text('Questão 1 de ' + quis.length).appendTo('#frame'); //add first question $(document.createElement('h2')).addClass('question').attr('id', 'question').text(quis[0]['question']).appendTo('#frame'); //add image if present if(quis[0].hasOwnProperty('image') && quis[0]['image'] != ""){ $(document.createElement('img')).addClass('question-image').attr('id', 'question-image').attr('src', quis[0]['image']).attr('alt', htmlEncode(quis[0]['question'])).appendTo('#frame'); } $(document.createElement('p')).addClass('explanation').attr('id','explanation').html(' ').appendTo('#frame'); //questions holder $(document.createElement('ul')).attr('id', 'choice-block').appendTo('#frame'); //add choices addChoices(quis[0]['choices']); //add submit button $(document.createElement('div')).addClass('choice-box').attr('id', 'submitbutton').text('Verificar Resposta').css({'font-weight':700,'color':'#222','padding':'30px 0'}).appendTo('#frame'); setupButtons(); } } init(); }); </script> <style type="text/css" media="all"> /*css reset */ html,body,div,span,h1,h2,h3,h4,h5,h6,p,code,small,strike,strong,sub,sup,b,u,i{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;} body{line-height:1; font:normal 0.9em/1em "Helvetica Neue", Helvetica, Arial, sans-serif;} ol,ul{list-style:none;} strong{font-weight:700;} #frame{max-width:620px;width:auto;border:1px solid #ccc;background:#fff;padding:10px;margin:3px;} h1{font:normal bold 2em/1.8em "Helvetica Neue", Helvetica, Arial, sans-serif;text-align:left;border-bottom:1px solid #999;padding:0;width:auto} h2{font:italic bold 1.3em/1.2em "Helvetica Neue", Helvetica, Arial, sans-serif;padding:0;text-align:center;margin:20px 0;} p.pager{margin:5px 0 5px; font:bold 1em/1em "Helvetica Neue", Helvetica, Arial, sans-serif;color:#999;} img.question-image{display:block;max-width:250px;margin:10px auto;border:1px solid #ccc;width:100%;height:auto;} #choice-block{display:block;list-style:none;margin:0;padding:0;} #submitbutton{background:#5a6b8c;} #submitbutton:hover{background:#7b8da6;} #explanation{margin:0 auto;padding:20px;width:75%;} .choice-box{display:block;text-align:center;margin:8px auto;padding:10px 0;border:1px solid #666;cursor:pointer;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;} </style> </head> <body> <div id="frame" role="content"> </div> </body> </html> Deixei o código completo, caso vocês queiram testar também ou precisem usar. É um quis bem legal. Mas a função importante mesmo daí é a function endQuiz() (eu acho). (não sei bem o motivo, mas o "quis" foi corrigido para "quis" eu muitos lugares. Desculpem). Muitíssimo obrigada! -
Javascript Adicionar uma lista ao clicar no botão "+" .jsp
Ana Grossi respondeu ao tópico de Ana Grossi em Web e banco de dados
Olá, @washalbano ! Obrigada pela dica -
Javascript Adicionar uma lista ao clicar no botão "+" .jsp
Ana Grossi postou um tópico em Web e banco de dados
Olá! Estou tentando fazer um cadastro que funcionaria da seguinte forma: Vou fazer a página de cadastro de uma determinada função; Dentro desse cadastro, quero colocar um botão de "+" para que o usuário possa adicionar EPIs relacionados à função; Esses EPIs já estão cadastrados no sistema, daí a ideia era que aparecesse uma lista dos EPIs cadastrados e o usuário selecionasse o que ele quiser; Quando ele clicasse no "+" apareceria uma outra lista, e etc; É JavaWeb, então é página em .jsp. O código que tenho é para adicionar um campo de texto simples, sem ser do tipo "select". <script type="text/javascript"> var qtdeCampos = 0; function addCampos() { var objPai = document.getElementById("campoPai"); //Criando o elemento DIV; var objFilho = document.createElement("div"); //var objData = document.createElement("div"); //Definindo atributos ao objFilho: objFilho.setAttribute("id","epi"+qtdeCampos); //objData.setAttribute("id","data"+qtdeCampos); //Inserindo o elemento no pai: objPai.appendChild(objFilho); //objPai.appendChild(objData); //Escrevendo algo no filho recém-criado: document.getElementById("epi"+qtdeCampos).innerHTML = "<input type='text' id='epi"+qtdeCampos+"' name='epi[]' value='EPI: "+qtdeCampos+"'><input type='button' onClick='removerCampo("+qtdeCampos+")' value='Apagar EPI'>"; //document.getElementById("data"+qtdeCampos).innerHTML = "<input type='text' id='data"+qtdeCampos+"' name='data[]' value='Data de Recebimento: "+qtdeCampos+"'> \n\\n\ qtdeCampos++; } function removerCampo(id) { var objPai = document.getElementById("campoPai"); var objFilho = document.getElementById("epi"+id); //Removendo o DIV com id específico do nó-pai: var removido = objPai.removeChild(objFilho); } </script> No formulário fica assim: <div> <label for="epiFunc">EPIs: </label> <div id="campoPai"></div> <input type="button" value="Adicionar EPIs" onclick="addCampos()"> </div> Aí não estou conseguindo transformar esse "text" em um select. Espero que alguém possa me ajudar! Obrigada !! -
Java Exibir confirm do JavaScript antes de cadastrar
Ana Grossi respondeu ao tópico de Ana Grossi em Java/Android SDK
Deu certinho! Era exatamente isso que eu queria! Obrigada!!! -
Java Exibir confirm do JavaScript antes de cadastrar
Ana Grossi postou um tópico em Java/Android SDK
Olá! Estou tendo uma dificuldade no desenvolvimento de um sistema e preciso da ajuda de vocês. É o seguinte: Preciso realizar o cadastro de um EPI no sistema, e eu gostaria que, quando o usuário clicasse em "Cadastrar", caso a data de validade do EPI fosse menor que a data atual, o sistema emitisse uma mensagem "A data de validade do EPI está expirada. Deseja cadastrar assim mesmo?". Se ele escolhesse "Sim", o cadastro seria feito. Se escolhesse "Não", permaneceria no formulário. Segue o código que fiz até agora. A confirm até aparece, mas se clicar em "Não" (ou cancelar), ele envia o formulário do mesmo jeito. No caso, é a função "comparar(id)", a outra é só pra validar a data. Obrigada <html> <head> <title>Cadastro de EPI</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> <link rel="stylesheet" href="assets/css/main.css" /> <noscript><link rel="stylesheet" href="assets/css/noscript.css" /></noscript> <script> function validateDate(id) { var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/; if (!((id.value.match(RegExPattern)) && (id.value!=''))) { alert('Por favor, verifique a data digitada.'); id.focus(); } } </script> <script> function comparar(id){ var data = id.value; var objDate = new Date(); objDate.setYear(data.split("/")[2]); objDate.setMonth(data.split("/")[1] - 1);//- 1 porque em js é de 0 a 11 os meses objDate.setDate(data.split("/")[0]); if(objDate.getTime() < new Date().getTime()){ var r=confirm("A data de validade do EPI já está expirada. Isso está correto?"); if(r==true){ return true; } else{ alert(""); } } } </script> </head> <body class="is-preload landing"> <div id="main" class="wrapper style1"> <div class="container"> <section id="content"> <form name="CadastrarEpi" method="post" action="CadastrarEpi"> <div> <label for="validadeepi">Validade do EPI: *</label> <input type="text" name="validadeEpi" maxlength="10"placeholder = "dd/mm/aaaa" onchange="comparar(validadeEpi)" required/> </div> <br/> <input type="submit" value="Cadastrar" onclick="comparar(validadeEpi)"> <input type="reset" value="Limpar"> </form> </section> </div> </div> </body> </html>
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais