我正在创建一个 JSF 应用程序,并且我有一堆图像(头像)作为 blob 存储在我的数据库中。我正在尝试创建一个 servlet,以便我可以调用诸如“/imageServlet?123”之类的 url,它将调用我的 servlet,传递 123 作为 id 等并输出 Stream。
我对 Spring 很陌生,但我读了一些书,看起来我需要使用 MVC,但我很困惑类和方法声明需要是什么样子。我需要使用@Controller注释吗?我真的只需要一个像样的例子,这样我就可以遵循它并知道在哪里放置我的代码。
目前我的类(class)是这样声明的
public class ImageServlet extends HttpServlet {
...
@Override
protected void doGet(HttpServlet request, HttpServletResponse respose) {
...
}
}
我假设这是错误的,但我找不到任何如何在 Spring 中执行此操作的示例。一点指导将不胜感激。谢谢。
最佳答案
如果您不需要访问 spring 上下文,您可以安全地拥有一个像您展示的那样的 servlet。您只需使用 request.getParameter("id")
(带有 /imageServlet?id=123
类型的 url)。
但是,如果您需要访问 spring bean,以便可以获得与传递的 id 相对应的用户,那么您可以使用 @Controller
,其方法如下:
@RequestMapping("/image/{id}")
@ResponseBody
public byte[] getImage(@PathVariable int id) {
// load the image into a byte array and return it
}
关于java - 帮助使用 Spring 创建图像 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068692/