JSP e SQL - Problema com condição IF

Estou tendo o seguinte problema:
Estou querendo fazer uma tela de cadastro de usuarios em JSP onde o usuario é testado com um Select para se saber se ele já existe na tabela, se não existir então o cadastro é liberado. O problema que estou encontrando é que quando o select retorna algum valor então o if funciona. Mais se o select não retorna nada não entra nem no While. O que devo fazer? Já tentei colocar o IF fora do While só que dá erro. Qual a estrutura do rs? Não achei em nenhum lugar uma explicação de como ele é composto.

[code]
try
{
//Carrega o driver Mysql Jdbc
Class.forName(driver);

        //Estabelece a conexão
        Connection conn = DriverManager.getConnection (url, usuario, senha);
        
        //Cria objeto de consulta com bando de dados.
        Statement stmt = conn.createStatement();
        
        //Realiza uma consulta e armazena o resultado em um objeto ResultSet
        ResultSet rs;
        String sql = "Select userid from login where userid = 'Anderson'";
        rs = stmt.executeQuery(sql);
        %>

<TABLE BORDER=1>
	<TR>
      	<TD>Login</TD>
        
    </TR>

    <%//Executa um while para navegar nos registros de retorno
        while(rs.next())
            {
            //Armazena o registro em variaveis temporarias
            String Login = rs.getString("userid");
				if(Login != "")
				{%>Tem dados.<%} 
    %>
    [/code]

SQL num JSP não é boa ideia.
De qualquer forma, o que pretendes é isto:

if (rs.next()) { String Login = rs.getString("userid"); //login existe } else { //login não existe }

Olá, String você deve comparar assim:

if(!login.equals("")) {}

Até,

Porque não seria uma boa ideia usar SQL no JSP?

Obrigado pela ajuda.

Por isso

Desculpe a minha falta de entendimento. Mais não entendi o problema. Até porque ao meu ver essa é uma solução tão boa quanto PHP, não melhor que C mais dá pro gasto. Eu não estou usando Struct nem nada do tipo. Teria que usalo? Esse é o ponto?

Cara, o ponto é arquitetura.

Se respeitar o padrão MVC (a explicação está no link que te passei) você estará diminuindo o acoplamento entre as suas camadas. Por que reduzir o acoplamento entre as suas camadas?

Bem, o primeiro motivo é a facilidade de manutenção. Se a sua lógica de acesso ao banco mudar, em quantas JSPs você precisará mexer? Se o nome da sua tabela mudar, quantas alterações serão necessárias?

Segundo motivo: o designer (geralmente quem é responsável pelo floreio das páginas), não tem a obrigação de conhecer Java. Apenas html e programação em tags (por isso JSTL).

Terceiro motivo: Fica muito mais legível, o background estar em classes separadas, ao invés de estar espalhado no meio de um monte de tags.

.

.

.

.

n motivo: por isso que acho o PHP e o ASP lixos.