| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 997 人关注过本帖
标题:[求助]使用jsp处理登录数据失败
只看楼主 加入收藏
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
结帖率:100%
收藏
 问题点数:0 回复次数:8 
[求助]使用jsp处理登录数据失败

我写了两个JAVABEAN,一个专门用于数据库的操作(DB.java),一个专门用于处理用户登录数据(Login.java),在Login.java中调用了DB.java中的方法。
我仔细检查过代码,我写的bean也都用main函数测试过,结果都正确,但是,运行jsp页面的时候,我输入数据库中正确的数据,但是最后总是转到登录失败的页面(fail.jsp)。
我肯定是jsp代码的问题;我的代码如下:
<%@ page contentType="text/html;charset=GBK"%>
<!-- login.jsp -->
<%@ page import="java.sql.*,vcsql.*" %>

<jsp:useBean id="login" scope="session" class="vcsql.bean.Login"/>

<%
String num = request.getParameter("userID");
String pass = request.getParameter("userpasswd");

num = new String(num.getBytes("GBK"));
pass = new String(pass.getBytes("GBK"));

session.setAttribute("stunum",num);
session.setAttribute("stupass",pass);

//checkLogin()返回true表示有该用户存在
boolean flag = login.checkLogin(num.trim(),pass.trim());

if(flag)
{
response.sendRedirect("wel.jsp");
}
else
{
response.sendRedirect("fail.jsp");
}
%>
请大家帮我看看这段代码有什么问题啊?

搜索更多相关主题的帖子: jsp 数据 失败 登录 
2007-08-14 16:06
susan001983
Rank: 1
等 级:新手上路
威 望:1
帖 子:125
专家分:0
注 册:2007-7-25
收藏
得分:0 
是不是跟.trim()有关,你先把它去掉试试.

2007-08-14 16:14
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
收藏
得分:0 
这个没有关系的,我试过了,还是一样的结果。

时不再来!!!
2007-08-14 16:15
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
收藏
得分:0 
请问会不会可能是根编码类型有关呢?
我在定义数据库的时候,用的都是gbk。

时不再来!!!
2007-08-14 16:20
ermaogogo
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-8-5
收藏
得分:0 
确认没有乱码..打出来看下..??
2007-08-14 23:57
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
收藏
得分:0 
如果按你说的检索数据flag的确为true那就在response.sendRedirect("wel.jsp");下面加上return;
应该把你得到的flag输出到页面看下到底是哪的错误

2007-08-15 10:43
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
收藏
得分:0 

我用以下语句来查看flag的值:
[CODE]boolean flag = log.checkLogin(num, pass);
String str = Boolean.toString(flag);
session.setAttribute("bb",str);[/CODE]
显示的值总是false;
这样也就是说我写的函数checkLogin在这个jsp中的返回值就是false?
可是,我在用main函数测试时,它是可以返回true的。就是这里不始终弄不明白为什么会这样呢?
这里是我改过后的程序:

T0G4TCV0.rar (5.14 KB) [求助]使用jsp处理登录数据失败



时不再来!!!
2007-08-15 15:20
a276202460
Rank: 2
等 级:新手上路
威 望:4
帖 子:392
专家分:1
注 册:2007-4-10
收藏
得分:0 
boolean flag = false;
strsql = "select * from student where stu_num='";
strsql += num+"' and stu_password="+"'"+passwd+"'";
//1
try
{
ResultSet rs = database.executeQuery(strsql);
//2
if (rs.next())
{
flag = true;
}
else
{
flag = false;
}
database.closeAll();
}
catch (Exception e)
{
//3
e.printStackTrace();
}
return flag;

我写序号的地方都加System.out.Prinln();测试一下输出 如果用的eclipse可以断点调试看程序执行到哪 不就知道 错误原了吗? 我看肯定是你的数据库没连好

2007-08-15 15:54
无缘今生
Rank: 2
等 级:新手上路
威 望:3
帖 子:523
专家分:7
注 册:2007-6-25
收藏
得分:0 
数据库连接是没有问题的。
因为我在Login.java中加上main()后能够正确输出数据里面的数据,也能返回正确的函数值。
我用的JCreater.

时不再来!!!
2007-08-15 16:14
快速回复:[求助]使用jsp处理登录数据失败
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019643 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved