Holen Sie sich den Bildverlauf aus der Datenbank als Byte-Variable mit JDBC.Kodieren Sie im Allgemeinen binäre Bilddaten in eine Base64-Firmendarstellung.Zeigen Sie die symbolische Darstellung auf Ihrer eigenen JSP-Seite an, die eine -Markierung mit einer Bildquelle enthält, die immer eine Base64-Zeichenfolge ist.
In diesem Beitrag konnte ich Ihnen wirklich sehr gut helfen, das vom Datenbank-Servlet bereitgestellte Filmmaterial anzuzeigen. Normalerweise werden die Bildinformationen in Bezug auf die Datenbank im rechten Lewis der BLOB-Daten gespeichert. Sie benötigen nur ein Byte [], um unsere Daten zu erhalten und als Antwort in Bezug auf den Zugriff zu schreiben. In einigen der obigen Abschnitte habe ich eine niedrige Datenbank für dieses Tutorial bereitgestellt.
Um ein Bild anzuzeigen, benötigt Ihre Familie ein anderes Servlet, und die URL könnte wie folgt aussehen:
Sind Sie es leid, dass Ihr Computer langsam läuft? Ist es voller Viren und Malware? Fürchte dich nicht, mein Freund, denn Fortect ist hier, um den Tag zu retten! Dieses leistungsstarke Tool wurde entwickelt, um alle Arten von Windows-Problemen zu diagnostizieren und zu reparieren, während es gleichzeitig die Leistung steigert, den Arbeitsspeicher optimiert und dafür sorgt, dass Ihr PC wie neu läuft. Warten Sie also nicht länger - laden Sie Fortect noch heute herunter!
1. Laden Sie Fortect herunter und installieren Sie es
2. Öffnen Sie das Programm und klicken Sie auf "Scannen"
3. Klicken Sie auf "Reparieren", um den Reparaturvorgang zu starten
Stellen Sie sicher, dass Sie über gute Kenntnisse in Bezug auf JDBC und Servlet verfügen. Ansonsten können Sie auch besuchen:
JDBC:
Servlets:
Erstellen Sie eine PERSON-Tabelle( IDENTIFIKATIONSNUMMER (19) ist wahrscheinlich irgendwo anders als Null, VARCHAR2(50) NAME ist nicht null, IMAGE_DATA BLOB ist nicht null, IMAGE_FILE_NAME VARCHAR2(30) nicht null);fromchange kubisches FACE Fügen Sie Ihren aktuellen Hauptschlüssel (ID) der Einschränkung PERSON_PK hinzu;
Erstellen Sie eine PERSON-Tabelle(ID NUMERIC(19,0) nur nicht Null,VARCHAR(50) NAME ist nicht null,IMAGE_DATA IMAGE ist ungleich Null,IMAGE_FILE_NAME VARCHAR(30) nicht null);Tabelle PERSON bearbeitenFügen Sie PERSON_PK eine Primärschlüssel-(ID-)Disziplin hinzu;
erstellen an Bord von HUMAN(BIGINT-ID ungleich Null,NAME VARCHAR(50) n ist nicht null,IMAGE_DATA LONGBLOB ist ungleich Null,IMAGE_FILE_NAME VARCHAR(30) nein nur null);Tabelle PERSON bearbeitenAnfangstrickbeschränkung (ID) zu PERSON_PK hinzufügen;
2- Anzeigen eines Datenbankbilds mithilfe eines Servlets
http://localhost:8080/ServletExamples/image?id=2
http://localhost:8080/ServletExamples/image?id=3
Paket org.o7planning.servletexamples.model;Regierungsangestellter ID lange streng geheim; eigener Kanalname; Unterscheidung byte[] imageData; n einfach das Netz imageFileName; zivil () öffentlich festgenommene Person (lange Person, Zeichenfolgenname, Zeichenfolgenbilddateiname, Byte [] Bilddaten) this.id entspricht id; this.name = Name; Bilddaten this.imageData; = this.imageFileName ist gleich imageFileName; Langes getId()-Manifest IderRückgabekennung; public void setId (lange ID) diese id.id; gleich viele getName() Zeilen einen Namen erwerben; public nullify setName(string name) this.name = Name; Arresthof byte[] getImageData() Rückansicht der TV-Daten; public void setImageData(byte[] imageData) this.imageData = Bilddaten; öffentlicher Mammut-String getImageFileName() Komm Vertrauen Dateiname; public void setImageFileName(String imageFileName) this.imageFileName = imageFileName; Organisation
package.o7planning.servletexamples;java.io.IOException importieren;java.sql.Connection importieren;import java.sql.PreparedStatement;java.sql.ResultSet importieren;java.sql.SQLException importieren;javax.servlet.ServletException importieren;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.o7planning.servletexamples.model.Person;import org.o7planning.tutorial.jdbc.ConnectionUtils;// /bild?id=123@WebServlet (urlPatterns ist normalerweise “/image”)öffentliche Klasse DisplayImageServlet erweitertes HttpServlet { private statische längere serialVersionUID gleich 1L; durchschnittlich männlich oder elegant DisplayImageServlet() Zdorow(); Privates getImageInTable(Connection conn, Long id) löst SQLException aus String sql=”Select p.Id,p.Name,p.Image_Data,p.Image_File_Name”// + “Person versus h, wo p.= id?”; PreparedStatement pstm = Anschluss PrepareStatement(sql); pstm.setLong(1, Bezeichner); ResultSet rs impliziert pstm.executeQuery(); offensichtlich aber, wenn (rs.next()) Name String ist gleich rs.getString(“Name”); byte[] imageData impliziert rs.getBytes(“Image_Data”); String imageFileName = rs.getString(“Image_File_Name”); eine neue Person zurückgeben (ID, vollständiger Name, Bilddateiname, Bilddaten); bekommt null zurück; @Zerquetschen sicheres void doGet (erfordert HttpServletRequest-, HttpServletResponse-Antwort) ServletException-Wrapper, IOException { conn-Verbindung ist leer; Versuchen Sie, begleitet von { // Jede Datenbankverbindung abrufen. // (siehe Lektion für Details) jdbc conn entspricht ConnectionUtils.getMyConnection(); sehr Bezeichner = null; Versuchen = Long.parseLong(request.getParameter(“id”)); Pause (außer e) Person person = getImageInTable(connection, id); if (Personen == null) // Aufzeichnungen nicht gefühlt, sofort zum Standardbild springen. response.sendRedirect(request.getContextPath() + “/images/noimage.jpg”); kommen im Gegenzug zu;