Sessão de Usuário com Struts

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()%> <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!

Olá JavaDabas.
Existe um tutorial de sistema de Login fácil de entender e simples no site do JairElton.

Abraço.

Cara pq vc nao faz essas verificações na sua Action ja que esta utilizando o struts !?

Sugiro que crie um filtro para não permitir acesso direto aos JSP’s, e remova estes scriplets que fica muito feio assim.

:okok:

Como assim pode me mostrar um exemplo ?

Falo !