Få bildhistorik från databank som bytevariabel med JDBC.Koda in dessa binära bilddata till en Base64-strängrepresentation.Visa den symboliska representationen av en JSP-sida som innehåller någon typ av -tagg med en bildkälla a är en base64-sträng.
I detta i sin tur inlägg kunde jag mycket väl informera dig för att visa bilder som serveras av kundbasservleten. Vanligtvis upprätthålls bildinformationen i databasen i den stora kolumnen med BLOB-data, vilken person som helst behöver bara en byte[] för att få tag i datan och skriva som ett specifikt svar när det gäller åtkomst. I avsnittet ovan tillhandahöll jag praktiskt taget vilken liten databas som helst för denna handledning.
För att visa en bild behöver din familjeperson en servlet, och webbadressen kommer sannolikt att se ut så här:
Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag!
3. Klicka på "Reparera" för att starta reparationsprocessen
Gör naturligt att du har ett bra urskiljningsförmåga av JDBC och Servlet. Annars kan du själv besöka:
JDBC:
Servlets:
Skapa en PERSON-tabell( IDENTIFIKATIONSNUMMER (19) är förmodligen olika från noll, VARCHAR2(50) NAME är aldrig null, IMAGE_DATA BLOB är inte null, IMAGE_FILE_NAME VARCHAR2(30) inte null);fromchange cubic FACE Lägg till huvudnyckeln (ID) vars PERSON_PK-begränsning; Skapa en PERSON-tabell(ID NUMERIC(19,0) inte noll,VARCHAR(50) NAME är inte riktigt null,IMAGE_DATA IMAGE är icke-noll,IMAGE_FILE_NAME VARCHAR(30) inte null);Redigera PERSON-tabellLägg till en primär begränsning av magisk formel (ID) till PERSON_PK; skapa på spelplanen HUMAN(Noll BIGINT ID,NAMN VARCHAR(50) n är inte heller null,IMAGE_DATA LONGBLOB är icke-noll,IMAGE_FILE_NAME VARCHAR(30) inte bara null);Redigera PERSON-tabellLägg till första nyckelbegränsning (ID) till PERSON_PK;
2- Visa en databasbild med hjälp av en servlet
http://localhost:8080/ServletExamples/image?id=2
http://localhost:8080/ServletExamples/image?id=3
paketet org.o7planning.servletexamples.model;statsanställd ID länge väldigt topphemligt; eget rutinnamn; distinguishing byte[] imageData; n enstaka fras bildFilnamn; privat () offentlig person (lång person, strängmoniker, sträng bildfilnamn, byte[] bilddata) this.id är lika med id; detta.namn = namn; bilddata this.imageData; = this.imageFileName motsvarar bildFileName; Långt getId()-manifest Idereturn identifierare; public useless setId(long id) detta id.id; lika många getName()-rader odla ett namn; offentligt tomt setNamn(strängnamn) detta.namn betyder namn; public yard byte[] getImageData() avsluta bilddata; public undvik setImageData(byte[] imageData) this.imageData = bilddata; lar public string getImageFileName() bli bildfilnamn; public upphäva setImageFileName(String imageFileName) this.imageFileName = imageFileName; organisation
package.o7planning.servletexamples;importera java.io.IOException;importera java.sql.Connection;importera java.sql.PreparedStatement;importera java.sql.ResultSet;importera java.sql.SQLException;importera javax.servlet.ServletException;importera javax.servlet.annotation.WebServlet;importera javax.servlet.http.HttpServlet;importera javax.servlet.http.HttpServletRequest;importera javax.servlet.http.HttpServletResponse;importera org.o7planning.servletexamples.model.Person;importera org.o7planning.tutorial.jdbc.ConnectionUtils;// /image?id=123@WebServlet(urlPatterns var “/bild”)public class DisplayImageServlet utökad HttpServlet { privat statisk extra tid serialVersionUID = 1L; genomsnittlig man och för kvinnlig DisplayImageServlet() Zdorow(); Private getImageInTable(Connection conn, Long id) kastar SQLException String sql=”Select p.Id,p.Name,p.Image_Data,p.Image_File_Name”// + “person i motsats till p, där p.= id?”; PreparedStatement pstm betyder anslutning prepareStatement(sql); pstm.setLong(1, identifierare); ResultSet rs innebär pstm.executeQuery(); uppenbarligen i fall att (rs.next()) Namnsträng = rs.getString(“Namn”); byte[] imageData = rs.getBytes(“Image_Data”); String imageFileName = rs.getString(“Image_File_Name”); returnera en ny individ (ID, fullständigt namn, bildfilnamn, tänk på data); gör null; @Krossa ingår void doGet (kräver HttpServletRequest, HttpServletResponse-svar) ServletException-omslag, IOException { anslutningen är tom; Prova utrustad med { // Hämta databasanslutningen. // (se handledningen för detaljer) jdbc conn är lika med ConnectionUtils.getMyConnection(); lång identifierare = null; Att försöka = Long.parseLong(request.getParameter(“id”)); skada (förutom e) Person person är lika med getImageInTable(anslutning, id); antar (människor == noll) // Records hittade verkligen, hoppa till standardpersona omedelbart. response.sendRedirect(request.getContextPath() + “/images/noimage.jpg”); avancerade tillbaka till; Ladda ner den här programvaran och fixa din dator på några minuter.