相应的jsp文件<%@page language="java"%>
<%@page contentType="text/html; charset=gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>显示元数据</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
</head>
<BODY>
<%@page import="java.sql.*" %>
<H2>查询结果:</H2>
<jsp:useBean id="data" scope="application" class="test.data">
<%
  String[] strList = new String[5];
  strList = data.getStr();
    for(int l = 1; l<=5; l++)
    { 
        out.println(strList[l]);
}
%>
<H2>终于好了</H2>
      
<A href="query.htm">下一个查询</A>        
</BODY>
</HTML>  
  

解决方案 »

  1.   

    你的大括号的位置不对 .自己找找看.
    try{ }catch(){}
    try后面那两个括号不匹配 ...
    在jb里能显示匹配 .
      

  2.   

    另外出错的是get.java,你怎么贴出些没用的来呀 ?
      

  3.   

    try
    {    try
       {
            //建立连接
              con=DriverManager.getConnection("jdbc:odbc:pubs", "sa","790513");
    第一个try根本就没有catch或者finally对应,这个编辑器都可以告诉你:(
      

  4.   

    我編譯了你的文件,沒有問題,不過你的catch沒有處理我覺得這不是一個好習慣
    雖然跟你的問題無關,我還是要提醒你一下
      

  5.   

    肯定是{}匹配错了。建议整理整理你的程序,可读性太差了,而且不用try{}中套try{}.用editplus等编辑工具看看吧。
      

  6.   

    呵呵,你的try catch的配对不正确啊!
    仔细看看,好象这一段
    有两个try,但只有一个catch
       try
    {    try
       {
            //建立连接
              con=DriverManager.getConnection("jdbc:odbc:pubs", "sa","790513");
            //执行SQL
              Statement stmt=con.createStatement();
    //最多输出 10 条记录
              stmt.setMaxRows(5); 
            //返回结果
              ResultSet rs =stmt.executeQuery("select * from jobs");
    //获取元数据
              ResultSetMetaData rsmd = rs.getMetaData();
            
              int cols = rsmd.getColumnCount();

      //输出查询出来的字段到表头
      for(int j = 1; j <= 5; j++)
      {
    obj = rs.getObject(2);
         if(obj != null)
       str[j] = str[j] + obj.toString();
    else
    str[j] = "aaa";
      }
       }

           catch(SQLException e)
           {
           }
      

  7.   

    我看了一下,你把  try
    {    try
       {
            //建立连接  中的上面那个"try{"去掉,并把
          }
           finally
           {
            //总是关闭数据库连接   中的finally前的"}"应该就可以了
      

  8.   

    try catch 以及{}都是正确的,我已经编译通过了,只是在运行时不正确,错误是web页面显示出来的,运行环境weblogic.
    另:get.java文件我没有用到,看代码可以知道。那可能是weblogic编译get.jsp文件生成的
    那位解决过这个问题,请指教
      

  9.   

    找找机子里weblogic里有没有get.jsp什么的,删了就ok了 ...
    还有,temp里的东西都删了...
    WEB-INF下那个_tmp.....什么的文件夹,删 !
      

  10.   

    try,catch,finally都用吧,而且怎么着也写上个代码,再试试看
      

  11.   

    try
    {    try
       {与下面的不匹配.这样子就可以了
           
    package test;import java.sql.*;
    import java.util.*;public class test
    {
        Connection con = null;
        String[] str = new String[5];
        Object obj = null;
        public void test()
        {
        }
        public String[] getStr()
        {
    try //异常处理模块
             {
                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
    }
    catch(ClassNotFoundException e)
             {
              }
     try
     {
               //建立连接
                  con=DriverManager.getConnection("jdbc:odbc:pubs", "sa","790513");
               //执行SQL
                  Statement stmt=con.createStatement();
      //最多输出 10 条记录
                  stmt.setMaxRows(5); 
               //返回结果
                  ResultSet rs =stmt.executeQuery("select * from jobs");
      //获取元数据
                  ResultSetMetaData rsmd = rs.getMetaData();
                  int cols = rsmd.getColumnCount();
      //输出查询出来的字段到表头
         for(int j = 1; j <= 5; j++)
         {
    obj = rs.getObject(2);
          if(obj != null)
                 str[j] = str[j] + obj.toString();
    else
        str[j] = "aaa";
                   }
      }
      catch(SQLException e)
               {
                }
      finally
               {
               //总是关闭数据库连接
                  try
                  {
                     if(con != null)
                        con.close();
                   }
                   catch(SQLException e)
          {
                    }
               }
      return str;
           }
       }注意tab键的控制,那样排列整齐也好查错误.
      

  12.   


    package test;import java.sql.*;
    import java.util.*;public class test
    {
    Connection con = null;
    String[] str = new String[5];
    Object obj = null;
        public void test()
    {
       
    }
    public String[] getStr()
    {
    try //异常处理模块
           {
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
       }
       catch(ClassNotFoundException e)
           {
           }
       try
       {
            //建立连接
              con=DriverManager.getConnection("jdbc:odbc:pubs", "sa","790513");
            //执行SQL
              Statement stmt=con.createStatement();
    //最多输出 10 条记录
              stmt.setMaxRows(5); 
            //返回结果
              ResultSet rs =stmt.executeQuery("select * from jobs");
    //获取元数据
              ResultSetMetaData rsmd = rs.getMetaData();
            
              int cols = rsmd.getColumnCount();

      //输出查询出来的字段到表头
      for(int j = 1; j <= 5; j++)
      {
    obj = rs.getObject(2);
         if(obj != null)
       str[j] = str[j] + obj.toString();
    else
    str[j] = "aaa";
      }
       }

           catch(SQLException e)
           {
           }
       finally
           {
            //总是关闭数据库连接
              try
              {
                   if(con != null)
                    con.close();
              }
              catch(SQLException e)
      {}
           }
    return str;
    }}
      

  13.   

    你的jsp程序错了,少了一个</jsp:usebean>他和<jsp:usebean>是成对出现的
      

  14.   

    你贴的jsp文件的文件名是不是:get.jsp呢,问题应该在这里呢
    <jsp:useBean id="data" scope="application" class="test.data">
    应该是:
    <jsp:useBean id="data" scope="application" class="test.data"/>