我的文件存放目录是这样的:
webapps
  |_____NowTime 
           |______WEB-INF
           |         |_____classes
           |                  |____dates
           |                         |________JspCalendar.java
           |                         |________JspCalendar.class
           |______index.jsp       
     
在JspCalendar文件中也加了package dates;
JspCalendar.java 也已经编译通过了 
但是在IE中输入http://localhost:8080/NowTime/index.jsp还是会报以下错误:org.apache.jasper.JasperException: Unable to load class for JSP
javax.servlet.ServletException: dates/JspCalendar (wrong name: JspCalendar)
java.lang.NoClassDefFoundError: dates/JspCalendar (wrong name: JspCalendar)
这个问题在CSDN上也有很多人问,但始终没有找到解决的方法,希望高手指教,很棘手~~~~

解决方案 »

  1.   

    页面引用JspCalendar的地方看一下
      

  2.   

    index.jsp里就下面两行引用了JspCalendar
    <jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/>
      

  3.   

    你这个JspCalendar类的路径对吗?检查下 问题就是出在JspCalendar类上  错误提示是在这个JSP页面上加载不到这个类
      

  4.   

    新建一个test.jsp,运行下面代码看看里面的 CLASSPAHT 是否包含了你说的那个目录
        System.out.println("Header...."); 
        Enumeration<String> e = request.getHeaderNames(); 
        String key; 
        while (e.hasMoreElements()) { 
          key = e.nextElement(); 
          System.out.println(key + "=" + request.getHeader(key)); 
        } 
        System.out.println("Attribute...."); 
        e = request.getAttributeNames(); 
        while (e.hasMoreElements()) { 
          key = e.nextElement(); 
          System.out.println(key + "=" + request.getAttribute(key)); 
        }     System.out.println("Parameter...."); 
        e = request.getParameterNames(); 
        while (e.hasMoreElements()) { 
          key = e.nextElement(); 
          System.out.println(key + "=" + request.getParameter(key)); 
        }     System.out.println("session...."); 
        e = request.getSession().getAttributeNames(); 
        while (e.hasMoreElements()) { 
          key = e.nextElement(); 
          System.out.println(key + "=" + request.getSession().getAttribute(key)); 
        } 
         
        System.out.println("getServletContext ...."); 
        e = this.getServletContext().getAttributeNames(); 
        while (e.hasMoreElements()) { 
          key = e.nextElement(); 
          System.out.println(key + "=" +  this.getServletContext().getAttribute(key)); 
        } 
      

  5.   

    把“brvbar_____classes ”文件夹名改成“classes”
      

  6.   

    这个问题我也碰到好多次了后来稀里糊涂就解决了~~你试试把classes这个文件夹删了再重建~~确保index.jsp中<%@page%>和<jsp:useBean>的dates.JspCalendar导入正确~~然后把你浏览器里的历史记录全清了~~重启服务器看看~~这个时好时坏的~~