Prezados,
Estou fazendo um sistema com servlets e jsp. O sistema começa com uma tela de login e senha, para que o usuário possa entrar a primeira vez eu fiz no banco uma conta de superusuario para um usuário local.
A primeira vez que você loga com o usuario interno (administrador), funciona certinho. Mas quando você clica em logout (fecha a sessão e deleta o cookie), e volta para a tela de login não consegue mas fazer login. Da essa exceção(no final do post coloco).
Se eu reiniciar o tomcat 6.0, funciona uma vez denovo. Ou seja, só funciona a primeira vez que o servidor abre, depois não funciona mais com nenhum usuário, nem o primeiro que eu criei nem outro que eu crie.
segue o código da consulta para fazer o login:
public Usuario getUsuario(String nome) throws Exception{
try{
Usuario usuario = null;
con = Conexao.getConexao(this.nome,senha);
st = con.createStatement();
rs = st.executeQuery("select * from usuario where nome='"+nome+"'");
rs.next();
usuario = new Usuario();
usuario.setId(rs.getInt("id"));
usuario.setNome(rs.getString("nome"));
usuario.setSenha(rs.getString("senha"));
usuario.setPermissao(rs.getString("permissao"));
return usuario;
}//fim do try
catch(SQLException e){
e.printStackTrace();
return null;
}//fim catch
finally{
rs.close();
st.close();
con.close();
System.out.print("Conexão fechada");
}//fim do finally
}//fim getUsuario
A primeira vez passa tranquilo, depois da primeira à exceção na linha:
rs = st.executeQuery(“select * from usuario where nome=’”+nome+"’");//quando executa a query.
Qualquer ajuda é bem vinda.
Grato!
Segue a exceção:
fechadainicioadministradorfimorg.postgresql.util.PSQLException: Um erro de E/S ocorreu ao enviar para o processo servidor.
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:219)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236)
at login.DaoUsuario.getUsuario(DaoUsuario.java:51)
at login.ControleLogin.doGet(ControleLogin.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Stream closed

