Como setar imagem em uma pasta e setar o caminho dessa imagem no banco com mysql e jsp

02/11/2017

0

Olá gostaria de ajuda para setar o caminho da imagem no banco

segue o codigo.
essa é minha controle que pega os campos do formulario e manda pra dao;

public class Controle_livros extends HttpServlet {

private static final long serialVersionUID = 1L;

/**
* 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
* @throws java.sql.SQLException
*/
@SuppressWarnings("null")
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, SQLException, Exception {
/**
* Configuração do código de página para mostrar os caracteres
* corretamente
*/
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");

// Variável que receberá o valor da flag enviado pelo formulário
String flag = request.getParameter("flag");

try (PrintWriter out = response.getWriter()) {

/**
* Direciona para a página que está determinada no parâmetro do
* método
*/
if (flag == null) {
request.getRequestDispatcher("index.html").
forward(request, response);
}

/**
* Declaração das variáveis para os objetos e para receber os
* valores enviados pelos formulários
*/
// Objetos
Livros livro = new Livros();
LivroDAO livroDAO = new LivroDAO();
ArrayList<Livros> listaLivro = new ArrayList();
List<Livros> livros;
List<Livros> pesquisa;
List<Livros> livroAlteraDAO;
Map<String, String> campos;




// Variáveis dos formulários
int id;
String nome;
String genero;
String categoria;
String ano;
String img;
String caminho;


// Variáveis para tratamento das mensagens de erro
String tituloErro = "";
String erro = "";


// Verifica qual ação deve ser tomada
switch (flag) {
case "cadastrar":



nome = request.getParameter("nome");
genero = request.getParameter("genero");
categoria = request.getParameter("categoria");
ano = request.getParameter("ano");
img = request.getParameter("file");
caminho = request.getParameter("caminho");

//Cria um objeto do tipo Aluno e atribui os dados
livro = new Livros();
livro.setNome(nome);
livro.setGenero(genero);
livro.setCategoria(categoria);
livro.setAno(ano);
livro.setImg(img);
livro.setCaminho(caminho);





// Cria um objeto para receber os campos
campos = new HashMap<>();

// Verifica o preenchimento dos campos
campos = livro.verificaDados();

// Percorre a lista (objetos - campos) em busca dos erros
for (String key : campos.keySet()) {
if (campos.get(key).equals("")) {
// monta a mensagem de erro
tituloErro = "<h1>Campo (s) não preenchido (s)!</h1>";
erro = erro + "&id; " + String.valueOf(key) + "
";
}
}
// Se ocorreram erros, envia para página de erro
if (!erro.isEmpty()) {
request.setAttribute("mensagem", tituloErro + erro);
request.getRequestDispatcher("view/erro.jsp").
forward(request, response);
break;
}


/**
* Repassa os valores dos atributos para o objeto DAO que
* irá manipular os dados e gravar no banco
*/
livroDAO = new LivroDAO();
livroDAO.inserir(livro);

// Cria um atributo para informar sobre a inclusão
request.setAttribute("mensagem",livroDAO.toString());

// Redireciona para a View
request.getRequestDispatcher("view/mensagem_livro.jsp").
forward(request, response);

break;


Essa é a minha DAO responsavel por inserir no banco



public class LivroDAO {

// Declaração das variáveis globais
private Connection conexao = null;
private String status;

/**
* Método construtor da classe
*
* @throws SQLException
*/
public LivroDAO() throws SQLException {
// Retorna a conexao no momento da chamada da classe
this.conexao = ConnectionFactory.getInstance().getConnection();
}

/**
* Realiza a inclusão de um novo registro no banco de dados
*
* @param livro
*/
@SuppressWarnings("empty-statement")
public void inserir(Livros livro) {
try {
// Declaração da variável para a instrução SQL
String sql = "insert INTO livros ( nome, genero, categoria, ano, img,caminho) "
+ "VALUES (?,?,?,?,?,?)";

// Atribui os valores ao objeto ps
try (PreparedStatement ps = conexao.prepareStatement(sql)) {
// seta os valores
ps.setString(1, livro.getNome());
ps.setString(2, livro.getGenero());
ps.setString(3, livro.getCategoria());
ps.setString(4, livro.getAno());
ps.setString(5, livro.getImg());
ps.setString(6, livro.getCaminho());


// Executa o sql (execute)
ps.execute();

// Fecha o ps
ps.close();
}

// Fecha a conexão
conexao.close();

// Retorna o status da inserção
status = "Inserido com Sucesso!";

} catch (SQLException ex) {
// Lança um erro novo personalizado
status = "Erro ao inserir o livro";
}
}
Lucas Nerres

Lucas Nerres

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar