当前位置: 首页 > news >正文

Springmvc中跨服务器文件上传

既然跨服务器,就要开启两个服务器,这里使用两个Tomcat代表两个服务器
文章目录
1.建立图片要上传到的服务器:FileUpload
2.建立上传图片的服务器:Tomcat 9.0.24
3.在Tomcat 9.0.24上部署文件上传的项目,写代码
3.1导入相应jar包
3.2 写一个前端页面
3.3 写后台上传文件代码
1.建立图片要上传到的服务器:FileUpload

 

 2.建立上传图片的服务器:Tomcat 9.0.24


 3.在Tomcat 9.0.24上部署文件上传的项目,写代码
3.1导入相应jar包

<dependencies><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-core</artifactId><version>1.18.1</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-client</artifactId><version>1.18.1</version></dependency></dependencies>

3.2 写一个前端页面

<h3>Springmvc跨服务器文件上传</h3><form action="/user/fileUpload2" method="post"enctype="multipart/form-data">选择文件:<input type="file" name="upload"/><br><input type="submit" value="上传"/></form></body>

3.3 写后台上传文件代码

//跨服务器文件上传
@Controller
@RequestMapping("/user")
public class UserController2 {@RequestMapping("/fileUpload2")public String fileUpload(MultipartFile upload) throws Exception {System.out.println("文件上传");//定义文件上传服务器路径String path = "http://localhost:9090/uploads/";//获取到上传文件的名称String fileName = upload.getOriginalFilename();//防止文件上传被覆盖,将文件名设置为唯一的String uuid= UUID.randomUUID().toString().replace("-","");fileName = uuid+"_"+fileName;//创建客户端对象Client client = Client.create();//和图片服务器进行连接WebResource resource = client.resource(path + fileName);//上传文件resource.put(upload.getBytes());return "success";}
}

 

这里会报一个异常,代码为405,是因为Tomcat的原因,需要到Tomcat的安装目录的配置文件的web.xml文件中添加一个参数

<init-param><param-name>readonly</param-name><param-value>false</param-value>
</init-param>

其次,还有可能报一个异常为500,NoClassDefFoundError,这个异常是因为虽然导入了依赖,但是没有打入。

