千家信息网

SpringMVC跨服务器上传文件中出现405错误怎么办

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下SpringMVC跨服务器上传文件中出现405错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!S
千家信息网最后更新 2026年11月02日SpringMVC跨服务器上传文件中出现405错误怎么办

小编给大家分享一下SpringMVC跨服务器上传文件中出现405错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

SpringMVC跨服务器上传文件中出现405错误

下面是 应用服务器 的代码

package com.itheima.controller; import com.sun.jersey.api.client.Client;import com.sun.jersey.api.client.WebResource;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest;import java.io.File;import java.util.List;import java.util.UUID; @Controller@RequestMapping("/user")public class UserController {     @RequestMapping("/fileupload3")    public String fileupload3(MultipartFile upload) throws Exception{        System.out.println("跨服务器文件上传....");         //定义上传文件服务器的路径        String path = "http://localhost:9090/uploads/";        System.out.println(upload.getBytes());         //定义上传文件项        //获取上传文件的名称        String filename = upload.getOriginalFilename();        //把文件的名称设置成唯一值,uuid        String uuid = UUID.randomUUID().toString().replace("-","");        filename = uuid + "_" + filename;         //创建客户端对象        Client client = Client.create();         //和图片服务器进行连接        WebResource webResource = client.resource(path + filename);  //相当于创建一个连接对象         //上传文件按        webResource.put(upload.getBytes());         return "success";    }     /**     * SpringMVC文件上传     * @return     */    @RequestMapping("/fileupload2")    public String fileuoload2(HttpServletRequest request, MultipartFile upload) throws Exception {        System.out.println("springmvc文件上传...");         // 使用fileupload组件完成文件上传        // 上传的位置        String path = request.getSession().getServletContext().getRealPath("/uploads/");        // 判断,该路径是否存在        File file = new File(path);        if(!file.exists()){            // 创建该文件夹            file.mkdirs();        }         // 说明上传文件项        // 获取上传文件的名称        String filename = upload.getOriginalFilename();        // 把文件的名称设置唯一值,uuid        String uuid = UUID.randomUUID().toString().replace("-", "");        filename = uuid+"_"+filename;        // 完成文件上传        upload.transferTo(new File(path,filename));         return "success";    }     /**     * 文件上传     * @return     */    @RequestMapping("/fileupload1")    public String fileuoload1(HttpServletRequest request) throws Exception {        System.out.println("文件上传...");         // 使用fileupload组件完成文件上传        // 上传的位置        String path = request.getSession().getServletContext().getRealPath("/uploads/");        // 判断,该路径是否存在        File file = new File(path);        if(!file.exists()){            // 创建该文件夹            file.mkdirs();        }         // 解析request对象,获取上传文件项        DiskFileItemFactory factory = new DiskFileItemFactory();        ServletFileUpload upload = new ServletFileUpload(factory);        // 解析request        List items = upload.parseRequest(request);        // 遍历        for(FileItem item:items){            // 进行判断,当前item对象是否是上传文件项            if(item.isFormField()){                // 说明普通表单向            }else{                // 说明上传文件项                // 获取上传文件的名称                String filename = item.getName();                // 把文件的名称设置唯一值,uuid                String uuid = UUID.randomUUID().toString().replace("-", "");                filename = uuid+"_"+filename;                // 完成文件上传                item.write(new File(path,filename));                // 删除临时文件                item.delete();            }        }         return "success";    } }

springmvc.xml

                                                                                                       

success.jsp

<%--Created by IntelliJ IDEA.User: AdministratorDate: 2018/5/4Time: 21:58To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>Title

上传文件成功

web.xml

    Archetype Created Web Application       dispatcherServlet    org.springframework.web.servlet.DispatcherServlet          contextConfigLocation      classpath:springmvc.xml        1        dispatcherServlet    /         default    org.apache.catalina.servlets.DefaultServlet          debug      0              listings      true        1           characterEncodingFilter    org.springframework.web.filter.CharacterEncodingFilter          encoding      UTF-8            characterEncodingFilter    /*  

index.jsp

<%--Created by IntelliJ IDEA.User: QHCDate: 2019/10/9Time: 13:49To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>文件上传<%--不知道为啥,在台式机可以跑成功,在笔记本就报错,难道是tomcat的版本的原因?--%>

传统文件上传

选择文件:

SpringMVC文件上传

选择文件:

跨服务器上传文件

选择文件:
查看request.getSession().getServletContext().getRealPath("\uploads\")的值

如果遇到报错405,PUT http://localhost:9090/uploads/.........

只需要在文件服务器中的 web.xml 中加入下面的代码

        default        org.apache.catalina.servlets.DefaultServlet                    debug            0                            readonly            false                            listings            false                1    

重点来了~

idea中springmvc跨服务器上传文件报405错误,修改了web.xml一样报错

这个问题是因为你使用的文件服务器的Tomcat使用的是exploded模式部署,修改的Tomcat本地conf下的web.xml对exploded的项目没有生效,此时应该使用war包模式进行部署,本地修改的web.xml文件继续保持修改状态,并且修改Application context不为/,可以修改为:/+任意文件名

然后再重新部署一下Tomcat服务器,此时不再报错。(注意要修改一下代码中的文件上传路径)

以上是"SpringMVC跨服务器上传文件中出现405错误怎么办"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 服务器 服务 名称 错误 对象 代码 篇文章 选择 怎么办 位置 内容 文件夹 模式 组件 路径 普通 成功 不怎么 传统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技巨头监管 互联网公司 科技公司 华宇互联网科技 猪兼强互联网科技 互联网科技作文 鑫亿盛互联网科技 互联网科技的未来发展 华中科技有哪些互联网大佬 互联网科技产品 广州慧亚互联网科技怎么样 昭通云南众福互联网科技有限公司 中化能源互联网科技招聘 贵州叶脉互联网科技有限公司所属行业 阿里互联网科技企业 朱啸虎曾投资哪些互联网科技企业 明优互联网科技有限公司 互联网公司高科技产品 工业互联网科技创业 上海乐五互联网科技有限公司 科技互联网专业工作会议发言稿 广州紫鲸互联网科技 天扬科技互联网广告 海南科技产业互联网平台 老年人脱离互联网科技的作文 富国互联网科技创新基金 广州恒生互联网科技有限 全球顶尖互联网科技公司 互联网科技数字货币 普陀区互联网教育科技管理办法 每日互联网科技新闻
0