首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

'try' without 'catch' or 'finally' 有关问题

2012-01-06 
try without catch or finally 问题jsp文件:%@pagelanguage java import java.sql.* %%@pa

'try' without 'catch' or 'finally' 问题
jsp文件:
<%@   page   language= "java "   import= "java.sql.* "%>
<%@   page   import= "java.util.* "%>
<%@   page   import= "java.text.* "%>
<%@   page   import= "usebean.* "   %>
<SCRIPT   language=javascript   type= " ">
function   backward()
{history.back();}
</SCRIPT>
<html>
<head>
<title> 登陆信息 </title>
</head>
<body   bgcolor= "#ffffff "   text= "#00000 ">
<jsp:useBean   id= "db "   scope= "page "   class= "usebean.opendb "/>
<%
    String   uid=request.getParameter( "uid ");
    String   pwd=request.getParameter( "pwd ");
    String   sql= "select   *   from   bbsUser   where   uid= ' "+uid+ " '   and   pwd= ' "+pwd+ " ' ";
    ResultSet   rs=db.executeQuery(sql);
    if(rs.next())
    {rs.close();
      java.util.Date   m_date=new   java.util.Date();
      DateFormat   df=DateFormat().getDateInstance();
      String   lastTime=df.format(m_date);
      sql= "update   bbsUser   set   logonTimes+1,lastTime= ' "+lastTime+ " '   where   uid= ' "+uid+ " ' ";
      rs=db.executeQuery(sql);
      session.setAttribute( "uid ",uid);
%>
<SCRIPT   language=javascript   type= " ">
self.location= "bball.jsp ";
</SCRIPT>
<%
    }
else
{rs.close();}
%>
<p> 对不起,你的输入有误! </p>
<p> <input   type=button   name= "button2 "   value= "返回上一步 "   onClick= "backward() "> </p>
<%
    }
%>
</body>
</html>
opendb.java   文件
package   usebean;
import   java.text.*;
import   java.sql.*;
public   class   opendb
{
    String   name;
String   password;
  String   url;
    Connection   con;
  PreparedStatement   ps;
    ResultSet   rs;
  public   opendb()
  {
    name= "boya ";
    password= "123 ";
    url= "jdbc:odbc:boya ";
    con=null;
    ps=null;
    rs=null;
  }
  public   ResultSet   executeQuery(String   sql)
  {
                try{

    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
    con=DriverManager.getConnection(url,name,password);
    ps=con.prepareStatement(sql);
    rs=ps.executeQuery();
    if(con!=null)   con.close();
    }
    catch(Exception   e)
    {e.printStackTrace();}
    return   rs;
  }
  public   void   executeUpdate(String   sql)
  {
                try{


                Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
                con=DriverManager.getConnection(url,name,password);
                Statement   sta=con.createStatement();
    sta.executeUpdate(sql);
    rs=sta.executeQuery( "select   *   from   id ");
      if(con!=null)   con.close();
                }
                catch(Exception   e)
                {e.printStackTrace();}
  }
}
错误:
"logocheck.jsp ":   'try '   without   'catch '   or   'finally '
"logocheck.jsp ":   illegal   start   of   type
"logocheck.jsp ":   <identifier>   expected
"logocheck.jsp ":   'class '   or   'interface '   expected
"logocheck.jsp ":   'class '   or   'interface '   expected   at   line   0


[解决办法]
rs=sta.executeQuery( "select * from id ");
if(con!=null) con.close();
你的连接执行完就关闭?
[解决办法]
{}
匹配吗?
如果匹配
问题可能在
rs=db.executeQuery(sql);
你把这改成
try{
rs=db.executeQuery(sql);
}catch(Exception e){
.....
}
[解决办法]
...
<SCRIPT language=javascript type= " ">
function backward()
{history.back();}
</SCRIPT>
<html>
<head>
<title> 登陆信息 </title>
</head>
<body bgcolor= "#ffffff " text= "#00000 ">
<jsp:useBean id= "db " scope= "page " class= "usebean.opendb "/>
<%
...
{rs.close();////“{”开始
...
<SCRIPT language=javascript type= " ">
self.location= "bball.jsp ";
</SCRIPT>

<%
}////“{”结束if
else
{rs.close();}/////“{”开始“}”结束else
%>
...
<%
}////////????????跟哪个“{”对应
%>
.....
[解决办法]
我也认为你的程序设计思路有点问题
[解决办法]
JDBC 代码不应该包含到 JSP 中,应该调用普通的 Java Bean 包装的函数,返回 Java Bean 或者 List/Map 之类的,然后在 JSP 中显示。
[解决办法]
晕之。。。呵呵。。楼上的说得对,页面不应该有那么多东西哦。。。把操作都放进bean或者封装到标签里面去比较好。。。

热点排行