2012-11-02 56 views
0

在本示例中,從MySql獲取數據並進行查詢,並將值設置爲SubjectScoreWithSubjectName並存儲在數組列表中。但是這個例子在localhost中通過tomcat服務器的幫助運行在eclipse中。在jboss服務器中部署war文件時發生NoClassDefFoundError/classnotfound異常?

完成這個到我的本地機器後,我想上傳到在線JBOSS服務器,但它顯示以下錯誤。

 type Exception report 

     message 

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

     exception 

     org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 33 

     30: //  out.println("welcome"); 
     31:   String message = "OOps!!! Invalid Username/Password"; 
     32:   request.setAttribute("message", message); 
     33:   request.getRequestDispatcher("/angular-gauge.jsp").forward(request, response); 
     34:  } 
     35:  else 
     36:  { 


     Stacktrace: 
      org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     root cause 

     org.apache.jasper.JasperException: An exception occurred processing JSP page /angular-gauge.jsp at line 56 

     53: 
     54: 
     55:  while (rs.next()) { 
     56:   SubjectScoreWithSubjectName score = new SubjectScoreWithSubjectName(); 
     57: 
     58:   score.setSUBJECT_ID(rs.getInt("SUBJECT_ID")); 
     59: 


     Stacktrace: 
      org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jsp.login_jsp._jspService(login_jsp.java:88) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     root cause 

     javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/table/values/SubjectScoreWithSubjectName 
      org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852) 
      org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) 
      org.apache.jsp.angular_002dgauge_jsp._jspService(angular_002dgauge_jsp.java:1087) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jsp.login_jsp._jspService(login_jsp.java:88) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     root cause 

     java.lang.NoClassDefFoundError: com/table/values/SubjectScoreWithSubjectName 
      org.apache.jsp.angular_002dgauge_jsp._jspService(angular_002dgauge_jsp.java:112) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jsp.login_jsp._jspService(login_jsp.java:88) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     root cause 

     java.lang.ClassNotFoundException: com.table.values.SubjectScoreWithSubjectName 
      java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
      java.security.AccessController.doPrivileged(Native Method) 
      java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
      java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
      java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
      org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) 
      org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) 
      java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 
      org.apache.jsp.angular_002dgauge_jsp._jspService(angular_002dgauge_jsp.java:112) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jsp.login_jsp._jspService(login_jsp.java:88) 
      org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) 
      org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) 
      org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) 
      javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
      org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 


**This is my java class (setter/getter method class)... 

     my com.table.values.SubjectScoreWithSubjectName this class available in Project -> java resources -> src ->com.table.values.SubjectScoreWithSubjectName** 



     package com.table.values; 

     public class SubjectScoreWithSubjectName { 
      private int USER_ID; 
      private int SUBJECT_ID; 
      private int CUMULATIVE_SCORES; 
      private String SUBJECT_NAME; 

      public int getUSER_ID() { 
       return USER_ID; 
      } 

      public void setUSER_ID(int uSER_ID) { 
       USER_ID = uSER_ID; 
      } 

      public int getSUBJECT_ID() { 
       return SUBJECT_ID; 
      } 

      public void setSUBJECT_ID(int sUBJECT_ID) { 
       SUBJECT_ID = sUBJECT_ID; 
      } 

      public int getCUMULATIVE_SCORES() { 
       return CUMULATIVE_SCORES; 
      } 

      public void setCUMULATIVE_SCORES(int cUMULATIVE_SCORES) { 
       CUMULATIVE_SCORES = cUMULATIVE_SCORES; 
      } 

      public String getSUBJECT_NAME() { 
       return SUBJECT_NAME; 
      } 

      public void setSUBJECT_NAME(String sUBJECT_NAME) { 
       SUBJECT_NAME = sUBJECT_NAME; 
      } 


     } 


**so if i have doing anything wrong then tell me . 
thanks in advance.** 

回答

2

com/table/values/SubjectScoreWithSubjectName.class是不是由您的應用程序入店。

嘗試將其納入WEB-INF\lib文件夾,或包含在你的服務器的CLASSPATH

UPDATE

爲Java EE應用程序的基本結構見http://www.servletworld.com/servlet-tutorials/web-application-directory-structure.html

一般來說,你的圖書館(罐子)應該在web-inf/lib和你的班級在web-inf/classes文件夾。

如果com/table/values/SubjectScoreWithSubjectName是一個單獨的類,它應該進入classes文件夾,但是如果它位於應用程序中導入的庫中,它應該轉到lib文件夾。

+0

意味着我可以將我的所有.class文件包含到WEB-INF \ lib文件夾中 – duggu

+0

看到我對此的更新 – MaVRoSCy

+0

仍存在同樣的問題 – duggu

相關問題