请帮看一下这段“注册”代码哪里错了?
jsp页面:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*"%>
<jsp:useBean id="contact2" class="gs.ContactBean2" scope="page"/>
<%! String name,password,password2; %>
<% name=request.getParameter("username");
password=request.getParameter("pw");
password2=request.getParameter("pw2");
if(name.equals("")) response.sendRedirect("noname.jsp" );
if(password.equals("")) response.sendRedirect("nopassword.jsp" );
if(password.equals(password2))
{
ResultSet rst=contact2.getuser();
while(rst.next())
{
if(name.equals(rst.getString("username")))
{
response.sendRedirect("samename.jsp" );
}
}
contact2.adduser(name,password);
response.sendRedirect("success.jsp" );
}
response.sendRedirect("nosamepw.jsp" );
%>
javabean
package gs;
import java.sql.*;
public class ContactBean2
{
private Connection con;
public ContactBean2()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:jspdev");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void adduser(String name,String password)
{
try
{
PreparedStatement pstmt=con.prepareStatement("insert into Contact2 values(?,?)");
pstmt.setString(1,name);
pstmt.setString(2,password);
pstmt.execute();
//con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public ResultSet getuser()
{
try
{
Statement stm=con.createStatement();
ResultSet result=stm.executeQuery("select * from Contact2");
return result;
}
catch(Exception e)
{
return null;
}
}
}
问题点数:20、回复次数:5Top
1 楼gs11002233(行云流水)回复于 2005-02-20 00:42:37 得分 0
可以把数据加到数据库里,但不能正常显示相应页面!!
是什么问题呢??Top
2 楼jonasxujun(编程王子)回复于 2005-02-20 09:51:40 得分 0
你把getuser方法里面的catch段去掉,看看是报了什么错Top
3 楼java_augur(听着音乐 ☆☆☆☆☆☆)回复于 2005-02-20 10:14:35 得分 10
if((name == null) || (name.length() <= 0) || (password == 0) || (password.length() <=0 )){
res.sendRedirect(res.encodeURL("/Status.jsp?code=2"));
}
sendRedirect method can't hold up the session,u should use the codes above.
best regards!
Top
4 楼gs11002233(行云流水)回复于 2005-02-20 17:17:41 得分 0
现在我把jsp页面代码改为:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*"%>
<jsp:useBean id="contact2" class="gs.ContactBean2" scope="page"/>
<%! String name,password,password2; %>
<% name=request.getParameter("username");
password=request.getParameter("pw");
password2=request.getParameter("pw2");
if(name.equals("")||password.equals("")||!password.equals(password2))
{out.println("输入不正确");}
else
{
ResultSet rst=contact2.getuser();
while(rst.next())
{
if(name.equals(rst.getString("username")))
{
response.sendRedirect("samename.jsp" );
//out.println("对不起,此用户名以存在!!");
}
}
contact2.adduser(name,password);
out.println("恭喜你 注册成功!!");
}
%>
现在是可以判断出"输入不正确"了,但不能判断出用户名重复的问题,可能就是
while(rst.next())
{
if(name.equals(rst.getString("username")))
{
response.sendRedirect("samename.jsp" );
//out.println("对不起,此用户名以存在!!");
}
}
这段代码有问题,但不知道是什么问题呢??Top
5 楼singedcat(以夢為馬)回复于 2005-02-21 14:35:58 得分 10
upTop




