Ola Pessoal?
Seguinte alguem sabe me dizer como configurar uma sessão de usuário eis, o meu problema é o seguinte, quando eu logo a sessão é aberta e me aparece o nome do usuário na tela mas quando passo para outra página a sessão se desfaz parece que cai a sessão eis o código para login:
[code] import org.apache.struts.action.*;
/**
-
@author wajunior
-
To change the template for this generated type comment go to
-
Window>Preferences>Java>Code Generation>Code and Comments
*/
public class Login extends Action {private Connection con=null;
Statement stmt = null;
ResultSet rs = null;
static String nome;private Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sitewrhjweb?user=root&password=root&useUnicode=true");
} catch (java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: "+ e.getMessage());
}catch (java.sql.SQLException se) {
System.err.print("SQLException: " + se.getMessage());
}catch(Exception e){
System.err.println("Exception Encountered: "+ e.getMessage());
e.printStackTrace();
}
return con;
}
// public LinkedList getUserList() throws SQLException {
public boolean ehValido(User user) throws SQLException{
UserView view = null;
PreparedStatement stmt = null;
con = getConnection();
stmt = con.prepareStatement("select username from user where address = ? and password = ?");
stmt.setString(1, user.getAddress());
stmt.setString(2, user.getPassword());
ResultSet rs = stmt.executeQuery();
boolean valido = rs.next();
nome = rs.getString("username");
rs.close();
stmt.close();
return valido;
}
public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception{
LoginForm formulario = (LoginForm) form;
UserView userView = formulario.getUserView();
User user = formulario.getUser();
int cod = 1;
HttpSession session = request.getSession();
session.setAttribute("autorizado",user);
if (!ehValido(user)){
return map.findForward("erro");
}else{
return map.findForward("ok");
}
}
public static String getNome(){return nome;}
}[/code]
eis o codigo da pagina quando logo:
<%if (session.getAttribute("autorizado") == null){ %>
Seja Bem Vindo ! <%=loginAdminServlet.getNome()%>&nbsp;<a href='<% request.getSession().invalidate();%>'>Sair</a>
<%}else{
if (loginAdminServlet.getNome()== null) { %>
Para efetuar o Login Clique
<a href="index-login.jsp">aqui</a>
<%}%>
<%}%>
Alguém pode me ajudar ? alguma dica importante que estou esquecendo?
Obrigado Pessoal!