JSP:解决html页面不能显示绝对路径图片问题,以及图片保存到项目webroot文件夹下面不能及时刷新显示问题
程序员文章站
2022-07-10 19:15:28
...
一、解决html页面不能显示绝对路径图片问题
我在upload_servlet.java里将图片保存到了项目所在本地磁盘的位置:
SmartUpload myUpload=new SmartUpload();
myUpload.initialize(config, request, response);
myUpload.upload();
File file=myUpload.getFiles().getFile(0);//导入com.jspsmart.upload包
file.saveAs("E://eclipse-workspace/DrugShop/WebContent/img/drug_img/"+drug_id+".jpg");
(这里的drug_id是我自己定义的一个变量,为了使图片名字不重复)
我在jsp页面想显示本地磁盘的图片:
- 找到本地Tomcat,打开server.xml
- 找到自己项目所在标签(黄色标记是我的项目名)
- 在host内部添加如下代码:
<Context path="/upload" docBase="E:\eclipse-workspace\DrugShop\WebContent\img\drug_img\" reloadable="true"></Context>
(注意看docBase的值,这个路径就是我存放图片的路径。
然后把这个路径取了个别名,叫/upload,赋值给path)
- 接下来在img标签中获取图片路径
<img src="/upload/1.jpg"/>
这样就能成功显示绝对路径为E:\eclipse-workspace\DrugShop\WebContent\img\drug_img\下面的这些图片
图片不能及时刷新显示问题:
- 创建一个随机数对象a
Random a = new Random();
// out.print(a.nextInt(100));//若要生成1-100的随机数则改为a.nextInt(100)+1即可
- 在img标签src属性后面传一个变量r,让其等于随机数,这样每次页面的r都不一样啦,相当于自动刷新页面了
<img src="/upload/1.jpg?r=<%=a.nextInt(100) %>" />