Bom dia a todos,
Tenho um formulario na qual sera necessario salvar imagens no banco, pelo que ja li nos exemplos que existem na Web, o melhor caminho é salvar uma String no Banco que direciona para uma pasta que vai ficar no meu servidor. Confesso que nunca fiz isso, e não tenho idéia como, mas olhando uns exemplos fiz a JSP e a SERVLET, gostaria que alguem postasse um exemplo de classe DAO para eu ter uma idéia de como faz, não estou pedido para fazer, mas não achei na Web algum exemplo entendivel para suprir minha necessidade, abaixo vou compartilhar o que fiz até para um feedBack melhor:
Class JSP:
[code]
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="br.com.rodrigo.sehab.bean.CaracterizacaoBean" %>
HABISP - Consulta
[code]
Minha Servlet:
[code]
package br.com.rodrigo.sehab.servlet;
import java.io.File;
import java.io.IOException;
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.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import br.com.rodrigo.sehab.bean.CaracterizacaoBean;
import br.com.rodrigo.sehab.dao.CaracterizacaoDAO;
/**
* Servlet implementation class CadastroImagem
*/
public class CadastroImagemServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CadastroImagemServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
RequestDispatcher dispatcher = getServletContext()
.getRequestDispatcher(
"/pages/caracterizacao/cadastro_imagem.jsp");
CaracterizacaoDAO caracterizacaoDAO = new CaracterizacaoDAO();
CaracterizacaoBean caracterizacao = caracterizacaoDAO
.consultarCaracterizacaoByCodFunep(request
.getParameter("codFunep"));
request.setAttribute("codFunep", caracterizacao.getCodFunep());
request.setAttribute("nomeArea", caracterizacao.getNomeArea());
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// Check that we have a file upload request
System.out.println("FILE UPLOAD");
//Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
System.out.println("isMultipart:[" + isMultipart + "]");
//Create a factory for disk-based file items
DiskFileItemFactory factory = new DiskFileItemFactory();
//Set factory constraints
factory.setSizeThreshold(1000000);
factory.setRepository(new File("e:\\temp"));
//Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
//Set overall request size constraint
upload.setSizeMax(1000000);
//Parse the request
try {
List items = upload.parseRequest(request);
//Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
System.out.println("item.getFieldName():[" + item.getFieldName() + "]");
System.out.println("item.getString():[" + item.getString() + "]");
} else {
System.out.println("item.getFieldName():[" + item.getFieldName() + "]");
System.out.println("item.getName():[" + item.getName() + "]");
}
}
}catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[code]
Meu prazo para entregar isso é quinta-feira, então estou no desespero mesmo implorando uma ajuda!
Obrigado.