对不起,我需要问这个,但我已经花了三天时间尝试这样做。我正在建立Java Web应用程序,我想将图像包含到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;">
但是,图像没有被发送,只有alt&#34; govno&#34;是写的。我已经尝试了很多路径(相对的,绝对的,改变了数百万次的文件夹结构,无论我能想到什么,在互联网上找到但没有任何帮助)。谁会说这样的事情很难做到?
部署后Tomcat服务器上的文件夹结构为:
webapps
- realestates
|- WEB-INF
|- Files
|- kurac.jpg
答案 0 :(得分:5)
这是一个人在不到一分钟的时间内解释它。
https://www.youtube.com/watch?v=dwjwSYOrnS8
因此需要做两件事:
1.在某个config xml文件中添加此行
<mvc:resources location="/files/" mapping="/files/**"></mvc:resources>
2.使用此行将图像包含到JSP页面中
<img src='<c:url value="/files/korali.jpg"></c:url>' />
答案 1 :(得分:0)
我读了你的问题,我有一个解决你的问题的方法,你可以使用INPUT STREAM在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();
答案 2 :(得分: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配置有问题。 尝试重新安装。
答案 3 :(得分:0)
首先,您必须在WEB-INF
目录之外创建图片文件夹并尝试该代码<img src="${pageContext.request.contextPath}/Files/kurac.jpg"/>
答案 4 :(得分:0)
网页永远不允许访问任何本地文件。
这意味着,如果您在jsp文件中写入img src="c:\imagesfolder\abc.jpg"
,它将无法工作(只能在某些编辑器中工作,但不能在浏览器中工作)。
img src="http://localhost.8080/imageshow/sendimage/12/abc.jpg" width="100" height="100"