zoukankan      html  css  js  c++  java
  • tomcat通过虚拟路径访问外部静态资源

    转载:http://blog.csdn.net/yuancenyi/article/details/53414397
    在项目开发中,单个工程中,为了以后软件版本升级的方便,经常将网站运行中某些上传的静态资源,如图片、视频等放置在服务器tomcat目录外面,如E盘的pic文件夹放置图片、video文件夹放置视频,那么等到网站的下次升级时,只有更新网站的war包了,原静态资源可以不用动,例如像百度ueditor控件,上传的图片和视频,默认放置于tomcat的webapps中的工程目录下,那么等到下次更新网站war包时,则先需将上传的图片和视频文件夹拷贝出来,等更新完war之后,再将图片和视频文件夹覆盖到工程目录下,不利于工程的部署和更新,因此适合将静态资源放置在工程目录外面!但是这种情况,用户是不能直接访问服务器外面的静态资源,解决方法一般有两种,第一种就是写相关的action 处理用户的访问请求,如通过数据流来读取图片等,例子可以见博文:
    第二种是配置tomcat服务器的虚拟路径,相当于将配置的指定路径映射成一个web工程,即静态资源处于该虚拟web工程下,那么tomcat就可以直接解析供用户访问!此处以百度控件ueditor为例,将其上传的视频文件存放于服务器外面,具体步骤如下:
    1、设置服务器外放置静态资源的路径,如:

    2、修改ueditor配置文件的config.json中上传视频配置项:

    其中videoUrlPrefix设置为空

    3、修改tomcat服务器conf文件夹下的server.xml文件,添加context标签如下所示:


    其中path是映射的虚拟路径(可视具体情况配置),docBase是静态资源存放的真实物理路径,reloadable指有文件更新时,是否重新加载,一般设置为true后,tomcat不需要重启启动,自动热加载!

    运行后效果如下:

  • 相关阅读:
    MySQL 使用Anemometer基于pt-query-digest将慢查询可视化
    MySQL explain 中key_len的计算
    MySQL explain 详解
    Linux 误删libc.so.6
    Linux crontab 的格式及定义
    Azure容器监控部署(上)
    容器监控部署 -- 整体架构
    Prometheus 介绍
    zabbix自动停用与开启agent
    在jenkins中处理外部命令7z的异常
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/8444186.html
Copyright © 2011-2022 走看看