请问这是怎么回事?我在java文件里写个main执行没事,为什么在jsp里会出面这样的错误?说我jsp的类没有编译!org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 20 in the jsp file: /user/list.jsp
Generated servlet error:
C:\Program Files\tomcat\work\Catalina\localhost\_\org\apache\jsp\user\list_jsp.java:68: 无法访问 org.hibernate.HibernateException
找不到文件 org\hibernate\HibernateException.class
list = h.query("from AdUserinfo");                          ^
1 错误org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)jsp的部分代码如下:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="Action.Dao.Hdao" %>
<%@ page import="Bean.AdUserinfo" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
<title>用户列表</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="user list">
    </head>
    <body>
<% 
List list = null;
Hdao h = new Hdao();
list = h.query("from AdUserinfo");
for(int i=0;i<list.size();i++){
AdUserinfo user = (AdUserinfo) list.get(i);
out.println(user.getUsername());
}
%>
    </body>
</html>

解决方案 »

  1.   

    好像就是打不开session,我就留了List list = null; Hdao h = new Hdao();这两行,之后页面上报错是这个type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: org/hibernate/Session
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.user.list_jsp._jspService(list_jsp.java:74)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NoClassDefFoundError: org/hibernate/Session
    org.apache.jsp.user.list_jsp._jspService(list_jsp.java:64)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
      

  2.   

    An error occurred at line: 20 in the jsp file: /user/list.jsp你的20行是哪一句?
      

  3.   

    就是这个... list = h.query("from AdUserinfo");我把这句删了以后,就报错说session有问题了!
      

  4.   

     Hdao 这个类里面写的有问题. 检查一下
      

  5.   

    那为什么我在里面写个main方法就可以执行啊?
      

  6.   

    你不贴出来  怎么给你看?
    这种问题很明显,你去了... list = h.query("from AdUserinfo");
    它就有错  那这个问题从哪儿来的呢?Session 在哪儿用过?追根还不是你在Hdao里面写关于
    操作数据库的语句.
    所以你仔细查看 
      

  7.   

    看下你的发布环境中是否有这个类: org.hibernate.HibernateException 
      

  8.   

    楼上的是指tomcat里的发布吗?我没有发,直接把localhost:8080改成这个工程的目录了...我该怎么查啊!?反正一到网页里就不行,是不是import的时候出错了啊?以前没这样过,我直接就能用...