Skip to content
Snippets Groups Projects
Commit 43e7f087 authored by Fnac's avatar Fnac
Browse files

Arreglando los docs

parent 3a5df7e4
No related branches found
No related tags found
No related merge requests found
......@@ -5,12 +5,14 @@
*/
package conexionDB;
import java.io.IOException;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.http.Part;
import modelo.Documento;
/**
......@@ -74,4 +76,26 @@ public class documentoDB {
}
}
public static int insertDocu(int idNook, Part documento) throws IOException {
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
PreparedStatement ps=null;
String consulta="UPDATE Documento SET documento=? WHERE nook= ?";
try {
ps =connection.prepareStatement(consulta);
ps.setBlob(1, documento.getInputStream() );
ps.setInt(2, idNook);
int res = ps.executeUpdate();
ps.close();
pool.freeConnection(connection);
return res;
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
}
......@@ -289,28 +289,5 @@ public class nookDB {
}
}
public static int insertDocu(int idNook, Part documento) throws IOException {
ConnectionPool pool = ConnectionPool.getInstance();
Connection connection = pool.getConnection();
PreparedStatement ps=null;
String consulta="UPDATE Nook SET documento=? WHERE idNook= ?";
try {
ps =connection.prepareStatement(consulta);
ps.setBlob(1, documento.getInputStream() );
ps.setInt(2, idNook);
int res = ps.executeUpdate();
ps.close();
pool.freeConnection(connection);
return res;
} catch (SQLException e) {
e.printStackTrace();
return 0;
}
}
}
package modelo;
import java.sql.Blob;
import java.util.Date;
public class Documento {
......@@ -10,20 +11,21 @@ public class Documento {
private String resumen;
private Date fechaCreacion;
private Date fechaModificacion;
private Blob documento;
public Documento(){
}
public Documento(int nook, String nombre, String resumen, Date fechaCreacion, Date fechaModificacion) {
public Documento(int nook, String nombre, String resumen, Date fechaCreacion, Date fechaModificacion, Blob documento) {
this.nook = nook;
this.nombre = nombre;
this.resumen = resumen;
this.fechaCreacion = fechaCreacion;
this.fechaModificacion = fechaModificacion;
this.documento = documento;
}
public int getNook() {
return nook;
}
......@@ -63,4 +65,12 @@ public class Documento {
public void setFechaModificacion(Date fechaModificacion) {
this.fechaModificacion = fechaModificacion;
}
public Blob getDocumento() {
return documento;
}
public void setDocumento(Blob documento) {
this.documento = documento;
}
}
\ No newline at end of file
......@@ -17,9 +17,9 @@ public class Nook {
private String autor;
private Date fechaCreacion;
private Date fechaModificacion;
private Blob documento;
private int descargas;
private double valoracionMedia;
public Nook(){
}
......@@ -99,13 +99,7 @@ public class Nook {
public void setValoracionMedia(double valoracionMedia) {
this.valoracionMedia = valoracionMedia;
}
public Blob getDocumento() {
return documento;
}
public void setDocumento(Blob documento) {
this.documento = documento;
}
}
......@@ -6,11 +6,9 @@
package servlet;
import conexionDB.clasificacionCategoriasDB;
import conexionDB.documentoDB;
import conexionDB.nookDB;
import conexionDB.usuarioDB;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.sql.Date;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
......@@ -22,6 +20,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Part;
import modelo.ClasificacionCategorias;
import modelo.Documento;
import modelo.Nook;
/**
......@@ -86,8 +85,16 @@ public class crearNookSV extends HttpServlet {
clasificacionCategoriasDB.insert(categoria);
Documento doc = new Documento();
nookDB.insertDocu(idNook,documento);
doc.setNook(idNook);
doc.setNombre(documento.getSubmittedFileName());
doc.setFechaCreacion(fecha);
doc.setFechaModificacion(fecha);
documentoDB.insert(doc);
documentoDB.insertDocu(idNook,documento);
String url = "/misNooksSV";
......
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package servlet;
import conexionDB.usuarioDB;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Usuario
*/
@WebServlet(name = "recuperarImagenOtroSV", urlPatterns = {"/recuperarImagenOtroSV"})
public class recuperarImagenOtroSV extends HttpServlet {
/**
* 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
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setContentType("image/jpg");
OutputStream respuesta = response.getOutputStream();
String usuario = request.getParameter("autor");
usuarioDB.getImagen(usuario, respuesta);
respuesta.close();
response.flushBuffer();
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
......@@ -48,7 +48,6 @@ CREATE TABLE Nook(
fechaModificacion DATE,
descargas INTEGER,
valoracionMedia NUMERIC(3,1),
documento BLOB,
PRIMARY KEY (idNook),
CONSTRAINT FK_NOOK FOREIGN KEY (autor)
REFERENCES Usuario (nombreUsuario)
......@@ -61,6 +60,7 @@ CREATE TABLE Documento(
resumen VARCHAR(400),
fechaCreacion DATE,
fechaModificacion DATE,
documento BLOB,
PRIMARY KEY (nook, nombre),
CONSTRAINT FK_DOCUMENTO FOREIGN KEY (nook)
REFERENCES Nook (idNook)
......@@ -161,25 +161,25 @@ INSERT INTO Nook (nombre,resumen,autor,fechaCreacion,fechaModificacion,descargas
INSERT INTO Nook (nombre,resumen,autor,fechaCreacion,fechaModificacion,descargas,valoracionMedia) VALUES ('Psicología','Acoso psicológico laboral','andcabe','2016-05-05','2016-05-05',37,0.0);
INSERT INTO Nook (nombre,resumen,autor,fechaCreacion,fechaModificacion,descargas,valoracionMedia) VALUES ('Criptomonedas','Diferencia entre criptomoneda, moneda virtual y dinero digital','patagua','2018-10-12','2018-10-12',91,0.0);
INSERT INTO Documento VALUES (0,'Sumador.s','Programa MIPS para sumar número en hexadecimal y que muestre el resultado en binario complemento a dos.','2016-06-20','2016-06-20');
INSERT INTO Documento VALUES (0,'Shunting.s','Algoritmo shunting yard implementado en MIPS mediante el uso de notación polaca inversa que devuelve resultados en decimal o hexadecimal como su entrada.','2016-06-20','2016-06-20');
INSERT INTO Documento VALUES (0,'Conversor.s','Algoritmo que pasa de hexadecimal a binario.','2016-06-21','2016-06-21');
INSERT INTO Documento VALUES (1,'Ejercicios Resueltos.pdf','Ejercicios de codificación y decodificación de códigos Reed-Solomon.','2017-12-20','2017-12-20');
INSERT INTO Documento VALUES (2,'Análisis visual de una colisión.doc','Diagnóstico previo de las deformaciones que haya podido sufrir un vehículo en una colisión.','2016-07-10','2016-07-10');
INSERT INTO Documento VALUES (3,'Practica1.pdf','Procesamiento de ficheros CSV.','2018-01-12','2018-01-12');
INSERT INTO Documento VALUES (3,'Práctica2.pdf','Análisis Léxico: Resumen de ficheros HTML.','2018-01-12','2018-01-12');
INSERT INTO Documento VALUES (3,'Practica3.pdf','Intérprete para el lenguaje P.','2018-01-12','2018-01-12');
INSERT INTO Documento VALUES (4,'1984.pdf','Resumen de la obra 1984 escrita por George Orwell.','2014-10-05','2014-10-05');
INSERT INTO Documento VALUES (5,'MRP.pdf','Sistema de planificación y administración, normalmente asociado con un software que planifica la producción y un sistema de control de inventarios.','2016-05-10','2016-05-10');
INSERT INTO Documento VALUES (6,'Sociedad mercantil.pdf','Acta de constitución de sociedad mercantil.','2014-05-05','2014-05-05');
INSERT INTO Documento VALUES (7,'Leasing.pdf','El arrendamiento financiero es un contrato mediante el cual, el arrendador traspasa el derecho a usar un bien a un arrendatario, a cambio del pago de rentas de arrendamiento durante un plazo determinado, al término del cual el arrendatario tiene la opción de comprar el bien arrendado pagando un precio determinado, devolverlo o renovar el contrato.','2015-01-20','2015-01-20');
INSERT INTO Documento VALUES (8,'Blockchain.pdf','Criptografía básica para entender la tecnología blockchain.','2018-03-12','2018-03-12');
INSERT INTO Documento VALUES (9,'ExpresiónGráfica.pdf','Primera prueba escrita.','2018-10-05','2018-10-05');
INSERT INTO Documento VALUES (9,'Fundamentos de la Informática.pdf','Practica 1.','2018-10-05','2018-10-05');
INSERT INTO Documento VALUES (10,'Kybernetes.pdf','Pérez Ríos, J. (2004). A self-organizing network for the systems community. Kybernetes: The International Journal of Systems & Cybernetics. Vol.33 Nº3/4.','2018-05-10','2018-05-10');
INSERT INTO Documento VALUES (11,'Aparatos de elevación motorizados.doc','Resumen y diferencias de los distintos aparatos de elevación motorizados.','2019-01-20','2019-01-20');
INSERT INTO Documento VALUES (12,'Acoso.pdf','¿Qué tipos de conductas son acoso y cuáles se pueden confundir con esta situación?.','2016-05-05','2016-05-05');
INSERT INTO Documento VALUES (13,'Criptomonedas.pdf','Actualidad. Resumen y diferencias entre criptomoneda, moneda virtual y dinero digital.','2018-10-12','2018-10-12');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (0,'Sumador.s','Programa MIPS para sumar número en hexadecimal y que muestre el resultado en binario complemento a dos.','2016-06-20','2016-06-20');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (0,'Shunting.s','Algoritmo shunting yard implementado en MIPS mediante el uso de notación polaca inversa que devuelve resultados en decimal o hexadecimal como su entrada.','2016-06-20','2016-06-20');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (0,'Conversor.s','Algoritmo que pasa de hexadecimal a binario.','2016-06-21','2016-06-21');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (1,'Ejercicios Resueltos.pdf','Ejercicios de codificación y decodificación de códigos Reed-Solomon.','2017-12-20','2017-12-20');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (2,'Análisis visual de una colisión.doc','Diagnóstico previo de las deformaciones que haya podido sufrir un vehículo en una colisión.','2016-07-10','2016-07-10');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (3,'Practica1.pdf','Procesamiento de ficheros CSV.','2018-01-12','2018-01-12');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (3,'Práctica2.pdf','Análisis Léxico: Resumen de ficheros HTML.','2018-01-12','2018-01-12');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (3,'Practica3.pdf','Intérprete para el lenguaje P.','2018-01-12','2018-01-12');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (4,'1984.pdf','Resumen de la obra 1984 escrita por George Orwell.','2014-10-05','2014-10-05');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (5,'MRP.pdf','Sistema de planificación y administración, normalmente asociado con un software que planifica la producción y un sistema de control de inventarios.','2016-05-10','2016-05-10');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (6,'Sociedad mercantil.pdf','Acta de constitución de sociedad mercantil.','2014-05-05','2014-05-05');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (7,'Leasing.pdf','El arrendamiento financiero es un contrato mediante el cual, el arrendador traspasa el derecho a usar un bien a un arrendatario, a cambio del pago de rentas de arrendamiento durante un plazo determinado, al término del cual el arrendatario tiene la opción de comprar el bien arrendado pagando un precio determinado, devolverlo o renovar el contrato.','2015-01-20','2015-01-20');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (8,'Blockchain.pdf','Criptografía básica para entender la tecnología blockchain.','2018-03-12','2018-03-12');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (9,'ExpresiónGráfica.pdf','Primera prueba escrita.','2018-10-05','2018-10-05');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (9,'Fundamentos de la Informática.pdf','Practica 1.','2018-10-05','2018-10-05');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (10,'Kybernetes.pdf','Pérez Ríos, J. (2004). A self-organizing network for the systems community. Kybernetes: The International Journal of Systems & Cybernetics. Vol.33 Nº3/4.','2018-05-10','2018-05-10');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (11,'Aparatos de elevación motorizados.doc','Resumen y diferencias de los distintos aparatos de elevación motorizados.','2019-01-20','2019-01-20');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (12,'Acoso.pdf','¿Qué tipos de conductas son acoso y cuáles se pueden confundir con esta situación?.','2016-05-05','2016-05-05');
INSERT INTO Documento (nook,nombre,resumen,fechaCreacion,fechaModificacion) VALUES (13,'Criptomonedas.pdf','Actualidad. Resumen y diferencias entre criptomoneda, moneda virtual y dinero digital.','2018-10-12','2018-10-12');
INSERT INTO ValoracionesAutor VALUES ('rafhige','patagua',2);
......
......@@ -63,12 +63,12 @@ and open the template in the editor.
<div class="opciones">
<ul>
<%if(userName.equals(autor)){%>
<li><a href="perfil.jsp"><img src="recuperarimagenOtroSV?autor=<%=autor%>"
<li><a href="perfil.jsp"><img src="recuperarImagenOtroSV?autor=<%=autor%>"
class="imagenesUsuarios"
alt="Imagen del perfil de usuario"></a></li>
<li><a href="perfil.jsp"><%=autor%></a></li>
<%}else{%>
<li><a href="autorSV?nombre=<%=autor%>"><img src="recuperarimagenOtroSV?autor=<%=autor%>"
<li><a href="autorSV?nombre=<%=autor%>"><img src="recuperarImagenOtroSV?autor=<%=autor%>"
class="imagenesUsuarios"
alt="Imagen del perfil de usuario"></a></li>
<li><a href="autorSV?nombre=<%=autor%>"><%=autor%></a></li>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment