Cade o erro desse Simples JSp?

Olá galera, tenho que desenvolver um simples JSP, de acordo com umas classes pré definidas, a função desse JSP é, quando eu passar a seguinte URL

(http://localhost:8080/oprojeto/jspbusca?tipoconsulta=1&pesquisa=“marcelo”)

e

(http://localhost:8080/oprojeto/jspbusca?tipoconsulta=2&pesquisa="programacao)

No caso teriam que existir dois tipo de consulta, quando fosse passado como parâmetro =1, ele montaria uma tabela com todos os livros que possuem “marcelo” como um de seus autores…

E caso fosse =2, o tipo de pesquisa seria sobre o assunto do livro… no caso todos os livros que tivessem “programacao” como assunto…

As classes são as seguintes:

Classe Autor:


package pacoteprova;

import java.util.*;

public class Autor {
    
	//private int codigo;
	private String nome;
    private String sobrenome;
    private int codigo;


    public int getCodigo(){
        return codigo;
    }
    
    public String getNome(){
      return nome;
    }
    public String getSobreNome(){
      return sobrenome;
    }


    public Autor()
    {
    }

    public Autor(int codigo, String nome, String sobrenome)
    {      
      this.codigo = codigo;
      this.nome = nome;
      this.sobrenome = sobrenome;
    }

    public boolean equals(Object objeto)
    {
      return this.nome.equals(
                              ( (Autor) objeto ).nome
                             )
             && this.sobrenome.equals(
                              ( (Autor) objeto ).sobrenome
                             );
    }

    public String toString()
    {
      String nomeClase = this.getClass().getName();
      String descricao = nomeClase.toUpperCase() + "\n\n\n";
      descricao = descricao + "Nome: " + nome +
                              " -- Sobrenome: " + sobrenome;


      return descricao;
    }

}

Classe Livro:


package pacoteprova;

import java.util.*;

public class Livro {

	private int codigo;
	private String titulo;
    private String assunto;
    private Autor[] autores;

    public Livro( int codigo,
    			String titulo,    			 
    			String assunto, 
    			Autor[] autores)
    {
      this.codigo = codigo;
      this.titulo = titulo;
      this.assunto = assunto;
      this.autores = autores;
    }

    public String toString()
    {
      String nomeClase = this.getClass().getName();
      String descricao = nomeClase.toUpperCase() + "\n\n\n";
      descricao = descricao + "Titulo: " + titulo +                              
                              " -- Assunto: " + assunto;

      return descricao;
    }    
    public Autor[] pegaAutores(){
    	return this.autores;
    }
 }

Classe ColecaoAutores:




package pacoteprova;

import java.util.ArrayList;

public class ColecaoAutores {

	private static ArrayList estruturaautores;

	public ColecaoAutores(){
		estruturaautores = new ArrayList();
		Autor a1 = new Autor(1,"joao", "bastos");
		Autor a2 = new Autor(2,"andre", "moreira");
		Autor a3 = new Autor(3,"joana","souza");
		Autor a4 = new Autor(4,"marcelo","dias");
		Autor a5 = new Autor(5,"ricardo","santos");
		Autor a6 = new Autor(6,"debora","almeida");
		Autor a7 = new Autor(7,"rafael","soares");
		Autor a8 = new Autor(8,"daniela","dantas");
		Autor a9 = new Autor(9,"vania","boquimpani");
		Autor a10 = new Autor(10,"flavia","vasconcelos");

		estruturaautores.add(a1);
		estruturaautores.add(a2);
		estruturaautores.add(a3);
		estruturaautores.add(a4);
		estruturaautores.add(a5);
		estruturaautores.add(a6);
		estruturaautores.add(a7);
		estruturaautores.add(a8);
		estruturaautores.add(a9);
		estruturaautores.add(a10);
	}
	
	public static Autor pegaAutor(int codigo){
		return (Autor) estruturaautores.get(codigo);
	}

}

Classe ColecaoLivros:


package pacoteprova;

import java.util.ArrayList;

public class ColecaoLivros {

	private ArrayList estruturalivros;

	public ColecaoLivros(){
	
		
		estruturalivros = new ArrayList();
		Autor[] autoreslivro1 = {	ColecaoAutores.pegaAutor(1),
									ColecaoAutores.pegaAutor(2),
									ColecaoAutores.pegaAutor(3)
								};

		Autor[] autoreslivro2 = {	ColecaoAutores.pegaAutor(3),
									ColecaoAutores.pegaAutor(4)

								};
		
		Autor[] autoreslivro3 = {	ColecaoAutores.pegaAutor(10),
									ColecaoAutores.pegaAutor(4),
									ColecaoAutores.pegaAutor(6),
								};

		
		Autor[] autoreslivro4 = {	ColecaoAutores.pegaAutor(7),
									ColecaoAutores.pegaAutor(5)
								};

		Livro p1 = new Livro(1,"Mergulhando no Python", "Ling. Programacao", autoreslivro1 );		
		Livro p2 = new Livro(2,"Core Java", "Linguagem de Programacao", autoreslivro2);
		Livro p3 = new Livro(3,"Dominando Linux","Sistemas Operacionais",autoreslivro3);
		Livro p4 = new Livro(4,"Redes: aplicacoes praticas","Redes",autoreslivro4);

		estruturalivros.add(p1);
		estruturalivros.add(p2);
		estruturalivros.add(p3);
		estruturalivros.add(p4);
	}
	
	public void insereLivro(Livro p){
		estruturalivros.add(p);
	}
	
	public void removeLivro(Livro p){
		estruturalivros.remove(p);
	}
	
	public Livro pegaUmLivro(int indice){
		return (Livro) estruturalivros.get(indice);
		
	}
	public ArrayList pegaTodosLivros(){
		return this.estruturalivros;
	}

}

Por Fim o TAl JSP que faz a consulta:


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//Dtd HTML 4.01 transitional//EN" "http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSPRelacaoLivroAutores</title>
</head>
<body>

	<%
		int tconsulta = new Integer(request.getParameter("tipoconsulta")).intValue();
		String pesq = request.getParameter("pesquisa");

		ColecaoAutores colecaoAutores = new ColecaoAutores();
		ColecaoLivros colecaoLivros = new ColecaoLivros();

		ArrayList todosLivros = colecaoLivros.pegaTodosLivros();
		ArrayList todosAutores = colecaoAutores.pegaTodosLivros();
	%>
	 	<table border=2>
			 <caption> <h1>Listagem de todas as Pessoas </h1></caption>
	<%
		Livro livroAtual;
		Autor autorAtual;
		if (tconsulta == 1){
	%>
		 <tr><th> CODIGO </th><th> TITULO </th><th> ASSUNTO </th></tr>
	<%
			for (Object livro:todosLivros){
				livroAtual = (Livro) livro;
				boolean existeautor = false;
				for ( Object autor:livroAtual.getAutores()){
					autorAtual = (Autor) autor;
					if (autorAtual.getNome().equals(pesq)){
						existeautor = true;
					}
				}
				if (existeautor){
	%>
					<tr><td> <%=livroAtual.getCodigo() %> </td><td> <%=livroAtual.getTitulo()%> </td><td> <%=livroAtual.getAssunto()%> </td></tr>
	<%			}
			}
		}
		else if (tconsulta==2){
	%>
		 <tr><th> CODIGO </th><th> TITULO </th><th> ASSUNTO </th><th> AUTOR </th></tr>
			 <tr><td> ASSUNTO: <%= pesq %>  </td><td> <%="\n"%>
	<%		for (Object livro:todosLivros){
				livroAtual = (Livro) livro;
				if (livroAtual.getAssunto().toUpperCase().equals(pesq.toUpperCase())){

					Autor[] autoresDoLivro = livroAtual.getAutores();
					for (int i = 0 ; i < autoresDoLivro.length ; i++){
						autorAtual = (Autor) autoresDoLivro[i];
						if (i == 0) // se for o primeiro autor da relacao de autores desse livro...
	%>
							<tr><td> <%= livroAtual.getCodigo() %>
									 </td><td> <%=livroAtual.getTitulo() %>
									<%=livroAtual.getAssunto() %>
									</td><td><%= autorAtual.getNome() %>
										 </td></tr>
					<%	else %>
							<tr><td> <%="" %>  </td>
								<td> <%= "" %> </td>
								<td> <%= "" %></td>
								<td> <%= autorAtual.getNome() %></td>
							</tr>
	<%				}
				}

		}
	%>

			</TABLE>

</body>
</html>

Cumpadi eu posso esta errado, mas acho que vc esqueceu das chaves no seu ultimo if else…
Soh uma pergunta esta dando erro ou simplismente nao apresenta os dados??

Se nao resolver seu problema posta de novo…

Po, leo, agradeço mt pela atenção…
Mas uns dos erros que estão dando é esse?

Opa, beleza?Você precisa compilar o arquivo!!

 The method pegaTodosLivros() is undefined for the type ColecaoAutores 

Cara esse metodo pegaTodosLivros() nao existe na classe ColecaoAutores …