WebWork Conexão Banco Dados

0 respostas
C

OLa Amigos!!!
Sou nova por aqui.E estou começando a estudar Webwork.E estou tendo dificuldades em fazer conexão com banco de dados.Eu tenho uma página JSP q faz o login com usuario e senha e uma action para fazer a validação e após ser validado o login e senha deste usuário é redirecionado para outra página JSP dizendo que obteve sucesso.
Etou implementando um exemplo de um artigo no GUJ, e vi outros artigo e fiz a leitura dos mesmo,porém não vi nenhum que tenha um exemplo como faz a coneção e validar um usuário por exemplo.
Estou com me código assim:
De acordo q esta indicado no artigo eu teria q validar o usuário dentro de "execute".Assim como esta dentro do método execute, não tem nenhum ligação com Banco de Dados,apenas está comnparando usuario e senha estáticos.Alguém poderia me ajudar ou me explicar como faz?

Desde já agradeceria muito
beijos
carol

public class Login 
		extends SystemAction 
		implements DisableSecurityAction
{
        //variável para fazer interligação com Data Sorce
        protected static DataSource dataSource;
	private static final Log log = LogFactory.getLog(Login.class);
	
	private User model = new User();
   public Login() throws Exception {
        if (dataSource == null) {
            try {
                InitialContext ic = new InitialContext();
                dataSource = (DataSource) ic.lookup("java:comp/env/jdbc/StrutsDemoDS");
            } catch (NamingException ex) {
                System.out.println(ex.getMessage());
                throw ex;
            }
        }
    }//fim construtor login
    //********************Método que irá faz a coenxão com o Data Source*********************    
    protected Connection getConnection() throws SQLException {
        Connection conn = null;
        try {
            conn = dataSource.getConnection();
        }
        catch (SQLException e) {
            throw e;
        }
        return conn;
    }    
//******************Método que vai fechar a conexão aberta****************************	
     protected void closeConnection(
    Connection conn,
    PreparedStatement stmt,
    ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
            }
        }
        if (stmt != null) {
            try {
                stmt.close();
            } catch (SQLException e) {
            }
        }
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
            }
        }
    }
   /* public LinkedList getList() throws SQLException {
        return this.getList(0);
    }*/
     
      public LinkedList getList() throws SQLException {
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        LinkedList lista  = new LinkedList();
        try {
            conn = getConnection();
            stmt = conn.prepareStatement("select codpessoa,nome from pessoa");
            rs = stmt.executeQuery();
            while (rs.next()) {
                User user = new User();
                user.setPassword(rs.getInt("codpessoa"));
                user.setUsername(rs.getString("nome"));
                lista.add(user);
            }
        }
        catch (SQLException e) {
            throw e;
        }
        finally {
            closeConnection(conn, stmt, rs);
        }
        return lista;
    }
	public String execute() {
		
		// --> AQUI deveria validar de verdade o usuário
		if(!model.getUsername().equals("guj")) {
			addActionError(getText("login.invalidCredentials"));
			addFieldError("username", getText("login.unknowUser"));
			return ERROR;
		}
		
		if(model.getPassword().intValue()!=1234) {
			addActionError(getText("login.invalidCredentials"));
			addFieldError("password", getText("login.wrongPassword"));
			return ERROR;
		}
		
		//logou com sucesso? Põe o usuário na sessão.
		this.userSession.setUser(model);
		
		return SUCCESS;
	}

	public Object getModel() {
		return this.model;
	}
}
:D
Criado 15 de agosto de 2005
Respostas 0
Participantes 1