我已经在这里看到了许多与此异常相关的问题,并且大多数问题都是通过从apache添加"commons-file-upload"
jar来解决的。我试图使用这个解决方案,我已经为我的所有项目添加了相同版本的jar,但它似乎没有解决问题,我仍然面临着问题。我知道这个问题已被提出,但我想知道是否有人可以帮我解决这个具体问题。这是我的堆栈跟踪:
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getParts()Ljava/util/Collection;
at fr.synomia.v4.ws.remotelayer.ws.rest.RESTServer.getParameters(RESTServer.java:378)
at fr.synomia.v4.ws.remotelayer.ws.rest.RESTServer.parseURLRequest(RESTServer.java:367)
at fr.synomia.v4.ws.remotelayer.ws.rest.RESTServer.access$0(RESTServer.java:354)
at fr.synomia.v4.ws.remotelayer.ws.rest.RESTServer$1.handle(RESTServer.java:67)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)
at org.eclipse.jetty.server.Server.handle(Server.java:346)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:442)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)
at java.lang.Thread.run(Thread.java:662)
当我使用getParts
从我的班级RestServer
调用方法HttpServletRequest
时抛出异常,我一直在寻找信息,它说使用的jar版本必须对于所有项目来说都是一样的,我这样做了,但没有工作。
调用getParts()
:
private Map<String,Object> getParameters(HttpServletRequest request,boolean jsonp, String callback) {
Map<String,Object> lsParameteres = new HashMap<String, Object>();
Collection<Part> parts = null;
try {
parts = request.getParts();//The exception begins here!
如果有人能帮助我,我将不胜感激,谢谢你的时间。最好的问候。
答案 0 :(得分:8)
javax.servlet.http.HttpServletRequest.getParts()
仅适用于Servlet API 3.0
要检查的事项:
WEB-INF/web.xml
配置为使用Servlet API 3.0(或更新版本)WEB-INF/lib
目录中有相同的servlet api 3.1 jar。答案 1 :(得分:0)
我遇到了同样的问题。它发生在我切换到Tomcat 6.当我切换回Tomcat 7时,问题就消失了。