我需要显示一些查询表单数据库并放入inputstream的图像。我的框架是JSF,我知道通过使用servlet,我可以显示它们。但问题是我的页面中有很多图像放入数据库,现在如果我想从数据库中选择每个图像并在我的xhtml页面中显示,则需要进行大量查询。在一个managedbean中,所有图像都放在输入流列表中,我希望将每个元素显示为页面中的图像。实际上我的要求是从输入流中读取图像并在xhtml页面中显示。任何人体都可以指导我吗?
答案 0 :(得分:0)
如果您使用的是Richfaces,则可以使用<ui:repeat>
来迭代图片列表,并使用<a4j:mediaoutput>
在xhtml example上显示图片,同时参见{{3} }}
和另一个How to use a4j:mediaOutput correctly
答案 1 :(得分:0)
现在,如果我想从数据库中选择每个图像并在我的xhtml页面中显示,则需要进行大量查询
这究竟是如何形成问题的?你有没有测量过性能? “很多疑问”中的瓶颈真的吗?我真的不明白为什么会形成瓶颈。使用正确设计的数据模型应该非常快速,一个自尊的SQL数据库就是为此目的而设计的。
不是你的瓶颈实际上是建立数据库连接的步骤,并且你在每个查询上都这样做,因为你没有使用连接池?如果是这样,那么是的,它会表现得非常慢,这是可以理解的。建立数据库连接可以慢到100~500ms。这正是连接池很久以前发明的原因。然后,只能在“空闲时间”初始化和清理连接,并以线程安全的方式共享/重用连接,因此从它获取连接的时间不应超过10毫秒。
如果您修复数据层以使用合适的连接池,那么您可以继续使用已经的servlet作为特定作业的正确工具。