报500错误。

linyu335073217 2010-06-14 05:31:25
我做一个上传图片的JSP页面 数据库中创建了该表。运行老是出先500错 麻烦高手指点


javax.servlet.ServletException: Error instantiating servlet class linyu.com.servlet.UserMerchandiseServlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)


root cause

java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)


root cause

java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)

...全文
303 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiheia 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qiheia 的回复:]
引用 10 楼 linyu335073217 的回复:
引用 9 楼 wzju64676266 的回复:
是不是jar包冲突了啊


冲突是什么一回事啊 请教。呵呵


2个同样的包哦~~~



至于你的问题就是你的包没有找到吗?
把你的包放入到你的工程的lib目录下面,或则放到tomcat的lib目录下面做成公用的。。
[/Quote]

java.lang.ClassNotFoundException: linyu.com.servlet

这个类没有找到吗?
linyu335073217 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qiheia 的回复:]
引用 10 楼 linyu335073217 的回复:
引用 9 楼 wzju64676266 的回复:
是不是jar包冲突了啊


冲突是什么一回事啊 请教。呵呵


2个同样的包哦~~~



至于你的问题就是你的包没有找到吗?
把你的包放入到你的工程的lib目录下面,或则放到tomcat的lib目录下面做成公用的。。
[/Quote]

我把他放到了那里面 现在报错是
type Exception report

message

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

exception

javax.servlet.ServletException: Wrapper cannot find servlet class linyu.com.servlet or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)


root cause

java.lang.ClassNotFoundException: linyu.com.servlet
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:212)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
java.lang.Thread.run(Unknown Source)

qiheia 2010-06-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 linyu335073217 的回复:]
引用 9 楼 wzju64676266 的回复:
是不是jar包冲突了啊


冲突是什么一回事啊 请教。呵呵
[/Quote]

2个同样的包哦~~~



至于你的问题就是你的包没有找到吗?
把你的包放入到你的工程的lib目录下面,或则放到tomcat的lib目录下面做成公用的。。
linyu335073217 2010-06-15
  • 打赏
  • 举报
回复
换论坛。。。呵呵
budetcbc001 2010-06-15
  • 打赏
  • 举报
回复
学习了
linyu335073217 2010-06-15
  • 打赏
  • 举报
回复
[Quote=

2个同样的包哦~~~



至于你的问题就是你的包没有找到吗?
把你的包放入到你的工程的lib目录下面,或则放到tomcat的lib目录下面做成公用的。。

……
[/Quote]
现在报错。呵呵 谢谢你 ,一直在回。
java.lang.NullPointerException
linyu.com.servlet.UserMerchandiseServlet.doPost(UserMerchandiseServlet.java:76)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.6 logs.
linyu335073217 2010-06-14
  • 打赏
  • 举报
回复
自己在顶下。。
linyu335073217 2010-06-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wzju64676266 的回复:]
是不是jar包冲突了啊
[/Quote]

冲突是什么一回事啊 请教。呵呵
wzju64676266 2010-06-14
  • 打赏
  • 举报
回复
是不是jar包冲突了啊
linyu335073217 2010-06-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 leehomwong 的回复:]
500是没找到,可是为什么LZ还有FileItemFactory类没发现这个错误
[/Quote]
我的SERVLET
我没找到该类。





package linyu.com.servlet;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import linyu.com.bean.MemberBean;
import linyu.com.Factory.Factory;
import linyu.com.impl.MerchandiseImpl;

public class UserMerchandiseServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}

/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

HttpSession session = request.getSession();
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<Object> list = new LinkedList<Object>();
MemberBean member = (MemberBean)session.getAttribute("memberBean");
list.add(member.getId());
String extend="";
try {

List items = upload.parseRequest(request);
Iterator it = items.iterator();
while (it.hasNext()) {
FileItem item = (FileItem) it.next();
if (item.isFormField()) {
String str = item.getString("UTF-8");
list.add(str);
} else {
if (item.getName() != null && !item.getName().equals("")) {
String fName = item.getName();
extend = fName.substring(fName.lastIndexOf("."), fName.length());
list.add(extend);

// File tempFile = new File(item.getName());
// File file = new File(sc.getRealPath("/") + savePath,
// tempFile.getName());
// item.write(file);
}
}
}
MerchandiseImpl merImpl=Factory.getMerchandiseImpl();
float str5 = Float.parseFloat(list.get(5).toString());
list.set(5, (float)str5);
if("yes".equals(list.get(6))){
float str7 = Float.parseFloat(list.get(7).toString());
list.set(7, (float)str7);
}

int str8 = Integer.parseInt(list.get(8).toString());
list.set(8, (int)str8);
int flag=0;
if("no".equals(list.get(6))){
flag=merImpl.addMer((Integer)list.get(0), (String)list.get(1), (String)list.get(2),
(String)list.get(3), (String)list.get(4), (Float)list.get(5), (String)list.get(6),
(Float)list.get(5), (Integer)list.get(8), (String)list.get(9), (String)list.get(10));
}else{
flag=merImpl.addMer((Integer)list.get(0), (String)list.get(1), (String)list.get(2),
(String)list.get(3), (String)list.get(4), (Float)list.get(5), (String)list.get(6),
(Float)list.get(7), (Integer)list.get(8), (String)list.get(9), (String)list.get(10));
}
if(flag>0){
Iterator it2 = items.iterator();
while (it2.hasNext()) {
FileItem item = (FileItem) it2.next();
if (item.isFormField()) {
} else {
String pictureName = merImpl.getMerPicture();
System.out.println(pictureName);

File file = new File(sc.getRealPath("/") + "images/shopImage/",pictureName);
item.write(file);
}
}
request.getRequestDispatcher("fg_userUploadOk.jsp").forward(request, response);
}else{
request.getRequestDispatcher("fg_userUploadNo.jsp").forward(request, response);
}
} catch (Exception e) {
e.printStackTrace();
}



// request.getRequestDispatcher("/uploadResult.jsp").forward(request, response);
}

public void init(ServletConfig config) {
sc = config.getServletContext();
}

}


linyu335073217 2010-06-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ivorytower 的回复:]
java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
缺少包了
--
自定义用户包试试。在Window--properties--……
[/Quote]


我开发环境MYEclipse 6.5 在Window--下没该选项
24K純帥 2010-06-14
  • 打赏
  • 举报
回复
500是没找到,可是为什么LZ还有FileItemFactory类没发现这个错误
  • 打赏
  • 举报
回复
java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory
java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
缺少包了
--
自定义用户包试试。在Window--properties--java--build path
linyu335073217 2010-06-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 im110 的回复:]
commons-fileupload JAR包导入到项目lib目录下了吗?
[/Quote]


我的包导入在Referenced Libraries 目录下 包是commons-fileupload-1.2.1.jar
linyu335073217 2010-06-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 linyu335073217 的回复:]
我做一个上传图片的JSP页面 数据库中创建了该表。运行老是出先500错 麻烦高手指点


javax.servlet.ServletException: Error instantiating servlet class linyu.com.servlet.UserMerchandiseServlet
org.apache.catalina.valves.ErrorReportValve.……
[/Quote]


包导入了啊
im110 2010-06-14
  • 打赏
  • 举报
回复
commons-fileupload JAR包导入到项目lib目录下了吗?
javacn_org 2010-06-14
  • 打赏
  • 举报
回复
没有找到 org/apache/commons/fileupload/FileItemFactory
这个类

应该是少导入包了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