错误
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;
at com.xinge.storage.servlet.UpLoadFileServlet.doPost(UpLoadFileServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
Truncated. see log file for complete stacktrace
>
代码public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String key = request.getParameter("key");
key=key.trim(); if(key ==null || "".equals(key)){
key = System.currentTimeMillis()+"";
} Part part = request.getPart("file");
String head = part.getHeader("content-disposition"); String fileName = getFinalFileName(head);
//项目的部署路径 tomcat获取项目部署路径方法不适用于weblogic项目
//String path = request.getServletContext().getRealPath("/files");
String path=this.getClass().getClassLoader().getResource("/").getPath();
String s[] = path.split("WEB-INF");
//写入磁盘
InputStream is = (InputStream) part.getInputStream();
FileOutputStream fos = new FileOutputStream(s[0]+"files/"+fileName);
byte[] b = new byte[512]; while((is.read(b)) != -1){
fos.write(b);
}
is.close();
fos.flush();
fos.close();
try {
//发布消息
new Provider().sendMessage("FILES", "<upl/>"+s[0]+"files/"+fileName+ "<key/>" + key);
//数据插入数据库
new FilesDao().addFile(key,fileName,"/files/"+fileName); List<ArchiveFile> list = new FilesDao().getFiles(); request.setAttribute("list",list);
//System.out.println(list);
}catch (Exception e){
request.setAttribute("msg", "上传失败");
e.printStackTrace();
}
request.getRequestDispatcher("page/index.jsp").forward(request, response);
}在自己的weblogic上运行没事jdk1.7 公司的weblogic jdk1.6服务器上就报错了 我怀疑是公司服务weblogic jdk版本太低导致的,求救大神
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getPart(Ljava/lang/String;)Ljavax/servlet/http/Part;
at com.xinge.storage.servlet.UpLoadFileServlet.doPost(UpLoadFileServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
Truncated. see log file for complete stacktrace
>
代码public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String key = request.getParameter("key");
key=key.trim(); if(key ==null || "".equals(key)){
key = System.currentTimeMillis()+"";
} Part part = request.getPart("file");
String head = part.getHeader("content-disposition"); String fileName = getFinalFileName(head);
//项目的部署路径 tomcat获取项目部署路径方法不适用于weblogic项目
//String path = request.getServletContext().getRealPath("/files");
String path=this.getClass().getClassLoader().getResource("/").getPath();
String s[] = path.split("WEB-INF");
//写入磁盘
InputStream is = (InputStream) part.getInputStream();
FileOutputStream fos = new FileOutputStream(s[0]+"files/"+fileName);
byte[] b = new byte[512]; while((is.read(b)) != -1){
fos.write(b);
}
is.close();
fos.flush();
fos.close();
try {
//发布消息
new Provider().sendMessage("FILES", "<upl/>"+s[0]+"files/"+fileName+ "<key/>" + key);
//数据插入数据库
new FilesDao().addFile(key,fileName,"/files/"+fileName); List<ArchiveFile> list = new FilesDao().getFiles(); request.setAttribute("list",list);
//System.out.println(list);
}catch (Exception e){
request.setAttribute("msg", "上传失败");
e.printStackTrace();
}
request.getRequestDispatcher("page/index.jsp").forward(request, response);
}在自己的weblogic上运行没事jdk1.7 公司的weblogic jdk1.6服务器上就报错了 我怀疑是公司服务weblogic jdk版本太低导致的,求救大神
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货