session的问题,在线等待!!!

zjasan 2002-11-05 12:05:19
我想作一个用户登录程序,但在执行时有下面得错误:
1: Method setAttribute(java.lang.String, java.lang.String) not found in interfac
e javax.servlet.http.HttpSession.
我得源程序如下:
<%@ page contentType="text/html;charset=Gb2312"
import="java.sql.*"%>
<%!
String CheckLogin(String Login,String Password) throws Exception
{ Connection con=null;
Statement stmt=null;
ResultSet rs=null;
String result=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:login");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String strSQL="Select * from login where username='"+Login+"'";
rs=stmt.executeQuery(strSQL);
if(!rs.next())
{ result="无此帐号!!";}
else if(!rs.getString("password").equals(Password))
{result="密码错误!!";}
else
{result="登录成功";}
}
catch(Exception ex)
{throw ex;}
finally
{ rs.close();
stmt.close();
con.close();
}
return result;
}
%>
<%
String UserNm=request.getParameter("UserNm");
String UserPasswd=request.getParameter("UserPasswd");
if(UserNm==null||UserPasswd==null)
response.sendRedirect("LogFrm.htm");
String strCheckLogin=CheckLogin(UserNm,UserPasswd);
if(strCheckLogin.equals("登录成功"))
{ session.setAttribute("UserNm",UserNm);
session.setAttribute("UserPasswd",UserPasswd);
response.sendRedirect("Submain.jsp");
}
%>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<center>
<font size=2 color=pink>用户登录</font>
</center>
<hr>
<center>
<%=strCheckLogin%><p></p><a href="LogFrm.htm">请重新登录</a>
</center>
</body>
</html>
...全文
43 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
java_alias 2002-11-11
  • 打赏
  • 举报
回复
晕~~~我看不出来问题,等有时间给你跑跑看...我好烂啊...555
这几天太忙,没来看。
zjasan 2002-11-10
  • 打赏
  • 举报
回复
大家在马,帮我看一下我的程序:
java_alias 2002-11-08
  • 打赏
  • 举报
回复
我是说,你没有其他连接数据库的方式么,除了这种程序?
try一下你的SQL语句是否能够正常运行
zjasan 2002-11-08
  • 打赏
  • 举报
回复
我得这个程序能运行啊
<%@ page contentType="text/html;charset=gb2312"
import="java.sql.*,java.util.Date"%>
<html>
<head>
<title>添加数据到数据库</title>
<Script languahe=javascript>
<!--
function datacheck()
{ if(form1.tbxbookid.value=="")
{window.alert("您必须完成帐号的输入!!");
document.form1.elements(0).focus();
return;
}
if(form1.tbxTitle.value=="")
{window.alert("您必须完成密码的输入!!");
document.form1.elements(1).focus();
return;
}
form1.submit();
}
-->
</script>
</head>
<body>
<center>
<font size=2 color=red>添加数据到数据库</font>
</center>
<hr>
<%
String strSub=request.getParameter("submit1");
if(strSub==null)
{ session.setAttribute("Done","");
Date Now=new Date();
String date=(Now.getYear()+1900)+"-";
date=date+(Now.getMonth()+1)+"-";
date=date+Now.getDate();
%>
<form action="SQLFrm.jsp" method=post name=form1>
<center>
<table>
<tr colspan=2 align=center>
<font size=2 color=red><b>请输入书籍数据</b></font>
</tr>
<tr><td><b>书籍编号</b></td>
<td><input type="text" name=tbxbookid></td></tr>
<tr><td><b>书籍名称</b></td>
<td><input type="text" size=30 name=tbxTitle></td><tr>
<tr><td><b>出版日期</b></td>
<td><input type="text" name=tbxPDate value=<%=date%>>
</td></tr>
<tr><td><b>作者</b></td>
<td><input type="text" name=tbxAuthor ></td></tr>
<tr><td><b>价格</b></td>
<td><input type="text" name=tbxprice value=0></td></tr>
<tr><td><b>总页数</b></td>
<td><input type="text" name=tbxpages value=0></td></tr>
<tr><td><b>备注</b></td>
</tr>
</table>
<textarea rows=5 cols=40 name=txtamemo>
</textarea><p></p>
<input type="submit" value="确定" name=submit1 onclick=datacheck()>
</center>
</form>
<%
}
else
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:book");
Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String strSQL;
if(session.getAttribute("Done")!="yes")
{ strSQL="insert into book values('"+
request.getParameter("tbxbookid")+"','"+
request.getParameter("tbxPDate")+"',"+
request.getParameter("tbxpages")+","+
request.getParameter("tbxprice")+",'"+
request.getParameter("tbxTitle")+"','"+
request.getParameter("tbxAuthor")+"','"+
request.getParameter("txtamemo")+"')";
stmt.executeUpdate(strSQL);
}
session.setAttribute("Done","yes");
%>
<p>
<%
ResultSet rs=stmt.executeQuery("select * from book");
%>
<table bgcolor=dodgerblue>
<tr bgcolor=skyblue>
<td><b>书籍编号</b></td><td><b>书名</b></td><td><b>作者</b></td></tr>
<%
while(rs.next())
{
%>
<tr>
<td bgcolor=red><b>
<%=rs.getString("BookID")%></b></td>
<td bgcolor=red><b>
<%=rs.getString("Title")%></b></td>
<td bgcolor=red><b>
<%=rs.getString("Author")%></b></td>
</tr>
<%
}
%>
</table>
<%
rs.close();
stmt.close();
con.close();
%>
<p><a href="SQLFrm.jsp">还要添加数据</a></p>
<%
}
%>
</body>
</html>




