0

私のmysql dbのblobフィールドから取得した画像を表示する別のjspページを呼び出すjspページを作成しました。

<img src="blob.jsp"> 

できます。しかし、このフォーラムのどこかで、これは正しい方法ではないことを読みました。代わりに、次のようにサーブレットを使用する必要があります。

 <img src="servlet_name">

サーブレットを作成しましたが、これを示す画像が表示されません

ÿØÿàJFIFHHÿí$Photoshop 3.08BIMí ResolutionHH8BIM FX Global Lighting Anglex8BIMFX Global Altitude8BIMó Print Flags 8BIM Copyright Flag8BIM'Japanese Print Flags 8BIMõColor Halftone SettingsH/fflff/ff¡™š2Z5-8BIMøColor Transfer Settingspÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè8BIM Layer State8BIM Layer Groups8BIMGuides@@8BIM URL overrides8BIMSlicesuƒD Untitled-1Dƒ8BIMICC Untagged Flag

これは私の単純なサーブレットです

package Jeans;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.sql.Blob;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/BlobDisplay")
public class BlobDisplay extends HttpServlet {
    private static final long serialVersionUID = 1L;
    GestioneDB gestioneDB ;


    public BlobDisplay() {
        super();       
    }


    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
            {       
        Blob image = null;
        byte[ ] imgData = null ;
        String query = null;
        query = request.getParameter(query);        

        gestioneDB = new GestioneDB();

        ResultSet rs =  gestioneDB.rs("select immagine_principale from news where id ='217'");

            try{
            if (rs.next()) {
            image = rs.getBlob("immagine_principale");
            imgData = image.getBytes(1,(int)image.length());

            response.setContentType("image/jpg");
            OutputStream o = response.getOutputStream();
            o.write(imgData);
            o.flush();
            o.close();
            }
        }
        catch(Exception e){}    
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  

         this.doGet(request,response);
    }

}
4

1 に答える 1