精华内容
下载资源
问答
  • Tomcat配置虚拟文件路径 1、编辑tomcat的conf目录下server.xml 在 <Host name=“localhost” appBase=“webapps”…中添加 <Context path="files" reloadable="true" docBase="/tomcatVirtualDir" debug="" /&...

    Tomcat配置虚拟文件路径

    1、编辑tomcat的conf目录下server.xml

    在 <Host name=“localhost” appBase=“webapps”…中添加

    <Context path="files" reloadable="true" docBase="/tomcatVirtualDir" debug="" />
    

    其中 path=“files” :为配置的虚拟路径
    docBase=“/tomcatVirtualDir” :为文件存储的物理路径
    如:在tomcatVirtualDir目录下面存储有文件:
    在这里插入图片描述

    2、保存文件server.xml,重启tomcat

    3、编写测试文件tomcat_virtual.html

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>文件服务器测试</title>
    </head>
    
    <body>
    
    <div class="userC clear">
        <div class="userCd"><a href="http://ip:端口/files/spring-boot-reference5.pdf">下载pdf文件</a></div>
    </div>
    
    <div class="userC clear">
        <div class="userCd"><p>显示图片:  <img src="http://ip:端口/files/头像.png"></img></p></div>
    </div>
    
    </body>
    </html>
    
    

    其中,

     <div class="userCd"><a href="http://ip:端口/files/spring-boot-reference5.pdf">下载pdf文件</a></div>
    

    地址中包含的,**/files**即为配置得虚拟路径地址

    4、运行tomcat_virtual.html 测试

    在这里插入图片描述

    点击“下载pdf文件”
    在这里插入图片描述
    符合预期, 客户端通过地址的形式获取到了服务器上存储的文件。

    展开全文
  • 初学小白,在网上搜索都是说按照那个文件路径启动 tomcat 里bin/startup.sh文件, 可是osx10.1里面的文件路径是中文,将下载后的tomcat放在桌面上,应该在终端里怎么 输入这个文件路径
  • 1:配置tomcat设置访问上传文件路径 2: 百度UEditor 上传组件 使用虚拟路径映射配置【方法不好侵染代码】 3: 其他解决办法说明 java单体项目上传文件都会放到类似 "D:\server\tomcat 8.5.8081\webapps\project...

    好记星不如烂笔头,这里记录平时工作中用到的东西,不喜可以留言。

    目录

    1:配置tomcat设置访问上传文件路径

    2: 百度UEditor 上传组件 使用虚拟路径映射配置【方法不好侵染代码】

    3: 其他解决办法说明


    java单体项目上传文件都会放到类似 "D:\server\tomcat 8.5.8081\webapps\projectname\upload"的一个目录,放置上传的文件。但是多人发布或者使用自动化部署工具经常误操作或者忘记备份upload文件夹导致上传的图片、资料、视频等丢失;

    其实目前来说,除了放到tomcat里面,还可以放到 ftp、oss、fastdfs 等各种存储和应用分离的地方。

    这里是通过tomcat配置,可以解决小型项目单体服务器分布式处理上传文件的痛点。

     

    1:配置tomcat设置访问上传文件路径

    a: 我们通过tomcat配置,把原来的上传文件放到项目内部的目录映射到tomcat外部,如 类似”D:\server\projectnameUploadRoot\upload“。

    b:注意目录需要提前创建好, 否则可能tomcat启动失败

    c:需要修改配置文件是:D:\server\tomcat 8.5.8081\conf\server.xml

    tomcat/conf/server.xml配置上传虚目录

    <!--代码片段,具体自己修改tomcat/cong/server.xml中的<Host节点把-->
     <!--path是http请求地址,docBase是操作系统文件路径(相对、绝对都可以)-->
     <Context docBase="../../hiberUploadRoot/upload" path="/hiber/upload/"/>
     <Context docBase="E:\picture\upload" path="/hiber/upload/"/>
     <Context docBase="/Users/hiberUploadRoot/upload" path="/hiber/upload/"/>

     

     

    2: 百度UEditor 上传组件 使用虚拟路径映射配置【方法不好侵染代码】

    解决ueditor上传文件到tomcat虚拟路径等问题【【好】】

    第一步里面设置了映射目录,发现百度UEditor还是不行,看源码为啥。

    UeEditor处理上传的webapp/ueditor/jsp/controller.jsp

    UEditor设置后台controller的地方

     

    3: 其他解决办法说明

    A: 写个互备的bat/powershell脚本 在windows下任务计划每天不定时的去执行 或者使用shell 实时同步目录

    B: LemonOa上传的文件都在webapp外边,就是下载显示需要实现一个controller。具体是
    LemonOA目前就是定义了一个参数store.baseDir作为所有附件的根目录,然后读取都以这个目录为根,不同模块使用不同前缀区分,目录采用时间+uuid的方式避免重复,数据库里保存相对路径和文件名等元数据。
    对,上传没有什么区别,但是下载和显示时需要controller,所以比放在webapp里麻烦
    如果想做得更好,下载和显示时,还要处理fileName和content-type,所以工作量会多一些

    C: linux/windows 实时同步目录,项目中已经实践,参见自己的博客-检测目录、文件夹实时

    D: 使用其他云存储,比如 aliyun OSS(按量特别便宜)、FastDFS等

    展开全文
  • Tomcat配置虚拟路径使上传文件和服务器分离

    虚拟目录

    方法

    1).server.xml

    打开Tomcat目录下的/conf/server.xml文件,在Host之前加入下面红色部分的内容。

    <Host name="localhost" appBase="webapps"

                unpackWARs="true"autoDeploy="true">

     <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"

        prefix="localhost_access_log."suffix=".txt"

        pattern="%h %l %u %t &quot;%r&quot; %s %b"/>

       

     <Contextpath="/base/userFiles" docBase="E:\\workSpace\\userFiles"reloadable="true" debug="0"/>

    </Host>

    (1).path : 工程名称+文件路径,当访问path目录下的文件时,实则访问docBase目录下的文件。

    (2). docBase : 文件的真实路径。注意这里如果有文件长传,则将上传的文件路径设置为docBase,而不是path。

     

    2). 打开Tomcat目录下的/conf/web.xml,将下面红色部分listings的属性设置为True。(不是必须)

    <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>true</param-value>

                  </init-param>

                  <load-on-startup>1</load-on-startup>

           </servlet>

      由于配置虚拟目录必须要将listings属性设置为True,这样就将该目录下的所有文件都暴露给了用户,这样也给系统的使用带来了一定的风险。所以,选择使用虚拟目录一定要慎重。

    3)上传文件时需要更改 上传根目录

    更改Global.java 文件 dir 地址

     

    参考

    参考地址:

    (1). http://blog.csdn.net/shehun1/article/details/38519807                   

    (2). http://blog.csdn.net/zjml2412/article/details/49962939

     

    展开全文
  • 一、tomcat配置 1、在tomcat安装目录下找到conf目录(tomcat/conf/service.xml),修改service.xml文件: path:虚拟路径,以 / 开头; docBase:磁盘路径(绝对路径),Windows环境以盘符(D:/template)开始,...

    一、tomcat配置

    1、在tomcat安装目录下找到conf目录(tomcat/conf/service.xml),修改service.xml文件:

    path:虚拟路径,以 / 开头;

    docBase:磁盘路径(绝对路径),Windows环境以盘符(D:/template)开始,linux环境如下;

    reloadable:为 true 时 当web.xml或者class有改动的时候都会自动重新加载不需要从新启动服务;

    <Context path="/template" docBase="/home/template" reloadable="true" />

     

    注:增加的配置需放在<Host></Host>标签内;

    建议docBase的路径不要和tomcat放在一起,首先因为配置虚拟路径就是想做资源服务器,将资源独立出来,放到项目或tomcat中就和将资源放到项目中一样,其次会增加tomcat的负载;

    2、上传

    上传资源时需要将资源上传到docBase(绝对路径)路径下

       @RequestMapping(value = "uploadImg", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
        @ResponseBody
        public Object uploadImg(MultipartFile file, HttpSession session, HttpServletRequest request) {
            SessionContainer s = (SessionContainer) session.getAttribute("sc");
            ResultVo resultVo = new ResultVo();
            resultVo.setCode(ResultEnum.ERROR.getCode());
    //        String call_path = Global.getProperty("VOUCHER_IMAGE_URL");
            String call_path = "/template";
    //        String path = Global.getProperty("VOUCHER_IMAGE_DIR");
            String path = "/home/template/";
            try {
                String fileName = file.getOriginalFilename();
                String date = com.ronglian.bms.commons.utils.DateUtil.getDate("yyyyMMdd");
                String rand = RandomUtil.randomNumbers(3);
                String merchNo = s.getMerchNo();
                if (StringUtils.isBlank(merchNo)) {
                    merchNo = Constants.ROOT_ORG_CODE;
                }
                String lastStr = fileName.substring(fileName.lastIndexOf("."));
                path = path + merchNo + "/";
                fileName = date + rand + lastStr;
                File dir = new File(path, fileName);
                if (!dir.exists()) {
                    dir.mkdirs();
                }
                dir.setWritable(true, false);
                file.transferTo(dir);
                // 图片物理路径
                String phy_path = dir.getPath();
                // 图片访问路径
                String filePath = call_path + "/" + merchNo + "/" + fileName;
                logger.info("图片真实路径:" + phy_path);
                logger.info("上传成功,模板路径:" + filePath);
                resultVo.setCode(ResultEnum.SUCCESS.getCode());
                resultVo.setMsg(filePath);
            } catch (IOException e) {
                logger.error("上传出错,原因:", e);
            }
            return resultVo;
        }

    filePath:图片回显路径需要用虚拟路径,如:http://ip:port/template/图片.jpg

    3、保存及回显

    将图片路径保存到数据库,可保存两个,一个图片真实的物理路径,一个为图片的虚拟路径,或只存图片虚拟路径即可;

    注:tomcat配置的虚拟路径中没有配置项目名称,一般项目的资源访问都有项目名,此时需要将项目名称去掉,或者再tomcat中配置虚拟路径时将项目名称配置进去即可。

     

    转载于:https://www.cnblogs.com/fatTmonkey/p/11571967.html

    展开全文
  • Tomcat配置虚拟路径

    2020-08-04 08:56:05
    1.打开tomcat配置文件conf/ server.xml 2.在中间增加一行 <Context docBase="${catalina.base}/webapps/uploadFiles/" path="/csdn/uploadFiles/"/> ${catalina.base}表示tomcat的存放路径,csdn表示项目名称...
  • 问题引入 为什么需要做这件事呢? 在javaWeb项目中,有些操作可能会上传...问题解决:tomcat配置虚拟路径 tomcat有好几种配置虚拟路径的方法,这里说下两种: 第一种:tomcat修改server.xml配置文件 打开所使用
  • 可以这样,文件上传到本地目录例如E\:/tomcat/upload/web 访问这样: http://localhost:8080/project/upload/aa.jpg在服务器中配置映射地址, 以tomcat为例子在conf/server.xml中配置<Host name="localhost" ...
  • tomcat配置虚拟路径保存访问图片, 一些项目中往往需要上传一些图片文件之类,一般不建议直接保存在数据库内,往往是讲图片等资源保存在服务器的某个文件夹下
  • Eclipse中Maven项目配置本地Tomcat对应文件路径 1. 前提条件 这篇Blog是为了在进行Java Web开发时,在Eclipse中创建了Dynamic Web Project,添加上Maven支持后,在部署到本地Tomcat时的对应文件路径情况及设置方法...
  • tomcat 配置虚拟路径

    千次阅读 2018-07-13 22:58:47
    当项目重新部署或者tomcat由于其他原因重启后,这些文件将会消失,势必会影响到现网的生产,所以我们需要把这些文件放到服务器的其他物理路径下,通过tomcat的server.xml 文件配置来对这个路径做映射,使其通过ip...
  • tomcat配置虚拟路径

    2018-08-06 21:34:33
    作用:使tomcat可以访问服务器上其他文件夹中的文件,使服务器与上传文件分离 操作: 1.找到Tomcat/conf/server.xml文件,在文件中添加<Context path="/upload/resources...来配置虚拟路径 <Host appBase="we...
  • 场景:当程序中需要上传很多静态文件时,不适合将存放上传文件的文件夹放在项目里面,因为每次打包部署时会将文件夹覆盖,使服务器的静态文件丢失...1. 1.1tomcat配置虚拟路径 可以参考这篇文章:https://blog.csdn...
  • 遇到问题介绍:项目中头像上传,上传图片到服务器。...解决:可以使用tomcat配置文件将某个请求 映射到 物理路径下 ,完成图片的回显。 具体操作:使用Tomcat虚拟路径 1.修改tomcat配置文件
  • Tomcat配置绝对路径

    2018-04-02 13:42:00
    JSP访问项目工程下的地址 <video width="640" height="264" controls src=...</video> ...需要配置绝对路径的话,需要配置Tomcat 的server.xml 文件 在server.xml文件中的 <Host>...
  • Tomcat配置虚拟路径上传图片 打开tomcat目录下conf文件夹里的sever.xml文件,在<Host></Host>中插入以下内容: <Context path="/upload" docBase="E:\photo\upload" reloadable="true" /> 其中,...
  • tomcat配置默认路径

    2017-08-15 16:46:44
    tomcat 默认是放在webapp目录下的...可以在tomcat 的conf/server.xml 中配置Host ,添加一个工程顶级目录,然后在tomcat 目录下添加项目名称文件夹,把项目放入新文件中;对应访问路径:www+项目名称+域名+端口即可访问
  • tomcat配置访问路径不生效 问题:已经在tomcat的conf/Catalina/localhost/文件夹下xml文件中修改了path为项目路径,但是浏览器访问该项目路径还是报错 解决方法:修改conf/Catalina/localhost/的xml文件名和项目名...
  • 1.在catalina.sh 中设置JAVA_OPTS,例如: JAVA_OPTS='-server -Xms1024m -Xmx1024m -XX:NewSize=128m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=256m -XX:+UseConcMarkSweepGC -XX:+...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,683
精华内容 2,273
关键字:

tomcat配置文件路径