关于jsp注册页面判断用户名是否重复的问题

<%

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = null;
Statement st = null;
conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=help", "sa","");
st = conn.createStatement();
%>
<%
String s_userid=request.getParameter("username");
String s_password=request.getParameter("password");
String s_gender=request.getParameter("gender");
String s_phone=request.getParameter("call");
String s_email=request.getParameter("email");
String s_sql="insert into userinfo(username,password,gender,call,email) "+
"values('"+s_userid+"','"+s_password+"','"+s_gender+"','"+s_phone+"','"+s_email+"')" ;
try{
st.executeUpdate(s_sql);
}
catch(Exception e){
response.sendRedirect("error.jsp");
}
%>
这是部分代码,就是如果重复的话,插入就会抛出异常,所以就用sendredirect跳转到error.jsp,但是,这样我每次访问注册页面,都直接跳去error.jsp,是因为异常还在吗?怎样解决?谢谢各位大大了~~~~~

第1个回答  推荐于2016-10-28
最后把username设为主建,每次select * from userinfo where username='username',再判断结果是否为空,为空再跳转到注册页表,并提示,用户已存在,不为空则再执行插入操作本回答被提问者和网友采纳
第2个回答  2012-05-21
如果try裏面的类容是正确的,就不回进入catch,
这里的异常是因为环境问题,例如tomcat没有打开,
这里你应该捕获异常
第3个回答  2012-05-17
把跳转语句替换成打印Exception内容,看看是什么错误就明白了
第4个回答  2012-05-17
...
相似回答