'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或者封装到标签里面去比较好。。。