Olá, evite chamar atenção com LETRAS MAIUSCULAS no título dos seus tópicos.
Me desculpe, não farei mais isto. Vou arrumar.
Cara da uma olhada no framework do pessoal da Caelum o vRaptor ele simplica muitooo, a terefa de upload de um App Web
http://vraptor.caelum.com.br/documentacao/download-e-upload/
Este foi o unico framework que eu tentei aprender até agora, e é este que eu quero aprender futuramente. Faz apenas 2 semanas que eu to nesse mundo de servlets e JSP, quero cair no mundo de desenvolvimento de aplicativos pra Web e futuramente reaproveitar o código para usar em dispositivos móveis. Enquanto isto eu vou aprendendo o basico sem framework pra eu não ficar confuso. :)
Outra opção seria utilizar a biblioteca Jakarta Commons-FileUpload:
Sobre o Jakarta eu ja li um pouco sobre esta API, mas não sei muito bem como faz pra implementar nessa minha estrutura MVC. Já vi vários exemplos que ficam em apenas JSP, mas isto não me interessa, já até tentei passar os códigos do JSP para o Servlet. Aproveitando este tópico, você poderia me passar algum artigo que trate detalhadamente sobre o que são os parametros do HTTP Servlet(Request, Response). Por favor.
AGORA VOLTANDO À MINHA DÚVIDA.
Estes são meus arquivos, só nao coloquei a classe dos getters & setters pq eu achei desnecessário. Eu montei essa estrutura agora a pouco antes de ler a tua resposta, mas não sei onde eu devo implementar, se é no 'GravarInsercaoFoto' ou na propria persistencia 'FotoDAO'
Vlw pela ajuda amigão. :wink:
inserirfoto.jsp
<html>
<head>
<title>Upload de Foto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post" name="upform" enctype="multipart/form-data">
<table align="center">
<tr>
<td align="left"><b>Selecione uma foto: </b></td>
</tr>
<tr>
<td align="left">
<input type="file" name="uploadArquivo" size="50">
</td>
</tr>
<tr>
<td align="left">
<input type="hidden" name="todo" value="upload">
<input type="submit" name="Submit" value="Upload">
<input type="reset" name="Reset" value="Cancel">
</td>
</tr>
</table>
</form>
</body>
</html>
ServletWeb
package controller;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import model.Conexao;
public class ServletWeb extends HttpServlet {
private ServletContext sc;
private String jsp = "";
public void init(ServletConfig config) throws ServletException {
super.init(config);
sc = config.getServletContext();
Conexao.conectar(sc.getInitParameter("url"), sc.getInitParameter("usuario"),
sc.getInitParameter("senha"), sc.getInitParameter("driver"));
}
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String acao = request.getParameter("acao");
if(acao.equals("Logar"))
jsp = Login.execute(request);
else if (acao.equals("ListarUsuario"))
jsp = ListarUsuario.execute(request);
else if (acao.equals("AlterarUsuario"))
jsp = AlterarUsuario.execute(request);
else if (acao.equals("GravarAlteracaoUsuario"))
jsp = GravarAlteracaoUsuario.execute(request);
else if (acao.equals("GravarInsercaoUsuario"))
jsp = GravarInsercaoUsuario.execute(request);
else if (acao.equals("ExcluirFoto"))
jsp = ExcluirFoto.execute(request);
else if (acao.equals("ExcluirUsuario"))
jsp = ExcluirUsuario.execute(request);
//
//Redirecionando pagina
RequestDispatcher rd = request.getRequestDispatcher(jsp);
rd.forward(request, response);
}
public void destroy() {
Conexao.destroy();
}
}
GravaInsercaoFoto
package controller;
import controller.vo.Foto;
import javax.servlet.http.HttpServletRequest;
import model.FotoDAO;
public class GravarInsercaoFoto {
public static String execute(HttpServletRequest request) {
String jsp = "";
try {
// lendo o Caminho da Foto que se deseja alterar
String fotoCaminho = request.getParameter("fotoCaminho");
String fotoDescricao = request.getParameter("fotoDescricao");
Foto foto = new Foto(); //novo objeto da classe Foto
foto.setFotoCaminho(fotoCaminho);
foto.setFotoDescricao(fotoDescricao);
Boolean create = false;
create = FotoDAO.create(foto);
if(create != false){
jsp = "/inserirfoto.jsp";
}
}catch (Exception e) {
e.printStackTrace();
jsp = "";
}
return jsp;
}
}
FotoDAO
package model;
import java.sql.*;
import controller.vo.Foto;
import java.util.ArrayList;
public class FotoDAO {
private static PreparedStatement pstmt = null;
private static ResultSet rs = null;
public static boolean create(Foto foto) {
try {
pstmt = Conexao.getConnection().prepareStatement(
"Insert Into Foto(FotoCaminho, "
+ "FotoDescicao) Values(?,?)");
pstmt.setString(1, foto.getFotoCaminho());
pstmt.setString(2, foto.getFotoDescricao());
pstmt.executeUpdate();
pstmt.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static ArrayList<Foto> getAll() {
try {
ArrayList<Foto> listAll = null;
Foto foto = new Foto();
pstmt = Conexao.getConnection().prepareStatement(
"Select * From Foto Order By Id");
rs = pstmt.executeQuery();
if (rs.next()) {
listAll = new ArrayList<Foto>();
do {
foto = new Foto();
foto.setFotoCaminho(rs.getString("FotoCaminho"));
foto.setFotoDescricao(rs.getString("FotoDescricao"));
listAll.add(foto);
} while (rs.next());
}
rs.close();
pstmt.close();
return listAll;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static boolean delete(Foto foto) {
try {
pstmt = Conexao.getConnection().prepareStatement(
"Delete From Foto Where FotoCaminho = ?");
pstmt.setString(1, foto.getFotoCaminho());
pstmt.executeUpdate();
pstmt.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static Foto getById(String FotoCaminho) {
try {
Foto foto = null;
pstmt = Conexao.getConnection().prepareStatement(
"Select * From Foto Where FotoCaminho = ?");
pstmt.setString(1, FotoCaminho);
rs = pstmt.executeQuery();
if (rs.next()) {
foto = new Foto();
foto.setFotoCaminho(rs.getString("FotoCaminho"));
foto.setFotoDescricao(rs.getString("FotoDescricao"));
}
rs.close();
pstmt.close();
return foto;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
listarfoto.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="controller.vo.Foto,java.util.ArrayList"%>
<%@include file="/menu.jsp"%>
<%!
ArrayList<Foto> listFoto = null;
%>
<%
listFoto = (ArrayList<Foto>) request.getAttribute("listFoto");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>atelierlucena xxx</title>
<script type="text/javascript" language="JavaScript" src="js/webvalida.js"></script>
</head>
<body>
<center>
<h3>Lista de Fotos</h3>
<form name="frmFoto" method='post' action='/atelierlucena/servletweb'>
<input type='hidden' name='acao' value=''>
<input type='hidden' name='cod' value=''>
<input type='hidden' name='table' value='Foto'>
<table>
<tr>
<td>
Foto
</td>
<td>
Descricao
</td>
<td>
Excluir
</td>
</tr>
<%
for (int i = 0; i < listFoto.size(); i++) {
%>
<tr>
<td>
<%=listFoto.get(i).getFotoCaminho()%>
</td>
<td>
<%=listFoto.get(i).getFotoDescricao()%>
</td>
<td>
<input type='button' value='Excluir' onclick='Excluir(<%=listFoto.get(i).getFotoCaminho()%>,document.frmFoto)'>
</td>
</tr>
<%
}
%>
</table>
</form>
</center>
</body>
</html>
ListarFoto
package controller;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import model.FotoDAO;
import controller.vo.Foto;
public class ListarFoto {
public static String execute(HttpServletRequest request) {
String jsp = "";
try {
ArrayList<Foto> listFoto = FotoDAO.getAll();
if(listFoto != null){
request.setAttribute("listFoto", listFoto);
jsp = "/listarfoto.jsp";
}else{
String erro = "Nao existe registro!";
request.setAttribute("erro", erro);
jsp = "/erro.jsp";
}
} catch (Exception e) {
e.printStackTrace();
jsp = "";
}
return jsp;
}
}
ExcluirFoto
package controller;
import javax.servlet.http.HttpServletRequest;
import model.FotoDAO;
import controller.vo.Foto;
public class ExcluirFoto {
static String execute(HttpServletRequest request) {
String jsp = "";
try {
// lendo o Caminho que se deseja alterar
String cod = request.getParameter("cod");
Foto foto = FotoDAO.getById(cod);
boolean delete = FotoDAO.delete(foto);
if(delete != false){
jsp = ListarFoto.execute(request);
}else{
String erro = "Ocorreu erro ao Excluir Foto!";
request.setAttribute("erro", erro);
jsp = "/erro.jsp";
}
} catch (Exception e) {
e.printStackTrace();
jsp = "";
}
return jsp;
}
}