JSF 在不同的 Servlet 中从数据库/DAO 加载图像



我一直在阅读BalusC的指南,了解如何使用单独的Servlet通过BufferedOutputStream将图像的byte[]表示附加到HttpServlet响应中,并认识到这是必要的,因为HTML Img标签引用URL/不能接受字节流。

http://balusc.blogspot.co.uk/2007/04/imageservlet.html

我在改编BalusC的例子时遇到的问题是我在JSF后面使用Spring and Spring Data JPA,所以我的ImageDAO实际上是一个Spring Data JPA存储库,它位于不同的Servlet(JSF Servlet(后面。

有什么方法可以让我获得 ImageRepository 的句柄,它是由 JSF Servlet 后面的 Spring 容器策划的?

我预计对于那些将 IoC 用于他们的应用程序并诉诸于编写单独的 Servlet 来满足 HTML Img 标签的需求的人来说,这是一个常见的绊脚石。编写一个单独的 Servlet 并试图获得另一个 Servlet 的句柄感觉就像是设计的幽灵/肮脏的黑客!

两条魔术线似乎是:

WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
    yourRepository = (YourRepository) context.getBean("yourRepository");

最新更新