springboot前后端传输文件,如何处理multipartfile

作为一个springboot后端开发的萌新学生,前两天在与前端开发人员进行接口对接的时候,前端上传一个csv格式的文件,传输到后端是以multipartfile格式接收的,后端接口如下:

public ResponseVO upload(@RequestParam("uploadFile") MultipartFile uploadFile)

由于对于multipartfile格式不熟悉,我一直尝试将他转换为原本的csv格式,但是在网上,不管是csdn还是Stack Overflow都没有找到比较精确合适的方法。

最终我选择了将文件首先以csv的格式保存在服务器上,然后再根据转存到服务器上的文件来读取,最后再把服务器上的文件删掉。虽然这样是实现了依然是读取csv文件,但是就感觉十分的不得劲,代码如下:

String originalFilename = uploadFile.getOriginalFilename();
//保存路径
String path = destPath + originalFilename;
//生成保存文件
File destFile = new File(path);
System.out.println(destFile);
//将上传文件保存到路径
try {
    uploadFile.transferTo(destFile);
} catch (IOException e) {
    e.printStackTrace();
    return ResponseVO.buildFailure("upload file failed");
}

此前虽然有springboot开发经验但是没有涉及到文件传输相关的知识,想问一下有没有比较简单精确的可以把multipartfile转换为原本文件格式的方法?或者在一般的实际开发中,前后端交互文件是怎么处理的?都是直接读取的multipartfile吗?因为感觉另外保存下来然后再读最后还要删掉实在是有点低效。

2个回答

我也是推荐用阿里的oss,这个文件存储确实比较好用

LancetHazel
LancetHazel 好的谢谢您
3 个月之前 回复

前后端交互文件 建议使用OSS , 前端将文件传至OSS , 将地址返回给后端进行URL 的存储 ,
前端再次下载的时候 也是从OSS 中获取文件。
OSS 很简单, 稍微去查一下就明白了

LancetHazel
LancetHazel 感谢!我去查查
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
springboot中controller层,用multipartfile接前端传来的数据时,文件名乱码

自己打断点看了,在controller层multipartfile一接到前端传来的数据时,文件名就已经成了 ???.后缀名,数据库中的文件名也是乱码,如何解决这个问题?

Springboot图片上传问题,MultipartFile file 一直报空,该如何将前台的文件传递到后台?

``` java public ServerResponse uploadImage(MultipartFile file){ ... ... } ``` 他这个file参数穿不过来,在MultipartFile前面加上 @RequestParam("file") 的话就会报400错误。

springBoot接收MultipartFile文件报错

spring boot用MultipartFile作为参数接收文件报错,代码如下 ``` @ResponseBody @RequestMapping(value = "skuCreate", produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = RequestMethod.POST) public HttpResponse<String> skuCreate(@RequestParam(value = "file") MultipartFile file) { return ""; } ``` 报错如下: com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class java.io.FileDescriptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile["inputStream"]->java.io.FileInputStream["fd"])

springboot接口 接收参数为实体对象跟MultipartFile对象报错。

springboot接口 接收参数为实体对象跟文件对象报错。 方法参数为 A a, B b, @RequestParam MultipartFile frontImg, @RequestParam MultipartFile backImg 如上是可以接受到2个文件到,但是A,B实体类接受不到 @Requestbody A a, @Requestbody B b, @RequestParam MultipartFile frontImg, @RequestParam MultipartFile backImg 这样到话 报错信息如下 ``` { "timestamp": 1532321861450, "status": 415, "error": "Unsupported Media Type", "exception": "org.springframework.web.HttpMediaTypeNotSupportedException", "message": "Content type 'multipart/form-data;boundary=----WebKitFormBoundarywczeDlb5Y86wuQSJ;charset=UTF-8' not supported", "path": "/personalCenter/saveUserRealInfo" } ``` ## 重金求人解决问题

用springboot上传文件第一次访问报找不到临时文件,第二次访问却可以

