首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用Part.getPart()方法时,Servlet抛出一个ServletException

当使用Part.getPart()方法时,Servlet抛出一个ServletException
EN

Stack Overflow用户
提问于 2016-09-29 19:24:05
回答 1查看 852关注 0票数 0

我已经编写了servlet代码来将照片上传到我的数据库,当我运行页面并尝试上传照片时,在这一点上我得到了异常

Part filePart = request.getPart("photo");

其中照片是我表单中输入字段的名称,它的代码是

代码语言:javascript
复制
<input type="file" id="photo" name="photo">

Apache tomcat在浏览器中显示的异常报告是

代码语言:javascript
复制
type: Exception report

message: Servlet execution threw an exception

description: The server encountered an internal error that prevented it from fulfilling this request.

exception:

javax.servlet.ServletException: Servlet execution threw an exception

root cause:

java.lang.AbstractMethodError:org.apache.catalina.connector.RequestFacade.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;

      Uploaddp.doPost(Uploaddp.java:57)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

全栈跟踪

代码语言:javascript
复制
Sep 29, 2016 3:44:52 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Uploaddp threw exception
java.lang.AbstractMethodError: org.apache.catalina.connector.RequestFacade.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;
    at Uploaddp.doPost(Uploaddp.java:57)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    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(Unknown Source)
EN

回答 1

Stack Overflow用户

发布于 2016-09-29 19:34:02

没有"file“类型。您需要使用multpart/form-data。更多的参考这篇文章What does enctype='multipart/form-data' mean?也,为了在服务器端获取这个文件,你需要使用一些库,这里解释Convenient way to parse incoming multipart/form-data parameters in a Servlet也,考虑像你在处理后将这些文件存储在服务器上的什么地方。用户可能想要下载上传的图像。此外,围绕这些文件的可访问性的安全性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39768936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档