JSP读取SQL数据库问题 50分求救啊~~~~` 用户名:<input type=text name=category>和 String account = request.getParameter("account");你是要得到用户名吗?怎么感觉名子不一样呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是不是那个form要这样写啊:<html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><center><hr><h1>图书管理系统</h1><hr><form method=get action="login.jsp">用户名:<input type=text name=category><br>密码:<input type="password" name="password"></br><br><input type="submit" name="Submit" value="确定"></form></center></body></html>要把用户名和密码包进去,你试试 问题好像出在password.equals(rsPassword):应该用password == rsPassword,区别在于,equals是判断两个对象是否相同,==判断两个对象的值是否相同。 二楼的说的对,你表单提交的数据就没有在FORM之间,那样你的用户名和密码就传不到下个页面。你可以用 out,print(password);在页面上把你的密码显示出来,看看在下个页面能否得到,应该是得不到的。三楼的的方法你可以试试,但是我觉得问题不在他说的那样。 按照二楼的说法```把名字改了```按照四楼的说法```改了```还是一样出现password error. 用户名:<input type=text name=category>这里,你认为对的吗????????????????不是应该这样的吗?用户名:<input type=“text” name=“category”> String account = request.getParameter("account");我晕 勒.你自己看仔细点啦=============================== CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的软件! 界面: http://qqwwee.com/ 下载: http://qqwwee.com/csdn.rar 包含源代码 你的数据库连接成功了吗?你在rsPassword = rs.getString("password");下面把rsPassword打印出来 String dbUrl = "jdbc:jtds:sqlserver://localhost:1433/book;user=sa";这个地方你是不是忘了加上密码了 这个是我改后的login.jsp 我的数据库没有密码的<%@ page language="java" import="java.io.*,java.sql.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> <% String account = request.getParameter("account"); String password = request.getParameter("password"); try{ Connection con; Statement stmt; ResultSet rs; Class.forName("net.sourceforge.jtds.jdbc.Driver"); DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver()); String dbUrl = "jdbc:jtds:sqlserver://localhost:1433/j2eeone;user=sa"; con = java.sql.DriverManager.getConnection(dbUrl); stmt = con.createStatement(); System.out.println("account:"+account); rs = stmt.executeQuery("SELECT * FROM denglu where count='"+account+"'"); String rsPassword = " "; while(rs.next()){ rsPassword = rs.getString("password"); } System.out.println(rsPassword); rs.close(); stmt.close(); con.close(); if(password==rsPassword){ %> System.out.println("OK"); <jsp:forward page="/user.html"/> <% } else{ System.out.println("Error"); response.sendRedirect("error.jsp"); } } catch(Exception e){ out.println(e.getMessage()); } %> </body></html>还是不行 "System.out.println(rsPassword);"改为out.println(rsPassword); 最好加上html标签比如out.println(<td>rsPassword</td>);当然前面还有<table><tr>之类的标签 你所有的输出都犯了这样的错误,不是System.out你也可以用<%=%>标签,看样子你还没学JSP! password==rsPassword???还是用equals吧 ps:out.println("<td>+rsPassword+</td>"); 为什么不用hibernate呢?那个用起来很方便!你的那个传参是不是 request.getAttribute();呀! String account = request.getParameter("account"); //这个是用户名吗?怎么和你的表单元素名称不一样的??因为account用户不存在,所以你输入任何密码都不对咯!楼主请看清楚,是不是这里错了!String password = request.getParameter("password"); 把你从数据库中取的数据trim()一下就可以了,把两边的空格去掉,我以前也是这种问题。 在线聊天 急!那位大哥用过jmagick进行图片的锐化的! javascript传select值的问题。 推荐一下jsp的优秀代码网站 急~求一JS程序~要求内详!!! 权限分配问题 请做SP行业的技术们来加入SP的技术群:4687819大家共同研究 导出csv文件的问题 javamail发邮件报接收地址不正确,但在outlook中就可以发,高人请进。。。!!! 一个很简单的问题(散分)类DiskFileUpload及FileItem在哪个包中? 郁闷!为什么我用arraylist就不行? 关于 Table 的效率的问题!!!
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>
<center>
<hr>
<h1>图书管理系统</h1>
<hr>
<form method=get action="login.jsp">
用户名:<input type=text name=category>
<br>
密码:<input type="password" name="password">
</br>
<br>
<input type="submit" name="Submit" value="确定">
</form>
</center>
</body>
</html>
要把用户名和密码包进去,你试试
应该用password == rsPassword,区别在于,equals是判断两个对象是否相同,==判断两个对象的值是否相同。
你可以用 out,print(password);在页面上把你的密码显示出来,看看在下个页面能否得到,应该是
得不到的。
三楼的的方法你可以试试,但是我觉得问题不在他说的那样。
用户名:<input type=“text” name=“category”>
String account = request.getParameter("account");
我晕 勒.你自己看仔细点啦===============================
CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
软件!
界面: http://qqwwee.com/
下载: http://qqwwee.com/csdn.rar 包含源代码
你在rsPassword = rs.getString("password");下面把rsPassword打印出来
这个地方你是不是忘了加上密码了
<%@ page language="java" import="java.io.*,java.sql.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
String account = request.getParameter("account");
String password = request.getParameter("password");
try{
Connection con;
Statement stmt;
ResultSet rs;
Class.forName("net.sourceforge.jtds.jdbc.Driver");
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
String dbUrl = "jdbc:jtds:sqlserver://localhost:1433/j2eeone;user=sa";
con = java.sql.DriverManager.getConnection(dbUrl);
stmt = con.createStatement();
System.out.println("account:"+account);
rs = stmt.executeQuery("SELECT * FROM denglu where count='"+account+"'");
String rsPassword = " ";
while(rs.next()){
rsPassword = rs.getString("password");
}
System.out.println(rsPassword);
rs.close();
stmt.close();
con.close();
if(password==rsPassword){
%>
System.out.println("OK");
<jsp:forward page="/user.html"/>
<%
}
else{
System.out.println("Error");
response.sendRedirect("error.jsp");
}
}
catch(Exception e){
out.println(e.getMessage());
}
%>
</body>
</html>还是不行
改为out.println(rsPassword);
最好加上html标签
比如out.println(<td>rsPassword</td>);
当然前面还有<table><tr>之类的标签 你所有的输出都犯了这样的错误,不是System.out
你也可以用<%=%>标签,看样子你还没学JSP!
还是用equals吧
你的那个传参是不是 request.getAttribute();呀!
String password = request.getParameter("password");