2017-05-31 10 views
0

こんにちは私はサーブレットから画像をロードしようとすると、なぜこのようなことが起こるのかわかりません。サーブレットからJSPへの画像のロード

これは私のJSPです:

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body bgcolor="${pickedBgCol}"> 
    <h3><a href="/webapp2">Home</a></h3> 
    <h3>OS usage</h3> 
    <p>Here are the results of OS usage in survey that we completed.</p> 
    <img src="reportImage" /> 
    </body> 
</html> 

、これが私のサーブレットです:

package hr.fer.zemris.java.servlets; 

import java.awt.image.RenderedImage; 
import java.io.IOException; 

import javax.imageio.ImageIO; 
import javax.servlet.ServletException; 
import javax.servlet.ServletOutputStream; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.jfree.chart.ChartFactory; 
import org.jfree.chart.JFreeChart; 
import org.jfree.chart.plot.PiePlot3D; 
import org.jfree.data.general.DefaultPieDataset; 
import org.jfree.data.general.PieDataset; 
import org.jfree.util.Rotation; 

@WebServlet(name = "usagePieChart", urlPatterns = { "/reportImage" }) 
public class PieChartServlet extends HttpServlet { 

    private static final long serialVersionUID = 1L; 

    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     resp.setContentType("image/png"); 
     ServletOutputStream os = resp.getOutputStream(); 

     PieDataset dataset = createDataset(); 
     JFreeChart chart = createChart(dataset, "OS Usage"); 

     RenderedImage chartImage = chart.createBufferedImage(400, 300); 
     ImageIO.write(chartImage, "png", os); 
     os.flush(); 
     os.close(); 
    } 

私は桟橋のサーバー上でそれを実行すると、これは私が得るものです: enter image description here

あなたは何のアイデアを持っていますか、それはなぜ画像を表示するだろうか?

+0

デバッグをお試しください。ログには何が表示されますか?ブラウザで直接画像をリクエストするとどうなりますか? – Taylor

+0

doGetは実際に呼び出されますか? –

+0

ブラウザで画像を直接リクエストすると、正常に表示されます。 –

答えて

2

imgタグのsrc属性が

例えば、有効なURLを指す必要があります

<img src="/mywebbApp/reportImage" /> 
関連する問題