java_alias 2002-11-07
  • 打赏
  • 举报
回复
在SQL_Plus里面的执行结果呢??
zjasan 2002-11-07
  • 打赏
  • 举报
回复
打印出来后是:

stmt:sun.jdbc.odbc.JdbcOdbcStatement@2798e7
strSQL:select * from login where username='asav'
saidong 2002-11-07
  • 打赏
  • 举报
回复
把你的stmt打印出来后,再把strSQL也打印出来。然后拷贝到数据库中SQL_PLUS里执行一下,看有没有结果
java_alias 2002-11-07
  • 打赏
  • 举报
回复
短消息已经回了~~~
zjasan 2002-11-07
  • 打赏
  • 举报
回复
我得程序还是有错误,我加了好多测试,就是不行
在执行rs=stmt.executeQuery(strSQL);时有问题
不知道如何解决??
zjasan 2002-11-07
  • 打赏
  • 举报
回复
我得程序没有办法解决吗?
大家怎么不发言了??
zjasan 2002-11-07
  • 打赏
  • 举报
回复
大家在吗??
帮忙看看把
zjasan 2002-11-07
  • 打赏
  • 举报
回复
我得数据库中有这个字段阿,他是文本型的
java_alias 2002-11-07
  • 打赏
  • 举报
回复
我觉得还是数据库连接错误,saidong(雨桐)老兄,你认为呢?
zjasan 2002-11-07
  • 打赏
  • 举报
回复
这个sql语句是没有问题的阿.
zjasan 2002-11-07
  • 打赏
  • 举报
回复
我得第一个字段就是username
而且打印出来的strSQL也没有问题
strSQL:select * from login where username='asan'
zjasan 2002-11-07
  • 打赏
  • 举报
回复
我下了,往大家能帮我解决一下,能不能发到我得邮箱
zjasanhust@hotmail.com
saidong 2002-11-07
  • 打赏
  • 举报
回复
找个MSSQL或MYSQL装上呀。java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作
符丢失) 在查询表达式 'username='asan'' 中。这是SQL语句没写对。
username确认是你数据库表中的字段吗?没写成usernmae或别的?
zjasan 2002-11-07
  • 打赏
  • 举报
回复
有一个提示时这样的:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作
符丢失) 在查询表达式 'username='asan'' 中。
什么意思??
zjasan 2002-11-07
  • 打赏
  • 举报
回复
Access2002
我在执行时提示说:
[Microsoft][ODBC Driver Manager] Invalid cursor state
什么意思??
Javabean还不怎么会用>!!
saidong 2002-11-07
  • 打赏
  • 举报
回复
刚才又看了一遍你的程序,下面这个地方如果rs.getString("password")为空也会出现空指针的错误,最好先判断一下是否为空再用equals

else if(!rs.getString("password").equals(Password))

我喜欢这样写else if(!Password.equals(rs.getString("password")))

不信,你用一个空值去equal试试!
加载更多回复(23)

81,092

社区成员

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

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