小弟最近开发个程序,jboss4为服务器,,, 有个图片上传,
我是把它上传到d:\filmpicture中,数据库中记录的是地址,怎么才能在项目中显示图片呢,
我在网上查了一下,说用虚拟目录, 可我配了一下,不行哇
这个代码在host中.
<Context path="/movie" docBase="D:\\xm_cinema\\filmProductsPicture" debug="1" reloadable="true" override="true" crossContext="true"/>
网页中
<td align=left class="bg_gray4"><IMG alt="" src="速度与激情52.jpg"/><IMG alt="" src="/movie/速度与激情52.jpg"/><html:img src="/movie/速度与激情52.jpg" /></td>
三种都不行,,帮帮忙,,谢谢了
------解决方案--------------------------------------------------------
本人已经解决:
为保证解决后人疑惑,详细解释方式如下:
1.首先 先来说下自己的错误之错,
(1)那个xml配置方式没有问题,, 问题在于我的项目也是/movie/* 去浏览的,所以跟虚拟目录一样的,所以虚拟 目录加载不出来,
(2)使用的中文的图片名,关于这个中文的图片名,下面将告诉大家怎么解决!
2.
新的做法如下:
<Context path="/pic" docBase="D:\\xm_cinema\\filmProductsPicture" debug="1" reloadable="true" override="true" crossContext="true"/>
xml还是这样配置, 然后启动jboss ,然后测试虚拟目录是否开启,方法为在ie中输入http://127.0.0.1:<port>/pic , 如果输入正确,加载出docBase 下文件列表,如没有没有加载出来,则虚拟目录没有配置好
这样,显示图片的html为
<IMG alt="" src="/pic/图片名.jpg"/>
这个只能显示数字或英文的图片名,要想显示中文的图片名,则要在server.xml
<Connector port="8066" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
在你的配置文件中加入URIEncoding="UTF-8" 指定url为uft-8,
如果src 是接参数,
<td align=left class="bg_gray4">
<% if(request.getSession().getAttribute("filmPictureUrl")!=null && !"".equals((String)request.getSession().getAttribute("filmPictureUrl"))){%>
<img src="<%= (String)request.getSession().getAttribute("filmPictureUrl") %>" width='220' height='130'/>
<%}else{ %>
<font>没有图片!</font>
<%} %>
</td>
但格式 肯定是/pic/文件名.jpg
server.xml 路径为jboss-cinema\server\default\deploy\jbossweb-tomcat55.sar下,
附上一句:本人的jboss版为:jboss 4.0.2 其它版本的没有测试过,
希望能帮到后人,如果还有疑惑,请联系我!!
------解决方案--------------------------------------------------------
null