spring mvc 3.0中的水滴图像渲染

spring mvc 3.0中的水滴图像渲染,spring,jsp,servlets,Spring,Jsp,Servlets,我正在尝试读取来自数据库的blob类型图像。我在控制器中的方法。只有图像文件显示在JSP上,没有其他显示 @RequestMapping(value = "/showDetails") public ModelAndView showDetails(@RequestParam("doc") int id, HttpServletResponse responce) { ModelAndView mView = new ModelAndView(); File fi

我正在尝试读取来自数据库的blob类型图像。我在控制器中的方法。只有图像文件显示在JSP上,没有其他显示

@RequestMapping(value = "/showDetails")
public ModelAndView showDetails(@RequestParam("doc") int id,
        HttpServletResponse responce) {
    ModelAndView mView = new ModelAndView();
    File file = documentDao.getFileDetail(id);
    byte[] bytes = null;
    try {
        OutputStream op = responce.getOutputStream();
        int length = (int) file.getContent().length();
        bytes = file.getContent().getBytes(1, length);
        op.write(bytes);
        op.flush();
        op.close();
        responce.setContentType("image/gif");
        mView.addObject("image", op);
    } catch (Exception e1) {
        e1.printStackTrace();
    }

    mView.addObject("file", file);
    mView.setViewName("filedetails");
    return mView;
}

在我的控制器类中使用上述方法。我想在JSP上呈现图像和一些文本。但浏览器中只有图像。

在Spring中不能这样做(更准确地说,在servlet中)。创建两个不同的控制器——一个提供图像,另一个返回带有文本的JSP页面。要在页面上获取图像,只需正确设置
img
标签的
src
属性值:它应该指向第一个控制器。

我无法格式化此代码。很抱歉,在阅读/理解代码时遇到问题。除了图像之外,您还想显示什么?我想显示一些文本。filedetails.jsp-->
---
由@Slava Semushin给出的答案是正确的。如果未渲染图像,则可能是图像的路径不正确。例如,如果您在上下文中运行,则不应使用
/image?
,而应使用
/yourapp/image?
(或者更好-使用
谢谢您的回复,您能给我一些想法或示例吗,我如何通过我的jsp页面调用image controller。您的帮助对我来说将是完整的。您好,我在controller中创建了显示图像的新方法。@RequestMapping(“/images/{imageid}”)@ResponseBody public void image(@PathVariable(“image_id”)long id){int image_id=(int)id;System.out.println(image_id);}而在JSP中,图像标记是“height=”10“width=”10“align=”right>,但我的方法(image)没有在控制器类中调用。当调用
System.out.println
时,输出将转到标准输出(在您的情况下,到服务器的日志文件)而不是客户端。要向客户端显示图像,您应该获取输出流并打印到其中(也不要忘记设置正确的标题)。有关详细信息,请参阅以下文章:您可以共享您的gmail id吗?我可以与您分享我当前的问题。现在我无法调用任何简单的servlet或控制器类中的任何方法(我使用注释{@RequestMapping})。如果你愿意分享你的id,对我来说很容易。什么是“gmail id”?你是说电子邮件地址吗?它应该显示在我的个人资料中,只需单击我的尼克。