一些项目中往往需要上传一些图片文件之类,一般不建议直接保存在数据库内,往往是讲图片等资源保存在服务器的某个文件夹下,传统做法是上传到部署目录下,通过相对路径进行访问。这样当我们系统需要进行升级,进行全量更新的时候,就需要我们先将静态资源拷贝出来,然后项目部署成功之后又复制进部署目录。为了以后软件版本升级的方便,这时就需要这些静态资源放置在服务器tomcat目录外面。解决方法一般有两种,第一种就是写相关的action 处理用户的访问请求,如通过数据流来读取图片等。

例如:http://blog.csdn.net/yuancenyi/article/details/53327414

这里介绍第二种:配置tomcat的虚拟映射路径

1、修改Tomcat的server.xml文件

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
 <!-- 设置图片虚拟路径[访问时路径为/photo] -->  
<Context path="/photo" docBase="D:\upFiles" reloadable="true" /> <!-- 也可以这样设置图片虚拟路径 -->
<Host name="10.0.0.123" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="F:\temp" reloadable="false" ></Context> </Host>

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

这时把项目打成war包直接放在tomcat下,是没问题的,运行后效果如下:

但是实际上我需要在eclipse中启动项目,而在eclipse中并不能访问到,尝试了很多,并没有成功。最后呀感谢:http://www.cnblogs.com/gccbuaa/p/7226139.html

在eclipse中配置Tomcat,会在workpace中生成一个server文件,可以发现,工作目录下的server并没有改动。

这里可以通过前面的方式直接在server中配置。

也可以通过eclipse来进行配置

tomcat配置虚拟路径保存、访问图片的更多相关文章

  1. 关于Tomcat配置虚拟路径保存、访问图片

    在项目中往往需要上传一些图片文件之类,一般不建议直接保存在数据库内,往往是讲图片等资源保存在服务器的某个文件夹下,传统做法是上传到部署目录下,通过相对路径进行访问. 这样当我们系统需要进行升级,进行全 ...

  2. Tomcat 配置虚拟路径保存、访问图片

    转载自:https://www.cnblogs.com/magic101/p/7756402.html 配置tomcat的虚拟映射路径 1.修改Tomcat的server.xml文件 <Host ...

  3. Layui 上传图片到磁盘上 + Tomcat 配置虚拟路径

    Layui 上传图片到磁盘上 + Tomcat 配置虚拟路径 Tomcat 配置虚拟路径 找到 eclipse 中 tomcat 下面的 server.xml 文件,在 Host 标签里面添加 < ...

  4. Tomcat配置虚拟路径访问容器外的硬盘资源

    问题: 如果tomcat中上传了很多的图片,会导致tomcat启动的时候会慢,所以应该把图片上传到tomcat容器外部 那么,问题来了: tomcat出于安全考虑,禁止了直接访问外部硬盘资源. 解决: ...

  5. myeclipse中tomcat配置虚拟路径,用于存储及上传图片

    由于双击tomcat后只出现了overview窗口,没有出现Models窗口,如下图所示,故eclipse中的方法不能用. 采用另一种方法 在自己的tomcat的安装目录下 ( 我安装目录的是 D:\ ...

  6. springboot内置tomcat配置虚拟路径

    在Springboot中默认的静态资源路径有:classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classp ...

  7. tomcat 配置虚拟路径

    把图片或者其他的文件传到webapps以外的目录 <Context docBase= "e:\image\"  path= "/uploads"  rel ...

  8. springboot上传文件 & 不配置虚拟路径访问服务器图片 & springboot配置日期的格式化方式 & Springboot配置日期转换器

    1.    Springboot上传文件 springboot的文件上传不用配置拦截器,其上传方法与SpringMVC一样 @RequestMapping("/uploadPicture&q ...

  9. eclipse配置虚拟路径后,每次启动tomcat都会虚拟路径失效的问题解决

    由于,eclipse启动tomcat部署项目并不是直接把项目放到tomcat的webapps目录下的,而是从我们在eclipse配置的外部tomcat中取出二进制文件,在eclipse内部插件中作为t ...

随机推荐

  1. FPGA IN 金融领域

    何为金融: 金融指货币的发行.流通和回笼,贷款的发放和收回,存款的存入和提取,汇兑的往来等经济活动.金融(FIN)就是对现有资源进行重新整合之后,实现价值和利润的等效流通. 金融主要包括银行.证券.基 ...

  2. 适配ios11与iphone x实践

    一.适配iOS11 问题1:项目中有原生与H5的交互,运行在iOS11时,直接漰溃在框架WebViewJavascriptBridge内部. 报错信息:Completion handler passe ...

  3. Oracle Database 10g Express Edition系统文件损坏的解决办法

    1.检查错误代码:ora-10010 亦或是ora-10003,上网找响应的解决办法: 异常状态:登陆不上 常用的方法解决 (1)进入Oracle命令行模式 (2)Shutdown immedaite ...

  4. jquery定时刷新数据

    $(function () { setInterval("startRequest()", 3000); }); function startRequest() { $(" ...

  5. c# 接口实用

    学习接口,还是记下来吧,不然以后忘记,这个东西也不是常用. interface Interface1 {  } 接口中不能有字段, 只能声明方法.

  6. scala 读取文件遇到encode问题(Mac -> remote Linux)

    Source.fromFile(fileName)(enc: Encode),如果遇到错误: java.nio.charset.MalformedInputException: Input lengt ...

  7. [置顶] win10 uwp 参考

    态度随意申请专栏,没想到通过 看了我的博客,都是在别的大神博客看到,然后修改他们的 我看到的大神博客 东邪独孤 http://www.cnblogs.com/tcjiaan/ 老周,买了他的<W ...

  8. angular.js基础

    内置指令 所有的内置指令的前缀都为ng,不建议自定义指令使用该前缀,以免冲突.首先从一些常见的内置指令开始.先列出一些关键的内置指令,顺便简单说说作用域的问题. ng-model 将表单控件和当前作用 ...

  9. Java boolean类型

    有关java boolean类型的定义: The boolean data type has only two possible values: true and false. Use this da ...

  10. LINUX 笔记-VIM常用命令整理

    1.进入insert模式 o:当前行后 O:当前行前 r:替换当前字符 R:替换当前字符直到ESC 2.删除命令 #dw:删除#个word d^:删除至行尾 d$:删除至行首 3. u:撤消 ctrl ...