我写了段代码总是报错,大家帮忙看看是什么问题!代码功能是从登陆页获取两个参数,uname和password,然后在数据库里查询这两个值是否存在,如果存在就跳转到成功页面,不存在就跳转到登陆页!
<body>
<%!
boolean flag = false ;
%>
<%
try{
request.setCharacterEncoding("GBK");
String username = request.getParameter("uname");
String userpass = request.getParameter("password");
DataBase db = new DataBase();
String sql = "SELECT username,userpass FROM admin WHERE username ='"+username+"' and userpass='"+userpass+"' ";
ResultSet rs=db.executeQuery(sql);
if(rs.next()){
flag = true ;
}
db.close();
}catch(Exception e ){}
if(flag){
%>
<jsp:forward page="ad_index.jsp"/>
<%
}else{
%>
<jsp:forward page="login.htm"/>
<%
}
%>
</body>
<body>
<%!
boolean flag = false ;
%>
<%
try{
request.setCharacterEncoding("GBK");
String username = request.getParameter("uname");
String userpass = request.getParameter("password");
DataBase db = new DataBase();
String sql = "SELECT username,userpass FROM admin WHERE username ='"+username+"' and userpass='"+userpass+"' ";
ResultSet rs=db.executeQuery(sql);
if(rs.next()){
flag = true ;
}
db.close();
}catch(Exception e ){}
if(flag){
%>
<jsp:forward page="ad_index.jsp"/>
<%
}else{
%>
<jsp:forward page="login.htm"/>
<%
}
%>
</body>
<jsp:useBean id='' scope='' class=''/>检查一下看
还有就是你 sql语句里面的单引号问题,不知道是你故意打的让我们知道你写了单引号,还是你的单引号写错了,错误提示说一下,这样大家能很快帮你找到错误
DataBase这个类我在此页面的第一行就这样导进来的<%@ page import="org.util.DataBase" %>!
然后下面的代码先注释掉,看看是不是抛出什么异常了·····
你把sql输出到控制台上看看
System.out.println("====sql:="+sql);
out.println("flag = " + flag);