Problema jsp MVC [RESOLVIDO]

2 respostas
Marcos_Roberto_DJ

Olá pessoal,essa é a minha primeira vez aqui…
bom,o meu problema é o seguinte:
estou criando um projeto web no Netbeans p/ faculdade que usa o padrão MVC,tô me guiando pela apostila da caelum só que não tá adicionando no banco,já olhei várias vezes e não tô enxergando o erro

segue o código p/ vcs analizarem:
lógica

package br.com.marcos.mvc.logica;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author marcos
 */
public interface Logica {

    void executa (HttpServletRequest req, HttpServletResponse res)throws Exception;


}

cadastro de propriedade:

package br.com.marcos.mvc.logica;

import br.com.marcos.mvc.bean.PropriedadeBean;
import br.com.marcos.mvc.dao.PropriedadeDao;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author marcos
 */
public class CadastraPropriedade implements Logica {

    public void executa(HttpServletRequest req, HttpServletResponse res) throws Exception {
     
        PropriedadeBean pr = new PropriedadeBean();
        pr.setNome(req.getParameter("nomepropriedade"));
        pr.setEndereco(req.getParameter("endereco"));
        pr.setBairro(req.getParameter("bairro"));
        pr.setCidade(req.getParameter("cidade"));
        pr.setUf(req.getParameter("uf"));
        pr.setCep(Long.parseLong(req.getParameter("cep")));
        pr.setCnpj(Long.parseLong(req.getParameter("cnpj")));
        pr.setTelefone(Long.parseLong(req.getParameter("telefone")));

        PropriedadeDao prc =  PropriedadeDao.getInstancePropC();
        prc.cadastrarPropriedade(pr);
        

        RequestDispatcher rd = req.getRequestDispatcher("/propriedade-adicionada.jsp");
        rd.forward(req, res);
        System.out.println("Cadastro " +pr.getNome()+"sendo adicionado,por favor verifique o banco");

    }

}

Página html

<html>
    <head>
        <title>Cadastro de Propriedades</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h2>
            Cadastro de Propriedades
        </h2>
       

        <form action="mvc" method="POST">
            Nome da Propriedade: <input type="text" name="nomepropriedade" size="50" /><br>
            Endereço: <input type="text" name="endereco" value="" size="50" /><br>
            Bairro: <input type="text" name="bairro" value="" />
            Cidade: <input type="text" name="cidade" value="" />
            UF: <select name="uf">
                <option>AM</option>
                <option>PA</option>
                <option>AC</option>
                <option>AL</option>
                <option>AP</option>
                <option>BA</option>
                <option>CE</option>
                <option>DF</option>
                <option>ES</option>
                <option>GO</option>
                <option>MA</option>
                <option>MT</option>
                <option>MS</option>
                <option>MG</option>
                <option>PB</option>
                <option>PR</option>
                <option>PE</option>
                <option>PI</option>
                <option>RJ</option>
                <option>RN</option>
                <option>RS</option>
                <option>RO</option>
                <option>RR</option>
                <option>SC</option>
                <option>SP</option>
                <option>SE</option>
                <option>TO</option>

            </select><br>
            Cep: <input type="text" name="cep" value="" />
            Cnpj: <input type="text" name="cnpj" value="" />
            Telefone: <input type="text" name="telefone" value="" /><br>
            <input type="hidden" name="logica" value="CadastraPropriedade" />
            <input type="submit" value="Salvar" />
            


        </form>

saída jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>

        Propriedade ${nome} adicionada com sucesso!
    </body>
</html>

Servlet de Controle

package br.com.marcos.mvc.servlet;

import br.com.marcos.mvc.logica.Logica;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 *
 * @author marcos
 */
public class ControllerServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");

        String parametro = request.getParameter("logica");
        String nomedaClasse = "br.com.marcos.mvc.logica"+parametro;

        try {
            Class classe = Class.forName(nomedaClasse);

            Logica logica = (Logica) classe.newInstance();
            logica.executa(request, response);

        } catch (Exception e) {
        }



    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * 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>

}

web.xml

<?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>controlador</servlet-name>
        <servlet-class>br.com.marcos.mvc.servlet.ControllerServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>controlador</servlet-name>
        <url-pattern>/mvc</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>

Quando eu preencho o cadastro e clico em “Salvar” aparece uma página em branco.
desde já agradeço.

2 Respostas

jamirdeajr

Pelo que notei parece que no Servlet Controller está faltando um ‘.’

Está assim:

String nomedaClasse = "br.com.marcos.mvc.logica"+parametro;

Deveria ser assim:

String nomedaClasse = "br.com.marcos.mvc.logica."+parametro;

Não testei, espero que seja só isso!
Boa sorte aí!

Marcos_Roberto_DJ

Poxa jamirdeajr era só isso mesmo obrigado,é por isso que eu gosto de programar em dupla,pois,geralmente tem coisas que passam despercebidas como nessa situação.Passei o dia todo batendo cabeça por causa de um ponto hehehe.
obrigado mesmo.

Criado 13 de novembro de 2011
Ultima resposta 13 de nov. de 2011
Respostas 2
Participantes 2