tomcat虚拟目录的配置

在项目中遇到了要在jsp中显示服务器硬盘中存储的图片的问题,当然直接引用是不能显示的,我用的服务器是tomcat服务器,一般来说,只能访问tomcat下webapp文件夹下的文件。最终的解决方法就是配置tomcat的虚拟目录,将硬盘的某个目录映射到tomcat下。具体的配置方法为:

1. 在tomcat目录下找到conf文件夹,里边应该没有catalina文件夹,要自己建立。在catalina文件夹下再建立localhost文件夹,在该文件夹下建立文件 a.xml(这个名字是用来在地址栏里访问的)。在xml中加入下边代码:

<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="d:\sadfiles"
reloadable="true">
</Context>


docBase表示程序包的物理绝对路径,这里我的文件夹是存储照片等要在jsp上显示的信息。

同时,在tomcat的conf文件夹下的web.xml中,找到

<servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

将其中listing的值由false改为true,即可在列表中显示了。

访问时,http://localhost:8080/a/   即可在jsp里访问目标文件夹下的文件了。如图:



这里可以点击任意文件,点击图片可以显示,其他文件则是弹出下载框。这里可能遇到的问题是中文名文件报错,原因是tomcat的编码问题,只需要将tomcat的编码改为UTF8即可,修改方法如下:

找到tomcat下的conf文件夹,下边server.xml 中,找到

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
               URIEncoding="UTF-8" />

添加上方的 URIEncoding="UTF-8" 即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值