详细解决方案
jsp中的注册登录系统(mysql)
热度:7049 发布时间:2013-02-25 21:10:58
以下是代码
<%@page contentType="text/html;charset=GBK" language="java" import="java.sql.*"%>
<html><head><meta http-equiv="Content-Type" content="text/html;charset=GBK"><title>跳转到主页</title></head>
<body>
<%!
String str1;
String str2;
String sql;
boolean res;
%>
<%
request.setCharacterEncoding("GBK");
str1=request.getParameter("loginname");
str2=request.getParameter("loginpassword");
res=false;
%>
<%
//JDBC_ODBC连接MySql数据库,不需要设置数据源
//数据库连接代码 开始
String server="localhost"; //MYSQL 服务器的地址
String dbname="logindata"; //MYSQL 数据库的名字
String user="root"; //MYSQL 数据库的登录用户名
String pass="123456"; //MYSQL 数据库的登录密码
String port="3306"; //SQL Server 服务器的端口号,默认为1433
//数据库连接字符串
String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?user="+user+"&password="+pass+"&useUnicode=true&characterEncoding=GBK";
//加载驱动程序
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立连接
Connection conn= DriverManager.getConnection(url);
//创建语句对象
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
// **** 数据库连接代码 结束 *******
sql="select * from login";
ResultSet rs=stmt.executeQuery(sql);
rs.first();
while(rs.next())
{
if(str1.equals(rs.getString("name")))
{
res=true;
break;
}
}
if(res=true)
{
if(str2.equals(rs.getString("paswnd")))
{
session.setAttribute("name",str1);
rs.close();
stmt.close();
conn.close();
response.sendRedirect("./loginsuccess.jsp");
}
else
{ rs.close();
stmt.close();
conn.close();%>
<jsp:forward page="./loginerrorpaswnd"/>
<%}
}
else
{ rs.close();
stmt.close();
conn.close();%>
<jsp:forward page="./loginerrorname"/>
<%}%>
</body>
</html>
在运行过程中我输入了正确的用户名密码,但是apache报错是
if(str2.equals(rs.getString("paswnd")))
这一行
然后后面root cause是这个:
javax.servlet.ServletException: java.sql.SQLException: After end of result set
不懂为什么报错
新手求各位大神帮助!
------解决方案--------------------------------------------------------
if(str2.equals(rs.getString("paswnd")))
确定password没有写错??
------解决方案--------------------------------------------------------
把first()去掉,你用first指向了第一行,再执行next那就已经到下一条记录,而你的查询只有一条记录,所以就到结果集的末尾。
------解决方案--------------------------------------------------------
建议楼主试试3楼的意见!
相关解决方案
- mysql 简单化 or能否实现
- 请问registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
- MySQL 5.5 Command Line Client 窗口1输密码就退出
- 请问上Linux平台上怎么搭建JDK \TOMCAT\MYSQL
- 在LINUX上配置 MySQL 开机自动 启动
- mysql 转 orocle java ssh项目一条 sql 句不通!
- 急求帮忙!mysql 【 Column count doesn't match value count 】,该怎么解决
- jsp中的注册登录系统(mysql)
- 上了个 MySQL 5.5.25 但是安装时出错了
- 求jsp博客源代码mvc+mysql,该如何解决
- java mysql 中文乱码有关问题
- 请教各位,使用PreparedStatement mysql 数据库 不回滚,盼望解答。多谢。 具体如上
- mysql Statement parameter 一 not set
- java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306,该怎么处理
- MyBatis 读取 Mysql Blob类型的SQL如何写呢
- JDBC MYSQL 驱动加载失败 JSP DAO ECLIPSE,该怎么解决
- Only a type can be imported. com.mysql.jdbc.Driver resolves to a package解决方案
- tomcat 中抛异com.mysql.jdbc.exceptions.MySQLTransactionRollbackException,该如何处理
- struts+iBatis+mysql,该如何解决
- mysql 有外键的插入解决方案
- JSP 更新 MySQL 语句时遇到异常了= =
- mysql,该如何处理
- +++++ mysql 插入成功,查询不到记录?
- MyBatis3.1.1 Insert 回到主键 long类型 MYSQL 数据库
- mysql:假若一个表中,有两个属性name和id,删除同名的保留id小的,问这样写有误吗
- java mysql where限制有关问题
- mysql 数据库,如果信息存在调出,如果不存在转到另一个jsp中解决思路
- mysql jdbc的配置解决方案
- java.lang.ClassNotFoundException:com.mysql.jdbc.Driver,该如何解决
- 救助。Mysql 的条件删除语句如何写,就是删除部门的时候,如果部门下有用户,就不能删除