我一直在阅读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");