HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /WebRoot/Test/ServletFind.jsp(3,8) Invalid directive
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause org.apache.jasper.JasperException: /WebRoot/Test/ServletFind.jsp(3,8) Invalid directive
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:86)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:515)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1552)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.是一个关于从数据库查询数据的jsp

解决方案 »

  1.   

    这个错误得贴出ServletFind.jsp中的代码来
      

  2.   

    不是说的恨清楚吗
     /WebRoot/Test/ServletFind.jsp(3,8) 
    ServletFind.jsp的第三行第8个字符有错
      

  3.   

    我想应该是语法jsp中字符串的语法错误
      

  4.   

    <%@ page language="java" contentType="text/html; charset=GB18030" import="java.sql.*,com.zsf.DataBase,java.sql.*"
        pageEncoding="GB18030"%>
        <%@ import="DataBase"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
    <title>Insert title here</title>
        <%
        Statement t=null;
        ResultSet r=null;
        String name=request.getParameter("name");
        DataBase db=new DataBase();
        Connection conn=db.connction(); 
        try{
            t=conn.createStatement();
            r=t.executeQuery("select * from user where name='"+name+"'");
            while(r.next()){
       %>
       <table>
          <tr>
            <td><%=r.getString("name")%></td>
            <td><%=r.getInt("age")%></td>
            </tr>
            <% 
            }
        }catch(Exception e){
         e.printStackTrace();
        }finally{
         db.close();
        }
    %>
    </table>
    </head>
    <body>
       
    </body>
    </html>
     我的DabaBase是一个关于数据库连接与释放的类,位于com.zsf这个包下,我不知道怎么引入就有了上面的两个import,另外去掉<%@ import="DataBase"%>
    时,就报出另外一种错 Only a type can be imported. com.zsf.DataBase resolves to a package,DataBase cannot be resolved to a type
    我也不知道什么回事了 
      

  5.   

    <%@ import="DataBase"%>  去掉
      

  6.   

    。。
    <%@ page import=""%>
      

  7.   

    请注意了,你导入了两个java.sql.*。
      

  8.   

    <%@ page language="java" contentType="text/html; charset=GB18030" import="java.sql.*,com.zsf.DataBase,java.sql.*" 
        pageEncoding="GB18030"%> 
        <%@ import="DataBase"%> 引了2次sql.*
      

  9.   

    听了大伙的 都修改过来了 修改部分如下:
    <%@ page language="java" contentType="text/html; charset=GB18030" import="java.sql.*,com.zsf.DataBase"
        pageEncoding="GB18030"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    可是又出现下面的错误 是不是【import="java.sql.*,com.zsf.DataBase"】这里引入的有问题,我的com.zsf包在src下, jsp在webroot的test包下
    org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
    Only a type can be imported. com.zsf.DataBase resolves to a packageAn error occurred at line: 8 in the jsp file: /WebRoot/Test/ServletFind.jsp
    Generated servlet error:
    DataBase cannot be resolved to a typeAn error occurred at line: 8 in the jsp file: /WebRoot/Test/ServletFind.jsp
    Generated servlet error:
    DataBase cannot be resolved to a type
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
    Only a type can be imported. com.zsf.DataBase resolves to a packageAn error occurred at line: 8 in the jsp file: /WebRoot/Test/ServletFind.jsp
    Generated servlet error:
    DataBase cannot be resolved to a typeAn error occurred at line: 8 in the jsp file: /WebRoot/Test/ServletFind.jsp
    Generated servlet error:
    DataBase cannot be resolved to a type
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
      

  10.   

    你把import="java.sql.*,com.zsf.DataBase" 换成
    import="java.sql.*,com.zsf.*"
    试一试 
      

  11.   

    建议lz把com.zsf包拷贝出来试一下!
      

  12.   

    <%@ import="com.zsf.DataBase"%> 
      

  13.   

        <% 
        Statement t=null; 
        ResultSet r=null; 
        String name=request.getParameter("name"); 
        DataBase db=new DataBase(); 
        Connection conn=db.connction(); 
        try{ 
            t=conn.createStatement(); 
            r=t.executeQuery("select * from user where name='"+name+"'"); 
            while(r.next()){ 
      %> 
      <table> 
          <tr> 
            <td> <%=r.getString("name")%> </td> 
            <td> <%=r.getInt("age")%> </td> 
            </tr> 
            <% 
            } 
        }catch(Exception e){ 
        e.printStackTrace(); 
        }finally{ 
        db.close(); 
        } 
    %> 
    </table> 
    你应该把上面的代码
    放到<body>
    </body>
    中吧
      

  14.   

    <head></head>
    中没有<table></table>标记
      

  15.   

    还有你这
    逻辑有问题
     while(r.next()){ 
      %> 
      <table> 
          <tr> 
            <td> <%=r.getString("name")%> </td> 
            <td> <%=r.getInt("age")%> </td> 
            </tr> 
            <% 
            } 
        }catch(Exception e){ 
        e.printStackTrace(); 
        }finally{ 
        db.close(); 
        } 
    %> 
    </table>