springboot配置的maxFileSize和maxRequestSize都是-1默认最大的,具体的问题是我的服务器重启后第一个访问会报 找不到系统文件(也就是multipartFile在本地生成的临时文件),第二次访问的时候就是正常的了, 可以成功拿到临时文件,这个很奇怪啊,还要一点要说明的是我的提交文件是通过ajax提交的, 感觉不应该是这个问题影响啊,有没有大神解答一下我的问题啊,报的错误是: C:\Users\vivi\AppData\Local\Temp\tomcat.5767297036735544802.8096\work\Tomcat\localhost\ROOT\upload_b6a6afc6_e5e9_45dd_940c_de6d1f1a1d5c_00000001.tmp (系统找不到指定的文件。)

spring boot表单同时上传文件和json

<form> <input name=filename type="file"> <input type="text" > <form> @PostMapping("vlues") public void addBlackList(HttpServletRequest request, HttpServletResponse response, @RequestParam("filename") MultipartFile file) throws IOException {......} 如上;表单接收一个文件或者文本,文本以JSON的格式POST上传,文件和文本都可以不传其中一个。后台代码怎么写才可以实现文件不传???直接用springboot的MultipartFile,不传文件会报错。救救孩子!!!

springmvc 多文件上传 MultipartFile

<div class="iteye-blog-content-contain" style="font-size: 14px"></div> [code="java"] public String upload2(MultipartHttpServletRequest request, @RequestParam("name") String name){ List<MultipartFile> files = (List<MultipartFile>) request.getFile("myfiles"); } //修改成如下方法,还是报同样下面的错误: public String upload2(MultipartHttpServletRequest request, @RequestParam("name") String name, // 页面上的控件值 @RequestParam MultipartFile[] myfiles) { List<MultipartFile> files = Arrays.asList(myfiles); } // jsp页面,传一个myfiles,单个文件是可以通过的, [/code] [code="html"] <form method="POST" action="multipartFileUpload.action" enctype="multipart/form-data"> <input type="text" name="name" /><br> <input type="file"name="myfiles" /><br> <input type="file"name="myfiles" /><br> <input type="submit" /><br> </form> [/code] 报错:[code="java"] org.springframework.web.multipart.MultipartException: Multiple files for field name [myfiles] found - not supported by MultipartResolver at org.springframework.web.multipart.commons.CommonsFileUploadSupport.parseFileItems(CommonsFileUploadSupport.java:254) at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:166) at org.springframework.web.multipart.commons.CommonsMultipartResolver.resolveMultipart(CommonsMultipartResolver.java:149) at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1015) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:851) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) at javax.servlet.http.HttpServlet.service(HttpServlet.java:643) at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) [/code]

MultipartFile 读取文件属性,谢谢帮忙

