2017-05-31 60 views
5

我很抱歉,我需要问这个问题,但我已经花了三天的时间来尝试这样做。我正在构建Java Web应用程序,我想将图像包含到JSP页面中。项目名称是realestates,我有文件夹里面的realestates文件夹。将图像插入到jsp页面

我的代码是这样的:

<img alt="govno" src="<%=request.getContextPath() + "/Files/kurac.jpg"%>" style="width: 400px; height: 300px;"> 

这是什么获取页面上生成后,我在浏览器中打开它:

<img alt="govno" src="/realestates/Files/kurac.jpg" style="width: 400px; height: 300px;"> 

,但图像没有dispayed,只有ALT “govno”写入。我已经尝试了很多很多路径(相对,绝对,改变的文件夹结构百万次,以及任何我能想到并在互联网上找到的东西,但没有任何帮助)。谁会说这样的事情会这么难呢?部署后Tomcat服务器上

文件夹结构:

webapps 
- realestates 
    |- WEB-INF 
    |- Files 
    |- kurac.jpg 
+0

加入这一行一些配置XML文件导入到JSP页面不知道任何细节,不可能提供帮助。如果您从浏览器进入相同的路径,会发生什么情况?显而易见的答案是,图像不在你认为的位置。 –

+0

我可以在浏览器中打开它,但我需要输入绝对路径文件:/// C://Users//Lazar//Documents//workspace-sts-3.8.3.RELEASE//realestates//Files//kurac .jpg,但正如我在浏览器中的问题中所写,我得到了src =“/ realestates/Files/kurac.jpg”。这个可以吗? –

+0

我更新了我的问题。我读过的文件路径不能位于OS文件系统的某处,它必须位于服务器上的某个位置。在我甚至没有将镜像部署到服务器之前。我试图将它从服务器引用到文件系统上的某个位置。 –

回答

3

这里有一个家伙在不到一分钟解释它。

https://www.youtube.com/watch?v=dwjwSYOrnS8

所以两两件事是必需的:

1。

<mvc:resources location="/files/" mapping="/files/**"></mvc:resources> 

2.Include图像与该行

<img src='<c:url value="/files/korali.jpg"></c:url>' />  
0

我读了你的问题,我对你的问题的一个解决方案,你可以使用的输入流在JSP页面中添加图像...

这只是示例...并可能有错误,但是这是怎么中插入图片JSP的方式......

Class.forName("com.mysql.jdbc.Driver").newInstance(); 
Connection connection = 
    DriverManager.getConnection(connectionURL, "user", "pass"); 

psmnt = connection.prepareStatement(
    "insert into save_image(user, image) values(?,?)"); 
psmnt.setString(1, username); 

ImageIO.write(image, "png", new File("C://image.png")); 
File imageFile = new File("C://image.png"); 
FileInputStream fis = new FileInputStream(imageFile); 

psmnt.setBinaryStream(2, (InputStream)fis, (fis.length())); 
int s = psmnt.executeUpdate(); 
+0

这不是我所需要的。我只需要在页面上显示图像,并且该图像位于服务器文件系统上。 –

0

看起来你拥有属于自己(和其他人)困惑图像的位置。 从你的问题,这似乎是在webapps/realestates/Files/kurac.jpg,所以这应该工作:

<img src="/realestates/Files/kurac.jpg"> 

从你的第一个评论,它在C:/Users/Lazar/Documents/workspace-sts-3.8.3.RELEASE/realestates/Files/kurac.jpg,所以不会通过http://访问。 这不起作用。

从您以后的评论,它在/webapp/realestates/WEB-INF/Files/kurac.jpg。 WEB-INF内的文件不能公开访问。 这也行不通。

作为最后的手段,将图像文件移动到webapps/ROOT目录。 从您的浏览器中尝试http://localhost/kurac.jpg。 根据需要将localhost替换为您的服务器主机名。如果没有

<img src="/kurac.jpg"> 

,有什么不对您的Tomcat配置: 如果成功,这将正常工作。 尝试重新安装。

+0

没有帮助:( –

0

首先,你必须创建WEB-INF目录以外的图像文件夹,并尝试代码<img src="${pageContext.request.contextPath}/Files/kurac.jpg"/>

+0

也有'WEB-INF'外的文件夹(命名文件)见上面 – AsifAli72090

+0

@Asif.Ali尝试上面的代码它工作fine.i也在我的项目中使用相同的代码 –

+0

我试过这个次 –