 最后可能还会报一个异常,是因为

当以上的异常都解决以后,那么:

相关文章:

Springmvc中跨服务器文件上传

既然跨服务器&#xff0c;就要开启两个服务器&#xff0c;这里使用两个Tomcat代表两个服务器 文章目录 1.建立图片要上传到的服务器&#xff1a;FileUpload 2.建立上传图片的服务器&#xff1a;Tomcat 9.0.24 3.在Tomcat 9.0.24上部署文件上传的项目&#xff0c;写代码 3.1导入…...

常见漏洞扫描工具AWVS、AppScan、Nessus的使用

HVV笔记——常见漏洞扫描工具AWVS、AppScan、Nessus的使用1 AWVS1.1 安装部署1.2 激活1.3 登录1.4 扫描web应用程序1.4.1 需要账户密码登录的扫描1.4.2 利用录制登录序列脚本扫描1.4.3 利用定制cookie扫描1.5 扫描报告分析1.5.1 AWVS报告类型1.5.2 最常用的报告类型&#xff1a…...

Vue学习——【第二弹】

前言 上一篇文章 Vue学习——【第一弹】 中我们学习了Vue的相关特点及语法&#xff0c;这篇文章接着通过浏览器中的Vue开发者工具扩展来进一步了解Vue的相关工作机制。 Vue的扩展 我们打开Vue的官方文档&#xff0c;点击导航栏中的生态系统&#xff0c;点击Devtools 接着我…...

恐怖的ChatGPT!

大家好&#xff0c;我是飞哥&#xff01;不知道大家那边咋样。反正我最近感觉是快被ChatGPT包围了。打开手机也全是ChatGPT相关的信息&#xff0c;我的好几个老同学都在问我ChatGPT怎么用&#xff0c;部门内也在尝试用ChatGPT做一点新业务出来。那就干脆我就趁清明假期这一天宝…...

MIPI D-PHYv2.5笔记(12) -- Clock Lane的ULPS

声明&#xff1a;作者是做嵌入式软件开发的&#xff0c;并非专业的硬件设计人员&#xff0c;笔记内容根据自己的经验和对协议的理解输出&#xff0c;肯定存在有些理解和翻译不到位的地方&#xff0c;有疑问请参考原始规范看 LP Mode的Clock Lane ULPS 尽管Clock Lane不包含常规…...

创建网络数据集

目的&#xff1a;主要是用来做路径规划。 第一步&#xff1a;加载用作构建网络数据集的道路网数据到arcmap。 第二步&#xff1a;做打断处理。【如果线数据未做过打断处理&#xff0c;需要做这一步。】 有两种方式【1、编辑器里面的高级编辑器的打断相交线功能&#xff1b;2、…...

从功能到年薪30W+的测试开发工程师,分享我这10年的职业规划路线

求职&#xff1f;择业&#xff1f;跳槽&#xff1f;职业规划&#xff1f; 作为一名初出茅庐的软件测试员&#xff0c;职业发展的道路的确蜿蜒曲折&#xff0c;面对一次次的岗位竞争&#xff0c;挑战一道道的面试关卡&#xff0c;一边带着疑惑&#xff0c;一边又要做出选择&…...

ChatGPT中文免登陆-ChatGPT中文版上线

ChatGPT不支持地区 ChatGPT 是一个开源平台&#xff0c;可在全球范围内使用&#xff0c;不应该存在地区限制。然而&#xff0c;由于某些原因&#xff0c;可能有地区对 ChatGPT 的访问有限制或屏蔽的情况。 如果您发现自己无法访问 ChatGPT&#xff0c;可以尝试以下解决方法&a…...

多线程之最大并行数

4核8线程&#xff0c;采取超线程技术&#xff0c;将一个核心模拟成两个线程。 public class 最大并行数 {public static void main(String[] args) {//向java虚拟机返回可用处理器的数目//getRuntime获取运行状态&#xff0c;获取可用线程数int countRuntime.getRuntime().ava…...

智慧城市发展的基本原理是什么?

智慧城市的建设与发展遵循一定的基本原理。随着智慧城市的持续迭代升级&#xff0c;智慧城市已经从信息化建设与信息技术产品应用阶段&#xff0c;演进到了信息化与城市现代化深度融合阶段&#xff0c;其基本原理也在发生变化。当前&#xff0c;随着数字技术的发展与成熟应用&a…...

技术宅小伙:利用JAVA开发个常用的编辑接口

大家好&#xff0c;今天的任务是创建一个常用的编辑接口。实际上&#xff0c;这个接口是在大约十点半时给我的&#xff0c;他说要在下午上线。我在7号接口完成之后&#xff0c;通过代码和预言室来实现这个业务。 首先&#xff0c;这是一个评论编辑接口&#xff0c;编辑的内容是…...

Image as set points【ICLR 2023 notable top 5%】

Code&#xff1a;https://github.com/ma-xu/Context-Cluster OpenReview&#xff1a;https://openreview.net/forum?idawnvqZja69 前置知识&#xff1a; 1&#xff09;归纳偏置是否有用&#xff1f; 答&#xff1a;有效&#xff0c;但存在一定的限制。强inductive bias的架构…...

10个超级实用的Python技巧

人生苦短&#xff0c;我学Python。离不开它自带的“buff”。 - 简单好用Python的优势很多&#xff0c;最明显的便是简单、易上手。Python的语法非常简单&#xff0c;比如敲“Hello World”&#xff0c;用其他编程语言要敲6-7行代码&#xff0c;用Python只需要1行代码&#xff…...

【Java语法糖】泛型与源码角度分析静态问题

概念 首先聊聊泛型&#xff0c;泛型是JDK5的新特性。泛型是用来指定不同类型来控制形参具体限制的类型。泛型这种语法机制&#xff0c;只在程序编译阶段起作用&#xff0c;只是给编译器参考的&#xff08;运行阶段泛型没用&#xff09;。写了这么多代码应该能知道泛型的优点就是…...

App 抓包提示网络异常怎么破?

背景 当你测试App的时候&#xff0c;想要通过Fiddler/Charles等工具抓包看下https请求的数据情况&#xff0c;发现大部分的App都提示网络异常/无数据等等信息。以“贝壳找房”为例&#xff1a; Fiddler中看到的请求是这样的&#xff1a; 你可能开始找证书的问题&#xff1a;是…...

操作系统-文件系统

一、总论 1.1 直观感受 这一章虽然名义上很简单&#xff0c;但是我个人觉得真的很难&#xff0c;其难度是要远超于 lab3 和 lab4 的。对于 lab3 和 lab4&#xff0c;其难度主要集中于复杂的函数调用关系上&#xff0c;如果理清了函数调用关系&#xff0c;会发现难度就很容易弄…...

虚拟机无法访问外网的问题

配置&#xff1a; 1、虚拟机采用NAT模式进行配置 2、虚拟机IP&#xff1a;192.168.109.101&#xff0c;掩码&#xff1a;255.255.255.0&#xff0c;网关&#xff1a;192.168.109.2 3、虚拟机网络编辑器&#xff1a;网关192.168.109.2&#xff0c;网段192.168.109.0&#xff0c;…...

软件测试【常见】62 道面试题,不背完这些你还想去面试?

01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 02、您认为做好测试用例设计工作的关键是什么&#xff1f; 03、您在从事性能测试工作时&#xff0c;是否使用过一些测试工具&#xff1f;如果有&#xff0…...

聚观早报 | ChatGPT 停止 Plus 付费;李子柒油管广告收益登顶热搜

今日要闻&#xff1a;ChatGPT 停止 Plus 付费&#xff1b;李子柒油管广告收益登顶热搜&#xff1b;亚马逊游戏部门百名员工被裁&#xff1b;国内一公司推出太空葬&#xff1b;苹果将在印度国金融中心开设零售店ChatGPT 停止 Plus 付费 4 月 5 日消息&#xff0c;ChatGPT 目前已…...

对接多个 Neuron 实例,实现多网关协同分析与设备联动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dxTiQ9Lw-1680846960656)(C:\Users\DELL\Desktop\0407技术号四\0407技术号四图片\对接多个 Neuron 实例&#xff0c;实现多网关协同分析与设备联动 图1.png)] 3 月份&#xff0c;eKuiper 团队主要进行…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...