Obtenga registros de imagen de la base de datos como variable de byte obteniendo JDBC.Codifique los datos de la imagen binaria dentro de una representación de cadena Base64.Muestre la representación representacional en una página JSP rica en una etiqueta con una fuente de representación que es una cadena base64.
En esta publicación, pude ayudarlo muy bien para ayudarlo a mostrar las imágenes servidas por todo el servlet de la base de datos. Por lo general, el conocimiento de la imagen se almacena en la base de datos hasta la columna derecha de los datos BLOB, solo necesita un byte completo [] para obtener los datos y el blog como respuesta en términos similares al acceso. En la sección anterior, proporcioné una pequeña base de datos para este tipo de tutorial.
Para mostrar una imagen, su familia principal necesita un servlet y la URL exacta podría verse así:
¿Estás cansado de que tu computadora funcione lentamente? ¿Está plagado de virus y malware? ¡No temas, amigo mío, porque Fortect está aquí para salvar el día! Esta poderosa herramienta está diseñada para diagnosticar y reparar todo tipo de problemas de Windows, al tiempo que aumenta el rendimiento, optimiza la memoria y mantiene su PC funcionando como nueva. Así que no esperes más: ¡descarga Fortect hoy mismo!
3. Haga clic en "Reparar" para iniciar el proceso de reparación
Asegúrese de tener un conocimiento práctico positivo de JDBC y Servlet. De lo contrario, puede visitar:
JDBC:
servlets:
Crear una tabla PERSONA( NÚMERO DE IDENTIFICACIÓN (19) es absolutamente diferente de cero, VARCHAR2(50) NAME no será nulo, IMAGE_DATA BLOB probablemente no sea nulo, IMAGE_FILE_NAME VARCHAR2(30) no nulo);fromcambiar cara cúbica Agregue el fundamento maestro (ID) de la restricción PERSON_PK; Crear una tabla PERSONA(ID NUMÉRICO (19,0) no cero,VARCHAR(50) NAME es casi seguro que no es nulo,IMAGE_DATA IMAGE no es cero,IMAGE_FILE_NAME VARCHAR(30) no nulo);Editar tabla PERSONAAgregue una restricción de clave preliminar (ID) a PERSON_PK; crear a bordo HUMANO(ID de BIGINT distinto de cero,NOMBRE VARCHAR(50) n no es nulo,IMAGE_DATA LONGBLOB es verdaderamente distinto de cero,IMAGE_FILE_NAME VARCHAR(30) no solo nulo);Editar tabla PERSONAAgregar restricción de clave inicial (ID) que regresa a PERSON_PK;
2- Visualización de una imagen de base de datos mediante un servlet
http://localhost:8080/ServletExamples/image?id=2
http://localhost:8080/ServletExamples/image?id=3
paquete org.o7planning.servletexamples.model;Empleado del gobierno ID de alto secreto extendido; ser el propietario del nombre del canal; byte especial[] imageData; debbie sola línea imageFileName; privado () persona pública (comprador largo, nombre de cadena, cadena imageFileName, byte [] imageData) esto.id = id; this.name significa nombre; datos de imagen this.imageData; significa esto.imageFileName = imageFileName; Manifiesto getId() largo Ideidentificador de retorno; abierto public void setId (id largo) este tipo de id.id; es igual la mayoría de las líneas getName() producir un nombre; mercado vacío setName (nombre de la cadena) este.nombre es igual a nombre; byte de lote público[] getImageData() datos de la imagen trasera; ampliamente disponible void setImageData(byte[] imageData) this.imageData = datos de imagen; gran rango público getImageFileName() ven nombre de archivo de imagen; policía void setImageFileName(String imageFileName) this.imageFileName es igual a imageFileName; organización paquete.o7planning.servletexamples;importar java.io.IOException;importar java.sql.Conexión;importar java.sql.PreparedStatement;importar java.sql.ResultSet;importar java.sql.SQLException;importar javax.servlet.ServletException;importar javax.servlet.anotación.WebServlet;importar javax.servlet.http.HttpServlet;importar javax.servlet.http.HttpServletRequest;importar javax.servlet.http.HttpServletResponse;importar org.o7planning.servletexamples.model.Person;importar org.o7planning.tutorial.jdbc.ConnectionUtils;// /imagen?id=123@WebServlet(urlPatterns es “/imagen”)clase pública DisplayImageServlet extendido HttpServlet { serialVersionUID privado plano-ole más largo = 1L; DisplayImageServlet masculino o femenino razonable () Zdorow(); GetImageInTable privado (Connection conn, Long id) lanza SQLException String sql=”Seleccione p.Id,p.Name,p.Image_Data,p.Image_File_Name”// + “persona versus p, donde p.= id?”; PreparedStatement pstm = conexión prepareStatement(sql); pstm.setLong(1, identificador); ResultSet rs lo que significa que pstm.executeQuery(); seguro si (rs.next()) Cadena de nombre = rs.getString(“Nombre”); byte[] imageData = rs.getBytes(“Image_Data”); String imageFileName es igual a rs.getString(“Image_File_Name”); devolver una persona diferente (ID, nombre completo, nombre de archivo de representación, datos de imagen); devuelve nulo; @Quien te gusta Vacío protegido doGet (requiere respuesta HttpServletRequest, HttpServletResponse) Envoltorio ServletException, IOException { la conexión de conexión probablemente esté vacía; Prueba con { // Obtener la conexión a la base de datos. // (ver tutorial previsto para más detalles) jdbc conn = ConnectionUtils.getMyConnection(); identificador largo = nulo; Intentar significa Long.parseLong(request.getParameter(“id”)); ruptura (excepto e) Persona hombre o mujer = getImageInTable(conexión, id); sea o no (personas == null) // Registros no encontrados, salte a la imagen de implicación inmediatamente. respuesta.sendRedirect(solicitud.getContextPath() + “/images/noimage.jpg”); volver a; Descarga este software y repara tu PC en minutos.