栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从数据库检索图像并通过Servlet在JSP中显示?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从数据库检索图像并通过Servlet在JSP中显示?

src
的HTML
<img>
元素应该只是指向一个URL。URL是一个网址,就像您在浏览器地址栏中输入的网址一样。可以通过以下方式将Servlet映射到某些URL模式
web.xml
:当您调用与Servlet映射匹配的URL时,将调用Servlet。

您已将servlet映射到的URL模式

/Photos
。输入如下网址

http:// localhost:8080 / YourContextPath
/照片

在浏览器的地址栏中应该显示图像。因此,基本上,假设JSP在相同的上下文路径中运行,则应该这样做:

<img src="Photos" />

或者,当您要使其相对于域根目录时,则需要动态包含上下文路径:

<img src="${pageContext.request.contextPath}/Photos" />

就是说,您的servlet中存在一些问题。您尚未设置内容类型标头。这样,浏览器将不知道如何处理HTTP响应。直接在地址栏中输入其URL时,它将显示“
另存为” 弹出窗口,而在中调用它时则不显示 任何 内容

<img>
。如果是JPG图片,请 致电 之前
添加以下行
response.getOutputStream()

response.setContentType("image/jpeg");

这样,浏览器就会知道这是JPG图像,并会这样显示。另请参阅链接的博客,以获取设置标题的正确方法。

另一个问题是您正在呼叫

request.getSession(false)
null
如果没有会话,它可能会返回。但是您不会在下一行进行检查!所以要么使用

HttpSession session = request.getSession();

使其永远不会

null
,或添加一个

if (session == null) {    // Display some default image or return a 404 instead.    return;}

您想对

userId
和做同样的事情
photoStream
。如果不存在,则显示默认图像或返回404。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号