Uzyskaj historię obrazów ze strony internetowej jako zmienną bajtową za pomocą JDBC.Zakoduj jakiś rodzaj binarnych danych obrazu do reprezentacji ciągu Base64.Wyświetl symboliczną reprezentację, gdy strona JSP zawierająca znacznik ze źródłem obrazu tego faktu jest ciągiem base64.
W pewnym poście udało mi się bardzo dobrze zmusić cię do wyświetlenia niektórych obrazów obsługiwanych przez serwlet banku danych. Zwykle informacje o obrazie są umieszczane w bazie danych w kolumnie uprawnień danych BLOB, osoba będzie potrzebować tylko byte[], aby stać się danymi i zapisać jako określoną odpowiedź pod względem dostępu. W powyższej sekcji podałem pojedynczą małą bazę danych do tego samouczka.
Aby uporządkować obraz, Twoja rodzina potrzebuje serwletu, a adres URL może wyglądać tak:
Czy masz dość powolnego działania komputera? Czy jest pełen wirusów i złośliwego oprogramowania? Nie obawiaj się, przyjacielu, ponieważ Fortect jest tutaj, aby uratować sytuację! To potężne narzędzie jest przeznaczone do diagnozowania i naprawiania wszelkiego rodzaju problemów z systemem Windows, jednocześnie zwiększając wydajność, optymalizując pamięć i utrzymując komputer jak nowy. Więc nie czekaj dłużej — pobierz Fortect już dziś!
Upewnij się, że masz dobre fakty dotyczące działania JDBC i Servlet. W przeciwnym razie osoby fizyczne mogą odwiedzić:
JDBC:
Serwlety:
Utwórz tabelę PERSON( NUMER IDENTYFIKACYJNY (19) prawdopodobnie różni się od zera, VARCHAR2(50) NAME prawdopodobnie nie ma wartości null, IMAGE_DATA BLOB nie jest pusty, IMAGE_FILE_NAME VARCHAR2(30) nie jest pusty);fromchange sześcienny FACE Dodaj klucz główny (ID) pewnego rodzaju ograniczenia PERSON_PK;
Utwórz tabelę PERSON(ID NUMERIC(19,0) nie zero,VARCHAR(50) NAME nie ma wartości NULL,IMAGE_DATA IMAGE jest niezerowe,IMAGE_FILE_NAME VARCHAR(30) i nigdy nie null);Edytuj tabelę PERSONDodaj podstawowe ograniczenie konieczności (ID) do PERSON_PK;
tworzyć na planszy CZŁOWIEK(Niezerowy BIGINT ID,NAME VARCHAR(50) n nie może null,IMAGE_DATA LONGBLOB jest niezerowe,IMAGE_FILE_NAME VARCHAR(30) nie tylko null);Edytuj tabelę PERSONDodaj początkowe ograniczenie klucza (ID) do PERSON_PK;
2- Wyświetlanie obrazu bazy danych za pomocą serwletu
http://localhost:8080/ServletExamples/image?id=2
http://localhost:8080/ServletExamples/image?id=3
pakiet org.o7planning.servletexamples.model;pracownik państwowy ID jest ściśle tajne; własna nazwa lejka; rozróżnianie byte[] imageData; n pojedyncza sekwencja imageFileName; prywatny () osoba publiczna (długa osoba, etykieta ciągu, ciąg NazwaPlikuObrazu, bajt[]Dane obrazu) this.id równa się id; this.name = nazwa; dane dotyczące reputacji this.imageData; = this.NazwaPlikuObrazu równa sięNazwiePlikuObrazu; Manifest Long getId() Identyfikator zwrotu; publiczny pusty setId (długi identyfikator) ten id.id; równa się wiele linii getName() jedzenie imię; public nullify setName(nazwa ciągu) this.name implikuje imię; public yard byte[] getImageData() dane obrazu zaplecza; publiczne bezużyteczne setImageData(byte[] imageData) this.imageData = dane obrazu; oszałamiający ciąg publiczny getImageFileName() są dostępne nazwy pliku obrazu; public unikaj setImageFileName(String imageFileName) this.nazwaPlikuObrazu = NazwaPlikuObrazu; organizacja
pakiet.o7planning.serwletprzykłady;import java.io.IOException;import java.sql.Połączenie;importuj java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.ServletException;importowanie javax.servlet.adnotation.WebServlet;importowanie javax.servlet.http.HttpServlet;importowanie javax.servlet.http.HttpServletRequest;importowanie javax.servlet.http.HttpServletResponse;import org.o7planning.servletexamples.model.Person;import org.o7planning.tutorial.jdbc.ConnectionUtils;// /obraz?id=123@WebServlet(wzorce adresów URL mogą mieć postać „/obraz”)public class DisplayImageServlet rozszerzony HttpServlet { prywatny statyczny przez długi czas serialVersionUID = 1L; przeciętny mężczyzna i kobieta DisplayImageServlet() Zdorów(); Prywatne getImageInTable(Connection conn, Long id) wyrzuca SQLException String sql=”Wybierz p.Id, p.Nazwa, p.Dane_obrazu, p.Nazwa_pliku_obrazu”// + “osoba przeciwna p, gdzie p.= id?”; PreparedStatement pstm implikuje połączenie PrepareStatement(sql); pstm.setLong(1, identyfikator); Zestaw wyników rs implikuje pstm.executeQuery(); oczywiście kiedy (rs.next()) Nazwa String = rs.getString(“Nazwa”); byte[] imageData = rs.getBytes(“Dane_obrazu”); String nazwa_pliku_obrazu = rs.getString(“Nazwa_pliku_obrazu”); zwrócić nową kobietę/mężczyznę (dowód osobisty, imię i nazwisko, nazwa pliku obrazu, dane percepcji); deklaracje podatkowe są nieważne; @Zmiażdżyć warstwowy void doGet (wymaga odpowiedzi HttpServletRequest, HttpServletResponse) Opakowanie ServletException, IOException { połączenie conn jest puste; Spróbuj, mając { // Uzyskaj połączenie z bazą danych. // (szczegóły w samouczku) jdbc conn implikuje ConnectionUtils.getMyConnection(); rozszerzony identyfikator = null; Próbować = Long.parseLong(request.getParameter(“id”)); rozbić (z wyjątkiem e) Osoba osoba oznacza getImageInTable(connection, id); jeśli być może (ludzie == null) // Rekordy i nie znalezione, natychmiast przeskocz do wyglądu domyślnego. response.sendRedirect(request.getContextPath() + “/images/noimage.jpg”); wróć do;