Como usar uma classe dentro de outra?

ola estou começando em jsp

criei uma classes chamada conexao onde faço a conexao com o banco de dados e criei tbm uma classe para fazer o login do usuario mas quando chamo o metodo para abri a conexao do banco dentro da classe login meu ele apresenta esse erro:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoSuchMethodError: codigo.login.logar()Ljava/lang/Boolean;
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

javax.servlet.ServletException: java.lang.NoSuchMethodError: codigo.login.logar()Ljava/lang/Boolean;
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.login_jsp._jspService(login_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

java.lang.NoSuchMethodError: codigo.login.logar()Ljava/lang/Boolean;
org.apache.jsp.login_jsp._jspService(login_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.

aqui vai a classe de conexao:

package codigo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class conexao {
			
	public Connection con ;
	public Statement stm ;
	public ResultSet res = null;
	public String textError ; 

	private String url = "jdbc:mysql://localhost:3306/teste";  
	private String user = "root";  
	private String senha = "root";


		public boolean conectar(){
			try {
				Class.forName("org.gjt.mm.mysql.Driver");
				this.con = DriverManager.getConnection(url,user,senha);
				this.stm = con.createStatement(); 
				return true;
			}catch (Exception e) {
				this.textError = e.getMessage();
				return false;
			}
		}
			
			
		public boolean fechar_conexao()
		{
			try {
				this.con.close();
				this.stm.close();
				this.res.close();
				this.textError ="";
				return true;
			}catch(Exception e){
				return false;
			}
		}		
	}

minha classe de login :

package codigo;

import java.sql.SQLException;

public class login {
	
	public String erro;
	private String login;
	private String senha;
	private conexao banco;
	

	public void setLogin(String login) {
		this.login = login;
	}

	public String getLogin() {
		return login;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getSenha() {
		return senha;
	}
	
	public String getNmUsuario() throws SQLException
	{
		banco.res = banco.stm.executeQuery("select * from usuario where nm_login ='"+login+"'");
		if ( banco.res.getRow() != 0)
		{
			if (banco.res.getString("nm_senha") == senha)
			{
				banco.fechar_conexao();
				return banco.res.getString("nm_usuario");
			}
			else
			{
				erro = "Senha ou Login incorreto";
			}
				
		}
		else
		{
			erro = "Senha ou Login incorreto";
		}
		banco.fechar_conexao();
		return erro;
	}
	
	
	public Boolean logar() throws SQLException {
	
		if ((this.senha != "") && (this.login != ""))
		{
			 if (banco.conectar())
			 {
				banco.res = banco.stm.executeQuery("select * from usuario where nm_login ='"+login+"'");
				if ( banco.res.getRow()!= 0)
				{
					if (banco.res.getString("nm_senha") == senha)
					{
						banco.fechar_conexao();
						return true;
					}
					else
					{
						erro = "Senha ou Login incorreto";
						banco.fechar_conexao();
						return false;
					}
					
				}
				else
				{
					erro = "Senha ou Login incorreto";
					banco.fechar_conexao();
					return false;
				}
			 }
			 else
			{
				erro= banco.textError;
				banco.fechar_conexao();
				return false;
			}
		}
		else
		{
			erro = "Preencha os campos!";
			return false;
		}
	}
	

}

e meu jsp:

<%@page import="codigo.*"%>
<% 
	login  fazLogin = new login(); 
	
	fazLogin.setLogin("adm");
	fazLogin.setSenha("123");
		
	if(fazLogin.logar()){
		out.println("SIM");
	}else{
		out.println("NAUM");
	}


%>

obrigado pela desde jah

Veja se os arquivos .class estão dentro do WEB-INF/classes ?

Aê, mude o nome da classe de login para Login. É uma convenção que facilita a leitura.

Mude de

 if ((this.senha != "") && (this.login != ""))  

para

 if (!("".equals(this.senha)) && !("".equals(this.login))) 

ok mas como vou me referenciar a essa pasta pq estou usando o eclipse e ele deixa as classes fora do web-inf e soh colocar package classes??
ou tem q alterar alguma configuração?

Todo projeto JEE possui uma pasta WEB-INF e dentro desta pode possuir uma pasta lib contendo as classes e pacotes que são necessários. Os .java ficam fora, entram na WEB-INF/classes apenas os .class. No eclipse vc pode conferir se isto está acontecendo usando a view Navigator.
menu Window / show view / navigator

O eclipse versão jee possui a opção de criar um projeto do tipo “dynamic web project”. E ele cria a tal estrutura.
Se este não é o seu caso, o eclipse permite que vc indique onde devem ser gravados os .class gerados a partir do seu código fonte.

botão direito no nome do projeto / propriedades / java build path / default output folder

Ou então vc pode criar a estrutura na mão e ficar copiando manualmente a cada nova compilação (eca).

De qq forma, o erro que tá aparecendo para você é pq o seu container não encontrou o método loga(). O estranho é q o método existe e tem a visibilidade correta. Então, vamos resolvendo estes lances estruturais para tentar entender o q está acontecendo.

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoSuchMethodError: codigo.login.logar()Ljava/lang/Boolean;

ata legal eu estou usando a ultima versao do eclipce galileu e o projeto jah eh um dinamic web site soh nele como default ele cria uma pasta fora da web-inf chamada build e coloca os .class la
mudei agora vo testar depois post aqui mas desde jah obrigado pela ajuda