Olá pessoal, fiz esse servlet para efetuar login e inicialmente achei que o JavaScript que eu tinha colocado nele estava causando problema…pq toda vez que eu entro com login e senha as vezes é como se ele naum conseguisse criar a sessão na primeira vez e me pedisse novamente para entrar com login e senha (não é RetryLogin)…e outras vezes ele passa direto…não sei exatamente o que pode causar isso…vou colocar o código que eu fiz para que vcs possam me dar uma opinião…
public class SessionLogin extends HttpServlet{
public static String privi="";
public static final String LOGIN="select privilegios from os_usuarios where login=? and senha=?";
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException{
PrintWriter out=response.getWriter();
response.setContentType("text/html");
String userName=request.getParameter("login");
String passWord=request.getParameter("senha");
try {
if(login(userName,passWord)){
//enviando cookie para o browser
HttpSession session=request.getSession(true);
session.setAttribute("logado",session.getId());
session.setAttribute("user",userName);
System.out.println(userName);
session.setAttribute("IP",request.getRemoteHost());
session.setAttribute("privilegios",privi);
response.sendRedirect("http://200.215.114.175/OS/frame.jsp");
System.out.println("Se chegou aqui eh porque logou");
}else{
response.sendRedirect("http://200.215.114.175/OS/RetryLogin.jsp");
System.out.println("Se chegou aqui eh porque nao logou");
}
} catch (MsiException e) {
e.printStackTrace();
}
out.close();
out.flush();
}
public static boolean login(String userName, String passWord) throws MsiException{
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try{
conn=Conexao.getConexao();
pstmt=conn.prepareStatement(LOGIN);
pstmt.setString(1,userName);
pstmt.setString(2,passWord);
rs=pstmt.executeQuery();
if(rs.next()){
privi=rs.getString("privilegios");
return true;
}
}catch(SQLException e){
e.printStackTrace();
throw new MsiException("Erro tentando logar"+"SessionLogin",e);
}finally{
Conexao.closeAll(conn,pstmt,rs);
}
return false;
}
}
[]'s

