Eu preciso fazer com que quando um usuario executar uma ação(Ex: submit) em um formulario, ao mesmo tempo seja executado um insert em uma tabela Guardando a informação de quem foi o user e qual a terefa que ele executou, o dia e hora etc…
Eu gostaria de saber qual a melhor maneira de se implementar isso?
Seria chamando um metodo em cada servlet que executa uma ação?
Ou por um filter??
Ou existe mais alguma alternativa que se enquadra melhor??
Obs: Não quero tudo picadinho, pois ja sei +ou- como fazer, porem algum exemplo sera bem vindo
Cara se eu entendi bem você quer gravare log das ações do seu sistema, parta mim o melhor jeito de fazer isso é com o log4j dê uma olhada lá no site do projeto e você vai ver que é um jeito prático e facil de fazer o que você esta querendo. http://projects.apache.org/projects/log4j.html
Marciano.
danilopelegrino
Opa, valeu mesmo, irei verificar e posto aqui para os colegas oque achei
abraço e valeuuuu
surfzera
Cara uma forma simples é criar um tabela no seu banco de dados chamada log. Quando você efetuar um ação de inserção por exemplo na tabela de usuario se a resposta for true você inseri o nome do usuário pego da sessão e o horário e inseri na tabela log.
public boolean inserir(String sql) { boolean retorno=false;
//Pega a Data e a Horalog.setData(newTimestamp(System.currentTimeMillis()));//Pega a Descrição log.setDescricao(sql);//Pegar o Tipo de Ação. ( exemplo INSERT, UPDATE, DELETE ) log.setAcao(acaoSQL(sql));FacesContextcontext=FacesContext.getCurrentInstance();HttpSessionsessao=(HttpSession)context.getExternalContext().getSession(false);//Pega o usuario da sessão do Faces log.setUsuario(sessao.getAttribute("login").toString());//Pega o nome da tabelalog.setNmTabela(nomeTabela(sql));abrirConexao();if(dao.inserir(log)){retorno=true;}fecharConexao();returnretorno;}