tomcat配置上传文件的保存路径

问题分析:如果将图片上传到服务器的tomcat下的目录作为上传保存图片的路径,则每次更新程序重启tomcat时,都需要进行用户上传图片的备份和恢复。否则将被删除掉。

解决方法:通过配置Tomcta的虚拟路径,即将请求映射到实际的物理路径下,实现上传文件的保存地址和服务器的分离。

配置虚拟路径: 
文件:Tomcat/conf/server.xml 
修改文件配置:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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" />
        <Context path="/upload" docBase="D:\upload"/>
      </Host>

<Host></Host>中添加<Context path="/upload" docBase="D:\upload"/>, 
path:链接请求的地址. 
docBase:保存的本地物理地址,即在D盘下的upload文件夹保存上传的文件。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
公文传输系统 公文传输系统示例源码的目录结构介绍 /GWCS: 案例项目工程源码。 /database: 案例数据库文件。 公文传输系统的安装配置介绍 运行环境: 1 Java平台选择JDK 6.0或更高版本。 2 Web服务器选择Tomcat 5.0或更高版本。 3 数据库服务器选择MS-SQLserver2000或更高版本。 数据库配置步骤: 1 安装MS-SQLserver服务器 2 还原表结构 运行gwcs_ddl.sql文件还原数据库表结构 3 还原表的示例数据 运行gwcs_dml.sql文件还原数据库表的示例数据 Web应用程序配置步骤: 安装MyEclipse开发工具,将GWCS工程导入 1 修改配置文件 1.1 修改Spring配置文件 1.1.1 查找并打开GWCS/WebRoot/WEB-INF/applicationContext.xml文件。 1.1.2 数据库配置 找到“dataSource”定义部分,根据实际情况修改数据库连接属性值,比如连接字符串url、用户名uername和密码password等。 1.1.3 文件上传路径配置 找到“uploadPath”定义部分,根据系统的发布路径来修改文件的上传路径。 1.1.4 保存修改文件。 1.2 修改Velocity配置文件 1.2.1 查找并打开GWCS/WebRoot/WEB-INF/velocity.properties文件。 1.2.2 修改字符集配置 input.encoding = GBK output.encoding = GBK 1.2.3 保存修改文件。 2 发布运行 Tomcat服务器默认安装后使用8080端口,打开浏览器输入以下URL地址访问公文传输系统。 http://localhost:8080/GWCS/index.jsp 注意:如果改变Tomcat服务器端口,访问地址也要相应变更。 管理员用户名: admin 管理员密码: 111111
Jpom是一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件。 项目主要功能及特点: 1、创建、修改、删除项目、Jar包管理 2、实时查看控制台日志、备份日志、删除日志、导出日志 3、cpu、ram 监控、导出堆栈信息、查看项目进程端口、服务器状态监控 4、多节点管理、多节点自动分发 5、实时监控项目状态异常自动报警 6、在线构建项目发布项目一键搞定 7、多用户管理,用户项目权限独立(上传、删除权限可控制),完善的操作日志 8、系统路径白名单模式,杜绝用户误操作系统文件 9、在线管理Nginx配置、ssl证书文件 10、Tomcat状态、文件、war包在线实时管理 特别提醒:在Windows服务器中可能有部分功能因为系统特性造成兼容性问题,建议在实际使用中充分测试。Linux目前兼容良好 Jpom更新日志: v2.5.1 新增功能 【Server】保存邮箱信息时候验证邮箱配置是否正确 【Server】Token 机制采用 jwt 【Server】git 构建新增进度日志输出 【Server】添加操作监控相关 api 和页面功能 【Server】完善 JWT token 过期自动续签功能 【Server】添加前端页面引导系统(使用 introJs) 【Server】访问 ip 限制,支持配置白名单和黑名单来控制 ip 访问权限 【Server】添加服务自启动脚本创建方案,下面贴一下 Server 端自启动方式: 解决BUG、优化功能 【Server】全局网络请求新增 loading 状态控制 【Server】获取构建日志关闭 loading 状态 【Agent】控制台日志支持定时清空,避免日志文件太大 【Server】在线升级状态判断修复 【Server】修复项目获取进程信息失败 【Server】项目文件管理中显示项目文件存放真实目录 【Server】项目文件管理中文件夹不存在时,loading不消失 【Server】文件管理列表不能正常加载二级以上的目录 【Server】添加监控判断用户是否配置报警联系方式 【Server】初始化安装不能自动登录 【Server】页面组件采用国际化采用 zh_cn 【Server】服务器中验证码无法加载 【Agent】解决控制台输出 Failed to check connection: java.net.ConnectException: Connection refused: connect,因为没有关闭对应的 jmx 【Agent】解决首页控制台 java 进程列表慢的问题(采用定时拉取并缓存) 【server】fix bug: 节点列表页面,展开某个节点之后点击操作按钮会出现新的一行无效数据 【server】fix bug: 节点列表页面,在没有安装节点的情况下,点击终端按钮会在控制台报错。点击这里查看对应 issue 【server】fix bug: 节点管理里面的 Nginx 管理,关闭服务的接口参数传递错了。点击这里查看对应 issue 【server】优化系统配置页面的样式,在小屏幕设备上会出现多个竖方向上的滚动条,甚至有时候会遮住底部的操作按钮 【server】ssh 终端命令交互优化(改优化取消之前版本快捷解压功能,删除命令检查) 【server】优化表格的排版和高度等样式,适配页面。
第1个上传组件commons-fileupload =============commons-fileupload ================ common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载。该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。 -下载后解压zip包,将commons-fileupload-1.1.1.jar,和commons-io-1.2.jar(这里我们用的是更新的版本,但是用法是一样的)复制到tomcat的webapps\你的webapp\WEB-INF\lib\下,如果目录不存在请自建目录。 新建一个servlet: FileUpload.java用于文件上传: package com.drp.util.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.*; import java.util.*; import java.util.regex.*; import java.io.*; import org.apache.commons.fileupload.servlet.*; import org.apache.commons.fileupload.disk.DiskFileItemFactory; public class FileUpload extends HttpServlet { private String uploadPath = ""; // 用于存放上传文件的目录 private File tempPath = new File("D:\\Tomcat 5.5\\webapps\\drp1.2\\tempimages\\"); // 用于存放临时文件的目录 public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html; charset=GB18030"); PrintWriter out = res.getWriter(); System.out.println(req.getContentLength()); System.out.println(req.getContentType()); DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory //允许设置内存中存储数据的门限,单位:字节 factory.setSizeThreshold(4096); // the location for saving data that is larger than getSizeThreshold() //如果文件大小大于SizeThreshold,则保存到临时目录 factory.setRepository(new File("D:\\Tomcat 5.5\\webapps\\drp1.2\\tempimages")); ServletFileUpload upload = new ServletFileUpload(factory); // maximum size before a FileUploadException will be thrown //最大上传文件,单位:字节 upload.setSizeMax(1000000); try { List fileItems = upload.parseRequest(req); // assume we know there are two files. The first file is a small //

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值