Ajuda com sistema básico de corretora

Ola gostaria que alguem me ajuda-se nesse trabalho que eu tenho que fazer na faculdade.

é o seguinte:

implementar um sistema de uma imobiliária que vende imóveis.

O sistema deve conter pelo menos as seguintes classes: ConnectionFactory, Imovel e ImovelDAO.

implementar as seguintes funcionalidades: incluir imóvel e listar imóveis.

O script de criação do banco de dados(mysql) deve ser este:

Create database imovel; use imovel; CREATE TABLE `imovel` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `tipo` VARCHAR( 20 ) NOT NULL , `endereco` VARCHAR( 200 ) NOT NULL , `proprietario` VARCHAR( 50 ) NOT NULL , `valor` VARCHAR( 20 ) NOT NULL , `telefone` VARCHAR( 20 ) NOT NULL , `descricao` VARCHAR( 250 ) NOT NULL , `qtd_quartos` VARCHAR( 5 ) NOT NULL , `qtd_suites` VARCHAR( 5 ) NOT NULL ) ENGINE = MYISAM;

O que mais eu tenho que fazer para rodar veja meu projeto?:

Classe:  Imovel




/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 *
 */
public class Imovel {

    private int id;


    private byte tipo;

    private byte quartos;
private String proprietario;
private String descricao;

private String endereco;

    private String valor;

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the tipo
     */
    public byte getTipo() {
        return tipo;
    }

    /**
     * @param tipo the tipo to set
     */
    public void setTipo(byte tipo) {
        this.tipo = tipo;
    }

    /**
     * @return the quartos
     */
    public byte getQuartos() {
        return quartos;
    }

    /**
     * @param quartos the quartos to set
     */
    public void setQuartos(byte quartos) {
        this.quartos = quartos;
    }




     /**
     * @return the proprietario
     */
    public String getProprietario() {
        return descricao;
    }

    /**
     * @param proprietario the proprietario to set
     */
    public void setProprietario(String proprietario) {
        this.proprietario = proprietario;
    }


     /**
     * @return the descricao
     */
    public String getDescricao() {
        return descricao;
    }

    /**
     * @param descricao the descricao to set
     */
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }



    /**
     * @return the endereco
     */
    public String getEndereco() {
        return endereco;
    }

    /**
     * @param endereco the endereco to set
     */
    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }



    /**
     * @return the valor
     */
    public String getValor() {
        return valor;
    }

    /**
     * @param valor the valor to set
     */
    public void setValor(String valor) {
        this.valor = valor;
    }

    void setValor(byte parseByte) {
        /*throw new UnsupportedOperationException("Not yet implemented");*/
    }



}




Classe:  ImovelDAO



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *

 */

import java.sql.Statement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 
 */
public class ImovelDAO {
    private Object arr;

    public Collection getListaImoveis() throws SQLException {
        String sql = "select * from imovel";
        ArrayList a = new ArrayList();
        @SuppressWarnings("static-access")
        Connection con = new JDBCConnectionFactory().con;
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        while(rs.next()){
            Imovel imovel = new Imovel();
            imovel.setId(rs.getInt("codigo"));
            imovel.setTipo(rs.getByte("tipo"));
            imovel.setQuartos(rs.getByte("quartos"));
            imovel.setProprietario(rs.getString("proprietario"));
            imovel.setDescricao(rs.getString("descricao"));
            imovel.setEndereco(rs.getString("endereco"));

            imovel.setValor(rs.getString("valor"));
            a.add(imovel);
        }
        return a;
    }

    public Imovel getImovel(int codigo) throws SQLException{
        String sql = "select * from imovel where codigo = ?";
        Imovel resultado = null;
        @SuppressWarnings("static-access")
        Connection con = new JDBCConnectionFactory().con;
        PreparedStatement stmt = con.prepareStatement(sql);
        stmt.setInt(1,codigo);
        ResultSet rs = stmt.executeQuery();
        while (rs.next()){
            resultado = new Imovel();
            resultado.setId(rs.getInt("codigo"));
            resultado.setTipo(rs.getByte("tipo"));
            resultado.setQuartos(rs.getByte("quartos"));
            resultado.setProprietario(rs.getString("proprietario"));
            resultado.setDescricao(rs.getString("descricao"));
            resultado.setEndereco(rs.getString("endereco"));

            resultado.setValor(rs.getString("valor"));
        }

        return resultado;

    }