![图片说明](https://img-ask.csdn.net/upload/201901/18/1547797988_853755.jpeg) 怎么在springboot里,用 MultipartFile读取文件中md5的值。谢谢

SringBoot打包jar包文件上传和下载问题

各位前辈,我初学springboot,发现它可以把web应用打包成jar包,并且用java -jar就可以运行,我觉得很神奇。 所以我做一个项目的时候,最后生成一个jar包而已,然后它可以在任何路径下运行。 我想把web应用所需要保存的文件按照图片、音频等文件类型,分别保存在和jar包同级的image、sound等文件夹中,然后使用的时候在这些文件夹下用相对路径获取,也就是直接/image/123.jpg。这样我更新这个jar包版本,文件也不会丢失。 ![图片说明](https://img-ask.csdn.net/upload/201710/28/1509131179_645413.png) 然而我代码是按照打包成war包的方式保存(下载)文件在根目录下的文件夹中。这个方法到jar包下不起作用。 所以想问问各位前辈,有什么办法可以实现这个功能,具体应该如何编写文件上传的代码?还有更新war包会不会删除掉根目录下的图片文件夹? 求前辈们指导。

springboot上传文件的数量不确定,怎样确定参数

在之前测试用单个文件上传时,确定了两个参数、一个是文件本身、一个是目标地址的文件夹名称。 上传的文件要和固定的文件夹名称对应。 ``` public String upload(@RequestParam("file") MultipartFile file, @RequestParam("name") String targetMicroServiceName) ``` 现在想要优化代码到上传多个文件,此时出现了一个问题:就是每一次上传文件的数量不一,有时会上传一个文件,有时上传多个文件,有时上传全部文件。怎样在传递的参数中体现这种形式? 开始的时候我想传递多个文件,就写成file1,file2,name1,name2这种形式,但如果文件数量不固定的话,这种形式就不能要了,请问大神怎样修改

ant+vue+springboot 上传文件时接收不到文件

``` <a-upload name="file" listType="picture-card" :fileList="fileList" :multiple="true" @preview="handlePreview" :beforeUpload="beforeUpload" @change="handleChange" > <div v-if="fileList.length < 1"> <a-icon type="plus" /> <div class="ant-upload-text">Upload</div> </div> </a-upload> ``` js代码如下 ``` var formData = new FormData() formData.append('file', this.fileList[0]); formData.append('userid', '1'); formData.append('systemid', '886'); this.axios( { method: 'post', url: 'http://localhost:8086/rest/uploadFileByMulti', processData: false, data: formData }) .then((response) => { alert(JSON.stringify(response)) }) .catch(function (error) { console.log(error) }) ``` 后台接受代码如下 ``` @RequestMapping("/uploadFileByMulti") @ResponseBody public AjaxResult uploadFileList(@RequestParam("file") MultipartFile file String userid, String systemid) { ...... } ``` 上传时一直报file为空

怎么获取MultipartFile的全路径

现有如下需求:从前台传递人员表给后端,后端用MultipartFile 类型接收,与人员相匹配的图片要放在人员表的同级目录,现在怎么后端怎么读取人员表路径,从而去加载对应位置的人物图片

springboot上传超出文件大小异常无法捕获

我的问题不是怎么设置文件大小,而是超过设置的最大值后,异常怎么捕获,因为在进controller 之前都已经抛出异常了。 有战友解决过吗

mvc 上传文件 MultipartFile参数对像为空

这是 jsp代码 <form:form id="inputForm" modelAttribute="mbSchoolInfo" action="${ctx}/mbschool/mbSchoolInfo/save" method="post" class="form-horizontal" enctype="multipart/form-data"> <div class="control-group"> <label class="control-label">上传文件:</label> <div class="controls"> <form:input path="files" name="file" type="file"/> </div> </div> </form:form> 这是 controller 代码 @RequiresPermissions("mbschool:mbSchoolInfo:edit") @RequestMapping(value = "save" ,method=RequestMethod.POST) public String save(MultipartFile file,HttpServletRequest request,MbSchoolInfo mbSchoolInfo, Model model, RedirectAttributes redirectAttributes) { } 还有配置 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="${web.maxUploadSize}" /> </bean>

本地程序通过MultipartFile形式上传图片,接收为NULL

因项目需要,所以需要做一个从本地的EXE程序中,通过http请求方式往服务器上传图片的功能。现在的错误情况是,http请求成功,但是上传的MultipartFile 文件为空。本人初学者,在线翻了很多帖子都是web对service这种形式的,感觉好像和我的需求不太一样。所以想发个求助帖,想请诸位大神指点一下。代码如下: **EXE端请求代码:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658372_312561.png) ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658736_994495.png) **服务器端接收代码:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658405_19300.png) **之前使用的是没有@Param("file")这个参数的这种:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571665533_108279.png) **服务器端错误log:** ![图片说明](https://img-ask.csdn.net/upload/201910/21/1571658477_566581.png) -------------------------------------------------------------------------------- 通报一下进度,就是目标已经实现了,不过服务器端的接口不使用的MultipartFile。感觉还是自己的MultipartFile设定的有问题,要是有大佬会的话欢迎指导。下面上代码 EXE端: ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572229949_357991.png) 服务器端: ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572229981_269928.png)

MultipartFile文件上传超过500K就报错是什么情况,求大神解答!

![图片说明](https://img-ask.csdn.net/upload/201705/04/1493867887_407622.png) ![图片说明](https://img-ask.csdn.net/upload/201705/04/1493867963_608287.png) 现在项目中涉及到上传的地方都有这样的问题,怎么办?头皮发麻!!!

多文件上传文件数组不为空的判断

今天遇上一件怪事,在做多文件上传时,判断文件数组不为空居然不管用。我是这样判断的, @RequestMapping("filesUpload") public void filesUpload(@RequestParam("files") MultipartFile[] files,HttpServletRequest request,HttpServletResponse response)throws Exception { String patientId = request.getParameter("patientId"); String doctorId = request.getParameter("doctorId"); PrintWriter out=response.getWriter(); if(patientId!=null&&patientId.trim().length()>0&&doctorId!=null&&doctorId.trim().length()>0){ try { int docId=Integer.valueOf(doctorId); ECG ecg=new ECG(); ecg.setDoctorId(docId); ecg.setPatientId(patientId); System.out.println("files:"+files.length); System.out.println("null:"+files==null); //判断file数组不能为空并且长度大于0 if(files!=null||files.length>0){ //循环获取file数组中的文件 for(int i = 0;i<files.length;i++){ MultipartFile file = files[i]; //保存文件 saveFile(file,request,ecg); } 虽然我做了非空判断, if(files!=null||files.length>0),然后我在前端测试,没有选择上传文件 但是后台打印出来的files长度居然为2,files不空。以下是我的前端测试页面代码: <td>医生id:</td> <td><input type="text" name="doctorId" id="doctorId"></td> </tr> <tr> <td>用户id:</td> <td><input type="text" name="patientId" id="patientId"></td> </tr> <tr> <td>选择文件</td> <td><input type="file" name="files" ></td> </tr> <tr> <td>选择文件</td> <td><input type="file" name="files" ><input type="submit" value="提交"></td> </tr> </table> 劳烦知道的大神帮我看一下,具体哪天出错了,调试的时候,明明没有选择有文件,依然跑到if里边去了,找了老半天,试了其他也不奏效。

httpclient 通过流形式上传文件?

页面上上传附件 action里面已经拿到MultipartFile文件对象了,但是该怎么通过httpclient传递给远程服务器啊,还有就是 有2个图片流 服务器怎么区分呢? 求大神指点!

调用post接口怎么传MultipartFile[] files参数?

``` ``````接口信息: public Response<?> upload(@RequestParam(value="files",required=false) MultipartFile[] files,@RequestParam("title") String title,@RequestParam("content") String content) {}; 调用接口: public Response up(@RequestBody Map map){ try { //获取token String token = userAuthenticationHelper.getGroupOAuthToken(); HttpHeaders headers = new HttpHeaders(); if (token != null) { token = token.trim(); token = token.toUpperCase().contains("BEARER") ? token : "bearer " + token; headers.add("Authorization", token); } // MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); MediaType type = MediaType.parseMediaType("application/x-www-form-urlencoded; charset=UTF-8"); headers.setContentType(type); String id = String.valueOf(map.get("id")); RestTemplate r = new RestTemplate(); MultiValueMap<String, Object> param = new LinkedMultiValueMap<>(); List<FileSystemResource> files = new ArrayList<FileSystemResource>(); files.add(new FileSystemResource(new File("E:\\\\hello.doc"))); param.add("files", files); param.add("title", "test.txt"); param.add("content", "test.txt"); HttpEntity<Object> entity = new HttpEntity<>(param,headers); ResponseEntity<Object> dd = r.exchange("http://localhost:30156/v1/ticket/report", HttpMethod.POST, entity, Object.class); System.out.println(dd); return Response.success("上报工单成功!"); } catch (Exception e) { e.printStackTrace(); return Response.fail("上传工单失败!"); }; 不上传文件调用接口是能行的;上传文件报java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String ![图片说明](https://img-ask.csdn.net/upload/201906/12/1560308586_624667.jpg) java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String at org.springframework.http.converter.FormHttpMessageConverter.writeForm(FormHttpMessageConverter.java:292) at org.springframework.http.converter.FormHttpMessageConverter.write(FormHttpMessageConverter.java:254) at org.springframework.http.converter.FormHttpMessageConverter.write(FormHttpMessageConverter.java:89) at org.springframework.web.client.RestTemplate$HttpEntityRequestCallback.doWithRequest(RestTemplate.java:849) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:617) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:580) at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:498) at com.chinamobile.epic.merge.global.ticket.rest.GlobalTicketListController.up(GlobalTicketListController.java:243) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:105) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at com.chinamobile.Application$LoginFilter.doFilter(Application.java:60) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:208) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:107) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at com.chinamobile.epic.oauth.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