在jsp中显示图像时出错

时间:2017-07-15 22:33:40

标签: java html jsp servlets display

首先,我阅读了很多有关此事的帖子,但我无法让这个工作。 我是jsp和web应用程序的新手。我想做的就是显示一个简单的图像。 我在servlet中有这个代码:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    HttpSession sesion = request.getSession();
    String filePath = getServletContext().getRealPath("image.jpg");
    System.out.println(filePath);
    sesion.setAttribute("image", filePath);
    response.sendRedirect("products.jsp");
}

这个代码在jsp:

<img alt="logo" src="${image}"/>

我的网络应用中的文件夹是这样的: folders image

最后,当我的页面加载时,这就是我得到的: image does not display

我想知道这里的错误是什么?为什么它如此复杂(也许它不是,但我真的尝试了很多方法而不是它们的工作)来显示一个简单的图像?

提前感谢您的帮助!

PS:文件夹是正确的,它在println()

中打印没有问题

1 个答案:

答案 0 :(得分:0)

getRealPath()为您提供文件系统中的真实路径。

当您在网络中引用任何资源(图像,js,css)时,它应该可以通过网络访问。

如果您在浏览器中点击“查看源代码”,您可能会在标记中看到fil系统路径:

<img alt="logo" src="C:/whatever-your-path-is/image.jpg"/>

但你需要的是资源的url路径(完整或相对)。

请改为尝试:

sesion.setAttribute("image", "resources/images/image.jpg");