以下错误是我编译JSP时出现以下错,请问是什么问题!
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:520)
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)
root cause java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.
org.apache.jasper.xmlparser.UTF8Reader.invalidByte(UTF8Reader.java:615)
org.apache.jasper.xmlparser.UTF8Reader.read(UTF8Reader.java:487)
org.apache.jasper.xmlparser.XercesEncodingDetector.load(XercesEncodingDetector.java:1000)
org.apache.jasper.xmlparser.XercesEncodingDetector.skipString(XercesEncodingDetector.java:951)
org.apache.jasper.xmlparser.XercesEncodingDetector.scanXMLDecl(XercesEncodingDetector.java:1209)
org.apache.jasper.xmlparser.XercesEncodingDetector.getEncoding(XercesEncodingDetector.java:108)
org.apache.jasper.xmlparser.XercesEncodingDetector.getEncodingMethod(XercesEncodingDetector.java:121)
org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:57)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:313)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:170)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

解决方案 »

  1.   

    上面错误是编译以下代码时出现的错!
    <%@ page contentType="text/html;charset=gb2312"%> 
       <%@ page import="Java.sql.*"%> 
       <html> 
       <body> 
       <%Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver").newInstance(); 
       String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=account"; 
       //pubs为你的数据库的 
       String user="sa"; 
       String password="sa";    Connection conn= DriverManager.getConnection(url,user,password); 
       Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 
       String sql="select * from ca_master"; 
       ResultSet rs=stmt.executeQuery(sql); 
       while(rs.next()) {%> 
       您的第一个字段内容为:<%=rs.getString(1)%> 
       您的第二个字段内容为:<%=rs.getString(2)%> 
       <%}%> 
       <%out.print("数据库操作成功,恭喜你");%> 
       <%rs.close(); 
       stmt.close(); 
       conn.close();    %> 
       </body> 
       </html> 
      

  2.   

    代码好象没问题,应该是你的配置文件中的编码设置错误,建议你重新安装TOMCAT,并把虚拟目录的web.xml好好检查一下
      

  3.   

    你在适当的位置加这条语句
      String str="use database_name go"; //database_name是ca_master表的所在的数据库名
      stmt.executeUpdate(str);
    试下就应该没有问题了
    并且检查下你ca_master表第一个和第二个column是否为String 类型