    public void atualizarImovel(Imovel imovel) throws SQLException{
        String sql = "update imovel set tipo=?, quartos=?, proprietario=?, descricao=?, endereco=?, valor=? where codigo=?";
        @SuppressWarnings("static-access")
        Connection con = new JDBCConnectionFactory().con;
        PreparedStatement stmt = con.prepareStatement(sql);
        stmt.setByte(1, imovel.getTipo());
        stmt.setByte(2, imovel.getQuartos());
        stmt.setString(3, imovel.getProprietario());
        stmt.setString(4, imovel.getDescricao());
        stmt.setString(5, imovel.getEndereco());
        stmt.setString(6, imovel.getValor());
        stmt.setInt(7, imovel.getId());
        stmt.executeUpdate();
    }

    public void excluirImovel(int codigo) throws SQLException{
        String sql = "delete from imovel where codigo = " + codigo;
        @SuppressWarnings("static-access")
        Connection con = new JDBCConnectionFactory().con;
        Statement stmt = con.createStatement();
        stmt.executeUpdate(sql);
    }

    public void cadastrarImovel(Imovel imovel) throws SQLException{
        String sql = "insert into imovel(tipo,quartos,proprietario,descricao,endereco,valor) values(?,?,?,?)";
        @SuppressWarnings("static-access")
        Connection con = new JDBCConnectionFactory().con;
        PreparedStatement stmt = con.prepareStatement(sql);
        stmt.setByte(1, imovel.getTipo());

        stmt.setByte(2, imovel.getQuartos());
        stmt.setString(3, imovel.getProprietario());
        stmt.setString(4, imovel.getDescricao());
        stmt.setString(5, imovel.getEndereco());

        stmt.setString(6, imovel.getValor());
        stmt.executeUpdate();
    }

    void incluirImovel(Imovel imovel) {

            throw new UnsupportedOperationException("Not yet implemented");
        }


}


Classe:  IncluirImovel




/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 
 */
public class IncluirImovel extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
      //  try {
            out.println("<html>");
            out.println("<head><title>Incluir imóvel</title></head>");
            out.println("<body>");
            out.println("<center>");
            out.println("<img src=\"imagens/topo.jpg\"/>");
            out.println("<font face=Arial><br/><br/>");
            Imovel imovel = new Imovel();
            imovel.setTipo(Byte.parseByte(request.getParameter("tipo")));
            imovel.setQuartos(Byte.parseByte(request.getParameter("quartos")));
            imovel.setProprietario(request.getParameter("proprietario"));
            imovel.setDescricao(request.getParameter("descricao"));
            imovel.setEndereco(request.getParameter("endereco"));

            imovel.setValor(Byte.parseByte(request.getParameter("valor")));
           // try{
                new ImovelDAO().incluirImovel(imovel);
                out.println("<b>Imóvel cadastrado com sucesso!</b>");
            }

            {
               // out.println("<b>Ocorreu uma falha ao incluir imóvel. tente novamente.</b>");
            }
           // out.println("<br/><br/>");
           // out.println("<input type=\"submit\" value=\"Voltar\" onclick=\"location.href= 'javascript:history.go(-1)' \"/>");
           // out.println("</font>");
           // out.println("</center>");
           // out.println("</body>");
          //  out.println("</html>");
       // } finally {
           // out.close();
     //   }
   // }

    // <editor-fold defaultstate="collapsed" desc="Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.">
    /**
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    //    processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

Classe: JDBCConnectionFactory








/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * 
 */
import java.sql.Connection;
import java.sql.DriverManager;

public class JDBCConnectionFactory {
    Connection con;

	public Connection getConnection() {
		 try {
			String url = "jdbc:mysql://localhost:3306/imoveis";
		      return DriverManager.getConnection(url,"root", "");
		 } catch(Exception e) {
			System.out.println("Não foi possível se conectar ao BD!");
			throw new RuntimeException();
		 }
	}
}












Classe: JDBCExemplo




import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 *
 */
public class JDBCExemplo {
    private static Connection Connection;
	public static void main(String[] args) throws SQLException {
		JDBCConnectionFactory jdbc=new JDBCConnectionFactory();
                //Connection  = DriverManager.getConnection("jdbc:mysql://localhost/imoveis");
                jdbc.getConnection();
		System.out.println("Conectado!");
		//conexao.close();
	}
}


Classe:  ListarImovelServlet



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * 
 */
public class ListarImovelServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, SQLException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            Collection c = new ImovelDAO().getListaImoveis();

            if(!c.isEmpty()){

            DecimalFormat df = new DecimalFormat("R$ #,###");
            int i = 1;

            out.println("<html>");
            out.println("<head>");
            out.println("<title>Listar Imóveis</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<img src=\"imagens/topo.jpg\"/>");
            out.println("<font face=Arial>");
            out.println("<center><br/><br/>");
            out.println("<h2>Lista de todos os imóveis cadastrados</h2>");
            out.println("<br/>");
            out.println("<table width=100% border=0 cellpadding=10 valign=center>");
            out.println("<tr bgcolor=#888888>");
            out.println("<td><b><p align=center>Tipo do Imóvel</p></b></td>" +
                        "<td><b><p align=center>Número de quartos</p></b></td>" +
                        "<td><b><p align=center>Endereço</p></b></td>" +
                        "<td><b><p align=center>Proprietario</p></b></td>" +
                        "<td><b><p align=center>Descrição</p></b></td>" +
                        "<td><b><p align=center>Valor</p></b></td>");
            out.println("</tr>");

            for(Object o:c){
                Imovel imovel = (Imovel)o;
                if (i%2 == 0){
                    out.println("<tr bgcolor=#eeeeee>");
                }else{
                    out.println("<tr bgcolor=#cccccc>");
                }
                out.println("<td><p align=center>" + getTipoImovel(imovel.getTipo()) + "</p></td>" +
                            "<td><p align=center>" + imovel.getQuartos() + "</p></td>" +
                            "<td><p align=center>" + imovel.getProprietario()+ "</p></td>" +
                            "<td><p align=center>" + imovel.getDescricao()+ "</p></td>" +
                            "<td><p align=center>" + imovel.getEndereco() + "</p></td>" +

                            "<td><p align=center>" + df.format(imovel.getValor()) + "</p></td>");
                out.println("</tr>");
                i++;
            }

            out.println("</table>");
            out.println("<br/>");
            out.println("<input type=submit value=Voltar onclick=history.go(-1)");
            out.println("</center>");
            out.println("</font>");
            out.println("</body>");
            out.println("</html>");

            }
            else{
                out.println("Não existem imóveis cadastrados!");
            }



        } finally {
            out.close();
        }
    }

    private String getTipoImovel(int tipo){
        String s = "";
        switch (tipo){
            case 1: s = "Casa";break;
            case 2: s = "Apartamento";break;
            case 3: s = "Terreno";break;
        }
        return s;
    }

    // <editor-fold defaultstate="collapsed" desc="Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.">
    /**
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        /*try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(ListarImovelServlet.class.getName()).log(Level.SEVERE, null, ex);
        }*/
    }
    /**
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(ListarImovelServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}



webxml:





<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>IncluirImovel</servlet-name>
        <servlet-class>IncluirImovel</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ListarImovelServlet</servlet-name>
        <servlet-class>ListarImovelServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>IncluirImovel</servlet-name>
        <url-pattern>/IncluirImovel</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ListarImovelServlet</servlet-name>
        <url-pattern>/ListarImovelServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>





da uma olhada aqui:

http://www.caelum.com.br/apostilas/

espero q ajude.

acho q vc esta começando com java, não é?
eu percorreria os seguintes passos:

1° Criar Banco;
2° Importar códigos para um novo projeto;
3° Eliminar os eventuais “erros da importação”;
4° Estabelecer comunicação com o banco;
5° Validar as Regras de negócio;
6° “Juntar tudo isso” junto com os jsp e servlets;

boa sorte,

att.

Uma coisa que te indico.
Faça a conexão com o banco pelo construtor do DAO.
Vamos fazer a seguinte análise.
Você conecta ao banco toda vez que acessa um método, não vejo a necessidade disso já que você cria o DAO para manipular o objeto. Portanto coloque-o no construtor, pois assim toda vez que você instanciar o objeto DAO ele já terá conexão com o banco.
Outra coisinha, use exceções suas. Imagine você usando o sisteme e lhe aparece a mensagem ‘Not yet implemented’, o usuário vai pensar ‘Mas que p*$$@ isso quer dizer?’.
Mas a dicas de cima são perfeitas, além da apostila que ajuda pra caramba.
Sugiro o Use a Cabeça: JPS e Servlets. Acredito que se enquadra perfeitamente as suas necessidades.

Espero ter ajudado.
Abraço e boa sorte com o projeto.

Qual é sua dúvida afinal?

Ninguém vai fazer seu trabalho… no máximo vamos ajudar com suas dúvidas técnicas pontuais.

[]s