使用Spring帮助创建图像servlet

0 java jsf spring spring-mvc

我正在创建一个JSF应用程序,我有一堆图像(头像)存储在我的数据库中作为blob.我正在尝试创建一个servlet,所以我可以调用一个url,如"/ imageServlet?123,它将调用我的servlet传递123作为id等等,并输出Stream.

我是Spring的新手,但我做了一些阅读,看起来我需要使用MVC,但我很困惑类和声明需要看起来是什么样的.我需要使用@Controller注释吗?我真的需要一个不错的例子,所以我可以关注它并知道我的代码放在哪里.

目前我的班级是这样宣布的

public class ImageServlet extends HttpServlet {
    ...
    @Override 
    protected void doGet(HttpServlet request, HttpServletResponse respose) {
      ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设这是错的,但我无法找到任何在Spring中如何做到这一点的例子.一点点的指导将非常感激.谢谢.

Boz*_*zho 6

如果您不需要访问spring上下文,您可以安全地拥有一个类似于您展示的servlet.您只需使用request.getParameter("id")(使用类型的URL /imageServlet?id=123).

但是,如果您需要访问spring bean,以便可以获得与传递的id相对应的用户,那么您可以@Controller使用以下方法:

@RequestMapping("/image/{id}")
@ResponseBody
public byte[] getImage(@PathVariable int id) {
     // load the image into a byte array and return it
}
Run Code Online (Sandbox Code Playgroud)