0
ShowImage.java jspzeigen alternatives Bild von Servlet
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package form;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CriminalPic extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "epolicia", "admin");
PreparedStatement ps = con.prepareStatement("select * from CRIMINAL_PIC where CRIMINAL_ID = ?");
String id = request.getParameter("id");
ps.setString(1,id);
ResultSet rs = ps.executeQuery();
rs.next();
Blob b = rs.getBlob("PICTURE");
response.setContentType("image/jpeg");
response.setContentLength((int) b.length());
InputStream is = b.getBinaryStream();
OutputStream os = response.getOutputStream();
byte buf[] = new byte[(int) b.length()];
is.read(buf);
os.write(buf);
os.close();
}
catch(Exception ex) {
PrintWriter out = response.getWriter();
out.print("../pics/thief.jpg");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
show.jsp
<%out.print("<img width='100%' height='200' src=../CriminalPic?id=" +rs.getString(1) + "></img>");%>
Ich versuche, das Bild aus der Datenbank unter Verwendung von Servlets angezeigt werden soll. Es funktioniert gut, aber für die Alternative, wenn es irgendeine Ausnahme für diesen Fall hat, muss es das alternative Bild zeigen, dessen Pfad angegeben wurde. Aber es zeigt nichts an. Brauche Hilfe !!
immer Fehler bei 'Datei file = new File (getServletContext() getRealPath ("/ Bilder/thief.jpg")..);' Erwartet –
Leider Tippfehler. Entfernen Sie einen zusätzlichen Zeitraum Datei Datei = neue Datei (getServletContext(). GetRealPath ("/ pics/thief.jpg")); – rickz