[RESOLVIDO]Problemas com While Formulario não preenche todas Variaveis

4 respostas
F

Pessoal me ajude, meu conhecimento em java é limitado e estou precisando de uma ajuda para a conclusão do meu tcc.
esta rodando sem erros porém não esta gravando no banco, a unica coisa que grava é o campo "foto" porem ele grava somente a palavra "imagemreceita" toda vez que tento incluir algo. Tentei achar algo aqui porem não existe nada parecido com o que esta ocorrendo comigo.
Não é problema de banco de dados nem conexão ... antes deu implementar o upload tudo estava funcionando perfeitamente.

OBS: o upload esta funcionando normal! somente o insert no banco que não ta funcionando.

JSP de cadastro


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastrando Receita || Odeio Alface</title>
<link href="layout/stylesADM.css" rel="stylesheet" type="text/css" />
</head>

<body id="back">
<div id="logo"></div>
<div id="Conteiner">
    
   	<div id="botoes">
              <div class="bot"><a href="" class="razd_but"  title="Incio">Inicio</a></div>
              <div class="bot"><a href="ReceitasAdm.html" class="razd_but" title="Receitas">Receitas</a></div>
              <div class="bot"><a href="VideosAdm.html" class="razd_but" title="Videos">Videos</a></div>
              <div class="bot"><a href="Cadastrosejavegano.html" class="razd_but" title="Conceitos Veganos">Seja Vegano</a></div>
			   <div ><a href="NoticiasAdm.html" title="">Noticias</a></div>       </div>
</div>

<div id="submenu1">

<img src="layout/images/cadastroreceita.png" />

</div>

<div  id="ConteinerCadastro">
    
    <form action="serveletCadastrarReceita_1" method="post" enctype="multipart/form-data"> 
        
          <table>
		  

<div class="textoCadastro">
<h4>Titulo:</h4>  
</div>
<div class="caixacadastro">
<textarea name="NomeReceita" cols="80" rows="1">Titulo da Receita </textarea>
</div>


<div class="textoCadastro">
<h4>Imagem:</h4> 
</div>
<div class="caixacadastro">
<input type="hidden" id="tipoForm" name="tipoForm" value="imagemreceita">
<!--form method=post action=/cgi-bin/donothing enctype=multipart/form-data></form-->
<input type="file" name="imagemreceita" size="40" width="80px" />
</div>


<div class="textoCadastro">
<h4>Resumo:</h4> 
</div>
<div class="caixacadastro">
<textarea name="ResumoReceita" cols="80" rows="4">Digite o resumo da Receita (Breve Comentario até 300 Caracteres) </textarea>
</div> 


<div class="textoCadastro">
<h4>Ingradientes:</h4> 
</div>
<div class="caixacadastro">
<textarea name="IngradientesReceita" cols="80" rows="15">Digite aqui todos ingradientes necessarios para a receita. </textarea>
</div> 


<div class="textoCadastro">
<h4>Modo de Preparo:</h4> 
</div>
<div class="caixacadastro">
<textarea name="MododefazerReceita" cols="80" rows="25">Como preparar a Receita ?</textarea>
</div>


<div class="textoCadastro">
<h4>Referências:</h4> 
</div>
<div class="caixacadastro">
<textarea name="ReferenciaReceita" cols="80" rows="1">Se a receita não seja sua, recomendamos inserir a referência da mesma aqui!</textarea>
</div>  


<div class="Botaosalvar">
<td  colspan="2" ><input type="submit" value="cadastrar" class="Salvar" name="Submit" ></td>
</div>  
</form>
</table>


</div>


<div class="rodape">
<h3>Copyright © 2012 Fabio Henrique & Marcelo Rossi Unipac Uberlândia</h3></div>

</body>
</html>

Servlet

import br.com.ProjetoSiteReceita.mvc.Receita;
import br.com.ProjetoSiteReceita.mvc.ReceitaDAO;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;


@SuppressWarnings("serial")
public class serveletCadastrarReceita_1 extends HttpServlet {

     
    @Override
        public void doPost(HttpServletRequest request, HttpServletResponse response)   
                       throws ServletException, IOException {  
        doGet(request, response);  
                           }  
                        
    
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  
  
