zoukankan      html  css  js  c++  java
  • tomcat配置虚拟路径保存、访问图片(转)

    文章完全转载自: https://www.cnblogs.com/magic101/p/7756402.html

    之前配置这些东西一直没保存,每次都要找,干脆自己保存一份,方便直接使用

            一些项目中往往需要上传一些图片文件之类,一般不建议直接保存在数据库内,往往是讲图片等资源保存在服务器的某个文件夹下,传统做法是上传到部署目录下,通过相对路径进行访问。这样当我们系统需要进行升级,进行全量更新的时候,就需要我们先将静态资源拷贝出来,然后项目部署成功之后又复制进部署目录。为了以后软件版本升级的方便,这时就需要这些静态资源放置在服务器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 "%r" %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:	emp" 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来进行配置

  • 相关阅读:
    Python3 从零单排10_xml&configparser
    Python3 从零单排9_json&pickle&shelve
    Python3 从零单排7_模块&os&sys
    Python3 从零单排6_装饰器&生成器&迭代器
    Python3 从零单排5_内置函数
    python3 从零单排4_函数进阶
    Python3 从零单排2_文件读写&集合
    查看innodb表空间
    如何从innodb的数据字典里恢复表结构
    innodb double write buffer
  • 原文地址:https://www.cnblogs.com/huaixiaonian/p/14143802.html
Copyright © 2011-2022 走看看