0

在我的 image.jsp 中,它将显示一张 facebook 照片。例如,我可以单击一些功能,例如“深色图像”。

<form name="frmImage" action="image" method="post">
    <input type="hidden" name="source" value="${param.source}" />
    <input type="submit" value="Darken" name="darken" />
</form>

在我的 ImageServlet 中,我将进行图像处理以使图像变暗。我使用了 BufferedImage。

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException{

    String source= req.getParameter("source");
    BufferedImage img = null;
    URL url = new URL(source);
    img = ImageIO.read(url);

    if(req.getParameter("darken") != null){
        //do the processing
        this.darkenImage(img);
    }    
    getServletConfig().getServletContext().getRequestDispatcher("/image.jsp").forward(req, resp);
}

现在问题来了,我想如何将处理后的图像返回到我的 jsp 页面?

4

1 回答 1

0

反转步骤链:

  • 在 servlet 中:只需准备一个“图像 URL”,使用 darken/url 等调用处理 servlet。
  • 在 JSP 中一个<img src="imageprocess?param1=...&param2=...">.
  • 在图像处理 servlet 中使用ImageIO.write(response.getOutputStream()).

是否使用第一个 servlet 是您的决定。不要忘记response.setContentType("image/jpeg");左右。

于 2013-09-26T12:51:34.087 回答