            boolean isMultiPart = FileUpload.isMultipartContent(request);
            if (isMultiPart) {  
                FileItemFactory factory = new DiskFileItemFactory();  
                ServletFileUpload upload = new ServletFileUpload(factory);  
                
                String NomeReceita = "";
                String ResumoReceita = "";
                String IngradientesReceita = "";
                String MododefazerReceita = "";
                String ReferenciaReceita = "";
                String imagemreceita = "";
                
                try {  
                    List items = upload.parseRequest(request);  
                    Iterator iter = items.iterator();  
                    while (iter.hasNext()) {  
                        FileItem item = (FileItem) iter.next();  
                        if (item.getFieldName().equals("tipoForm")) {  
                            imagemreceita = item.getString(); 
                        
                            
                        }  
                          if (!item.isFormField()) {  
                            if (item.getName().length() > 0) {  
                                 this.inserirImagemDiretorio(item);
                            } 
                       
                            if (item.getFieldName().equals("NomeReceita")) {NomeReceita = item.getString();}  
                            if (item.getFieldName().equals("ResumoReceita")) { ResumoReceita = item.getString(); }  
                            if (item.getFieldName().equals("IngradientesReceita")) { IngradientesReceita = item.getString();}
                            if (item.getFieldName().equals("MododefazerReceita")) { MododefazerReceita = item.getString();} 
                            if (item.getFieldName().equals("ReferenciaReceita")) { ReferenciaReceita = item.getString();}
                          
                Receita rt = new Receita();
                rt.setNomeReceita(NomeReceita);
                rt.setImagemreceita(imagemreceita);
                rt.setResumoReceita(ResumoReceita);
                rt.setIngradientesReceita(IngradientesReceita);
                rt.setMododefazerReceita(MododefazerReceita);
                rt.setReferenciaReceita(ReferenciaReceita);
                
                
                // Instancia ContatoDAO
                ReceitaDAO dao = new ReceitaDAO();
                dao.cadastrarReceita(rt);
                
                RequestDispatcher rd = request.getRequestDispatcher("/AdmReceitas.jsp");
                rd.forward(request, response);
        
               
                            
                            
                            
                        }  
                    }  
                } catch (FileUploadException ex) {  
//                       ex.printStackTrace();  
                } catch (Exception ex) {  
 //                      ex.printStackTrace();  
                }  
            }  
    }  
  
   // implementação de demais métodos do Servlet. 
    
private void inserirImagemDiretorio(FileItem item) throws IOException {  
  
            //Pega o diretório /logo dentro do diretório atual de onde a   
            //aplicação está rodando  
            String caminho = getServletContext().getRealPath("/logo") + "/";  
     
             // Cria o diretório caso ele não exista  
            File diretorio = new File(caminho);  
            if (!diretorio.exists()){  
                diretorio.mkdir();  
            }  
  
            // Mandar o arquivo para o diretório informado  
            String nome = item.getName();  
            String arq[] = nome.split("\\\\");  
            for (int i = 0; i < arq.length; i++) {  
                nome = arq[i];  
            }  
  
            File file = new File(diretorio, nome);  
            FileOutputStream output = new FileOutputStream(file);  
            InputStream is = item.getInputStream();  
            byte[] buffer = new byte[2048];  
            int nLidos;  
            while ((nLidos = is.read(buffer)) >= 0) {  
                output.write(buffer, 0, nLidos);  
            }  
  
            output.flush();  
            output.close();
            
           
  
}



}

ReceitaDAO

package br.com.ProjetoSiteReceita.mvc;


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

public class ReceitaDAO {

    private Connection conn;
    
    public ReceitaDAO(){
        this.conn = new ConnectionFactory().getConnection();
    }
    
    //método de inserir
    public void cadastrarReceita(Receita rt){
        String sql = "insert into receitas "
                + "(nome,foto,resumo,ingradientes,mododefazer,referencia) "
                + "values (?,?,?,?,?,?)";
        try{
            PreparedStatement stmt = conn.prepareStatement(sql);
            
            //setando os valores
            stmt.setString(1, rt.getNomeReceita());
            stmt.setString(2, rt.getImagemreceita());
            stmt.setString(3, rt.getResumoReceita());
            stmt.setString(4, rt.getIngradientesReceita());
            stmt.setString(5, rt.getMododefazerReceita());
            stmt.setString(6, rt.getReferenciaReceita());
            
            //executando
            stmt.execute();
            stmt.close();
        }
        catch(SQLException e){
            throw new RuntimeException(e);
        }
    }
}

4 Respostas

F

Alguem pode me ajudar, estou parado nisso …

F

Niguem pode me ajudar ???

F

Alguem pode me ajudar, so consiguo preencher a primeira variaveil cheia.

F

Dei conta de resolver com outras formas de ajuda. vou fechar o topico

Criado 19 de setembro de 2012
Ultima resposta 26 de set. de 2012
Respostas 4
Participantes 1