A próxima tarefa a ser realizada é a criação da página em html, para entrar com os dados. Então na página index.jsp que foi inserida por padrão no projeto você deixa sua programação da seguinte maneira:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastro</title>
</head>
<body>
<form name="cadastro" action="NovoRegistro" method="POST" enctype="multipart/form-data">
Numero: <input type="text" name="nome" id="nome" /><br/>
Foto: <input type="file" name="foto" id="foto" /><br/>
Audio: <input type="file" name="audio" id="audio" /><br/>
<input type="submit" value="Cadastrar"/>
</form>
</body>
</html>
Execute esse projeto e a tela do seu site deve ser essa aqui:
Agora temos que criar um servlet para receber esses dados do formulário e armazená-los no banco de dados. Para isso crie um servlet com o nome "NovoRegistro", respeite o maiúsculo pois Java é sensível a maiúsculo e minúsculo.
A programação que será inserida no servlet deve ser essa:
import java.beans.IntrospectionException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.List;
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;
public class NovoRegistro extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, SQLException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
if (!ServletFileUpload.isMultipartContent(request)) {
out.println("Upload da Imagem não realizado.");
return;
}
List items = null;
try {
items = sfu.parseRequest(request);
} catch (FileUploadException ex) {
}
FileItem n = (FileItem) items.get(0);
String num = n.getString();
int numero = Integer.parseInt(num);
FileItem foto = (FileItem) items.get(1);
FileItem audio = (FileItem) items.get(2);
Connection con = Conectar.getConectar();
con.setAutoCommit(false);
PreparedStatement ps =
con.prepareStatement("INSERT INTO VOL VALUES (?,?,?)");
ps.setInt(1, numero);
ps.setBinaryStream(2, foto.getInputStream(), (int) foto.getSize());
ps.setBinaryStream(3, audio.getInputStream(), (int) audio.getSize());
ps.executeUpdate();
con.commit();
con.close();
out.println(" Registro efetuado ");
} finally {
out.close();
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(NovoRegistro.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(NovoRegistro.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Se faltar alguma biblioteca você deve inserir as que foram baixadas junto com a do driver Oracle.