为什么if里面的句子判断不出啊

xiaomayi0116 2010-11-13 10:54:59
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<script language="javascript">
function on_submit(){
if(form1.username.value=="")
{
alert("用户名不能为空,请输入用户名");
form1.username.focus();
return false;
}
if(form1.userpassword.value=="")
{
alert("密码不能为空,请输入密码");
form1.username.focus();
return false;
}
}
</script>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>

<body>
<table align="center">
<form name="form1" method="post" action="" onsubmit="return on_submit()">
<tr align="center">
<td>
请输入用户名:<input type="text" name="username" size="20">
</td>
</tr>

<tr align="center">
<td>
请输入密码:   <input type="password" name="userpassword" size="20">
</td>
</tr>

<tr align="center">
<td>
<input type="submit" name="B1" value="提交">
<input type="reset" name="B2" value="全部重写">
</td>
</tr>
</form>
</table>
<%
if(request.getParameter("username")!=null){
Connection con;
Statement sql;
ResultSet rs;
String a=request.getParameter("username");
String a1;
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e){
out.print("类找不到");
}
try{
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=checkdb","sa","");

sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM login");
while(rs.next()){
a1=rs.getString("username");
out.print(a1);
}

}
catch(SQLException el){
out.print(el.toString());
}
if(a.equals("a1")){
out.print("成功");
}
}
%>
</body>
</html>



主要是不明白为什么if(a.equals("a1")){
out.print("成功");
}
里面的out.print("成功");执行不到啊?我事先已经在数据库里设定username为admin,if里的条件应该为真才对,可是为什么不能执行里面的语句啊?是不是从数据库里返回的字符串加了空格所以不相等啊?如果是那该怎么判断相等啊?
...全文
138 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
syjeffdyg 2010-11-13
  • 打赏
  • 举报
回复
基本功不扎实!
智鹿软件 2010-11-13
  • 打赏
  • 举报
回复
a是变量(对象)
"a"是常理
feixiaocaohen 2010-11-13
  • 打赏
  • 举报
回复
if(a.equals(a1)){
}

a1不加“”
Spring89 2010-11-13
  • 打赏
  • 举报
回复
哦,a是用户输入的,你是要用用户输入的和数据库中做比较吗?那就是:
if(a.equals(a1)){
}
Spring89 2010-11-13
  • 打赏
  • 举报
回复
a,是什么?
a1,是从数据库中读出来的,那就不应该加""
houjin_cn 2010-11-13
  • 打赏
  • 举报
回复
if(a.equals("a1")){ -> if(a.equals(a1)){
soulJava 2010-11-13
  • 打赏
  • 举报
回复
用户名跟密码的长度来进行判断是否为空
wdarren 2010-11-13
  • 打赏
  • 举报
回复
while(rs.next()){
a1=rs.getString("username");
System.out.println("a =" + a);
System.out.println("a1 =" + a1);
if(a.equals(a1)){
out.print("成功");
}
}
这样看看
houjin_cn 2010-11-13
  • 打赏
  • 举报
回复
out.print(a1);有输出吗?
还有最好把 out.print(a); 把a也输出一下
xiaomayi0116 2010-11-13
  • 打赏
  • 举报
回复
while(rs.next()){
a1=rs.getString("username");
out.print(a1);
if(a.equals(a1)){
out.print("成功");
}
}
我改成这样了,可是out.print("成功");这句就是执行不到!3楼说的对,就是用户输入的数据和数据库中的对比。可是用户输入的和数据库里的一样,可是if里的out.print无法执行到

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