我想实现用户登陆功能,用的是:weblogic8.1+oracle9.0+jbuilder9,
首先我在oracle下建一个用户然后建一个名为userinfo的表,字段有userid,name
,age,password
然后我写了两个jsp分别为title.jsp
代码为
<%@ page language="java" contentType="text/html; charset=GBK" %>
<html>
<head>
<title> Untitled Document</title>
<meta http-equiv="Countent-type" content="text/html;charset=gb2312">
</head><LINK href="hellking.css" type=text/css rel=stylesheet>
<body>
<%
boolean isLog=false;
try
{
isLog=((String)session.getAttribute("isLog")).equals("1");
}
catch(Exception e)
{
}
%>
<table width="842" align=center cellpadding=3 cellspacing=1 class=tableborder1>
<tr>
<td width="832" class=tablebody2>::
<a href="index.jsp target="_top">首页</a>
<%if(isLog){%><a href="logout.jsp target="_top">注销</a><%}%>::
</td></tr><tr>
<td width="832" class=tablebody2>
<%
if(isLog)
{
%>
欢迎光临!
<%=session.getAttribute("name")%>,您是第
<%=session.getAttribute("userLogCount")%>
次登陆,您上次登录的时间是:
<%=session.getAttribute("userLastLogTime")%>
<%
}
else
{
%><form name="form1" method="post" action="login.jsp">
用户名
<input type="text" name="userID" size="15" style="BORDER-RIGHT:#ffffff 1px
groove;BORDER-TOP:#ffffff 1px groove;FONT:12px Verdana,Geneva,sans-serif;
BORDER-LEFT:#ffffff 1px groove;WIDTH:100px;COLOR:#000000;BORDER-BOTTOM:#ffffff
1px groove;HIGHT:18px;BACKGROUND-COLOR:#DFF1F9">
密码
<input type="password" name="password" size="15"
style="BORDER-RIGHT:#ffffff 1px
groove;BORDER-TOP:#ffffff 1px groove;FONT:12px Verdana,Geneva,sans-serif;
BORDER-LEFT:#ffffff 1px groove;WIDTH:100px;COLOR:#000000;BORDER-BOTTOM:#ffffff
1px groove;HIGHT:18px;BACKGROUND-COLOR:#DFF1F9">
<input type="submit" name="Submit" value="确定"
style="height:20;font:9pt;BORDER-BOTTOM:#cccccc 1px groove;
BORDER-RIGHT:#cccccc 1px groove;BACKGROUND-COLOR:#eeeeee">
</form>
<%
}
%>
</td>
</tr>
</table>
</body>
</html>
另一个是login.jsp代码为
<!--%@ include file="include.inc"%-->
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title> Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<%
request.setCharacterEncoding("gb2312");
String CLASSFORNAME="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:MYORACLE";
String User="user";
String Pwd="user";
String id=(String)request.getAttribute("name");
String pwd=(String)request.getAttribute("password");
Class.forName(CLASSFORNAME);
Connection con=DriverManager.getConnection(url,User,Pwd);
Statement statement=con.createStatement();
String isCorrect="select * from student where name="+id+"and password="+pwd+"";
ResultSet result=statement.executeQuery(isCorrect);
session.setAttribute("isLog",new String("0"));
if(!result.next())
{
response.sendRedirect("index.jsp");
result.close();
statement.close();
con.close();
}
else
{
//session.setAttribute("userid",result.getString("userid"));
session.setAttribute("name",result.getString("name"));
session.setAttribute("age",result.getString("age"));
// session.setAttribute("phone",result.getString("phone"));
//session.setAttribute("city",result.getString("city"));
//session.setAttribute("isLog",new String("1"));
//int count=result.getInt("userLogCount");
//session.setAttribute("userLogCount",new Integer(count));
//count++;
//java.util.Date time1=new java.util.Date();
// String sqltime=new Timestamp(time1.getTime()).toString();
// statement.execute("update user_info set userLogCount="+count+",userLastLogTime="+sqltime+" where userID="+id+"");
statement.close();
con.close();
response.sendRedirect("cxhome.jsp");
}
%>
然后我一登陆就出现了这样的错误;我初学jsp看不懂
Error 500--Internal Server Error
java.sql.SQLException: ORA-00933: SQL }?cn觃 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1983)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:877)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2513)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2857)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:640)
at jsp_servlet.__login._jspService(__login.java:138)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
高手帮忙,怎么回事
首先我在oracle下建一个用户然后建一个名为userinfo的表,字段有userid,name
,age,password
然后我写了两个jsp分别为title.jsp
代码为
<%@ page language="java" contentType="text/html; charset=GBK" %>
<html>
<head>
<title> Untitled Document</title>
<meta http-equiv="Countent-type" content="text/html;charset=gb2312">
</head><LINK href="hellking.css" type=text/css rel=stylesheet>
<body>
<%
boolean isLog=false;
try
{
isLog=((String)session.getAttribute("isLog")).equals("1");
}
catch(Exception e)
{
}
%>
<table width="842" align=center cellpadding=3 cellspacing=1 class=tableborder1>
<tr>
<td width="832" class=tablebody2>::
<a href="index.jsp target="_top">首页</a>
<%if(isLog){%><a href="logout.jsp target="_top">注销</a><%}%>::
</td></tr><tr>
<td width="832" class=tablebody2>
<%
if(isLog)
{
%>
欢迎光临!
<%=session.getAttribute("name")%>,您是第
<%=session.getAttribute("userLogCount")%>
次登陆,您上次登录的时间是:
<%=session.getAttribute("userLastLogTime")%>
<%
}
else
{
%><form name="form1" method="post" action="login.jsp">
用户名
<input type="text" name="userID" size="15" style="BORDER-RIGHT:#ffffff 1px
groove;BORDER-TOP:#ffffff 1px groove;FONT:12px Verdana,Geneva,sans-serif;
BORDER-LEFT:#ffffff 1px groove;WIDTH:100px;COLOR:#000000;BORDER-BOTTOM:#ffffff
1px groove;HIGHT:18px;BACKGROUND-COLOR:#DFF1F9">
密码
<input type="password" name="password" size="15"
style="BORDER-RIGHT:#ffffff 1px
groove;BORDER-TOP:#ffffff 1px groove;FONT:12px Verdana,Geneva,sans-serif;
BORDER-LEFT:#ffffff 1px groove;WIDTH:100px;COLOR:#000000;BORDER-BOTTOM:#ffffff
1px groove;HIGHT:18px;BACKGROUND-COLOR:#DFF1F9">
<input type="submit" name="Submit" value="确定"
style="height:20;font:9pt;BORDER-BOTTOM:#cccccc 1px groove;
BORDER-RIGHT:#cccccc 1px groove;BACKGROUND-COLOR:#eeeeee">
</form>
<%
}
%>
</td>
</tr>
</table>
</body>
</html>
另一个是login.jsp代码为
<!--%@ include file="include.inc"%-->
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title> Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
</head>
<body>
<%
request.setCharacterEncoding("gb2312");
String CLASSFORNAME="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@localhost:1521:MYORACLE";
String User="user";
String Pwd="user";
String id=(String)request.getAttribute("name");
String pwd=(String)request.getAttribute("password");
Class.forName(CLASSFORNAME);
Connection con=DriverManager.getConnection(url,User,Pwd);
Statement statement=con.createStatement();
String isCorrect="select * from student where name="+id+"and password="+pwd+"";
ResultSet result=statement.executeQuery(isCorrect);
session.setAttribute("isLog",new String("0"));
if(!result.next())
{
response.sendRedirect("index.jsp");
result.close();
statement.close();
con.close();
}
else
{
//session.setAttribute("userid",result.getString("userid"));
session.setAttribute("name",result.getString("name"));
session.setAttribute("age",result.getString("age"));
// session.setAttribute("phone",result.getString("phone"));
//session.setAttribute("city",result.getString("city"));
//session.setAttribute("isLog",new String("1"));
//int count=result.getInt("userLogCount");
//session.setAttribute("userLogCount",new Integer(count));
//count++;
//java.util.Date time1=new java.util.Date();
// String sqltime=new Timestamp(time1.getTime()).toString();
// statement.execute("update user_info set userLogCount="+count+",userLastLogTime="+sqltime+" where userID="+id+"");
statement.close();
con.close();
response.sendRedirect("cxhome.jsp");
}
%>
然后我一登陆就出现了这样的错误;我初学jsp看不懂
Error 500--Internal Server Error
java.sql.SQLException: ORA-00933: SQL }?cn觃 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1983)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:877)
at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2513)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2857)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:640)
at jsp_servlet.__login._jspService(__login.java:138)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
高手帮忙,怎么回事
那是什么的问题
String isCorrect="select * from student where name="+id+"and password="+pwd+"";你打出这个字符串 直接到数据库执行下 可不可以
好象应该是
String isCorrect="select * from student where name='"+id+"'and password='"+pwd+"'";