<%@page import="com.sun.corba.se.spi.orbutil.fsm.Guard.Result"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page import= "edu.jmi.db.*" %>
<%@ page import= "edu.jmi.dao.*" %>
<%@ page import= "edu.jmi.model.*" %>
<%@ page import= "java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
//3存取数据库
//3.1获取数据库链接
Connection conn=DB.getConnection();
//3.2准备插入sql语句
String sql="insert into user(name,password,email) values(?,?,?)";
PreparedStatement pst=conn.prepareStatement(sql);
pst.setString(1,str);//name
pst.setString(2,str1);//pass
pst.setString(3,str3);//email
if(str1.equals(str2)){
session.setAttribute("usr", str);
response.sendRedirect("regok.jsp");
}else{
session.setAttribute("errmsg", "密码和确认密码不一致");
}
//3.3执行插入
int res=pst.executeUpdate();
System.out.println("插入结果是:"+res);
pst.close();
conn.close();
}
%>
用户名:
密码:
确认密码:
邮箱:
if(str1.equals(str2)){
session.setAttribute("usr", str);
response.sendRedirect("regok.jsp");
}else{
session.setAttribute("errmsg", "密码和确认密码不一致");
}
哪错了
你的思路错误了,验证两次密码是否一样要在前端用js获取输入框里的value,然后比较是否一样,在后台验证增加了运行时间不合理;
另外上我的代码:
jsp部分代码:
div class="login-pass login-field">
js代码:
//确认密码重复正确
function checkPwdAgain(obj){
var pwd2 = obj.value;
if(pwd==pwd2){
$("#showResult1").html("");
$('.btn').css({background:'#ffb131',border:'#ffb131',color:'#fff'});
canNext=true;
}else{
$("#showResult1").html("两次输入密码不一致,请重新输入");
$('.btn').css({background:'#d9d9d9',border:'#d9d9d9',color:'#808080'});
canNext = false;
}
}
代码上没看出什么错 你要把你报的错发出来啊 另外你判断密码和确认密码是否相同的位置我觉得不对 在你获取数据库链接之前就应该判断、如果不相同下面的就没必要执行了
用JS验证啊,在页面是验证两个值是否一样,一样能提交,不一样就提示两次输入密码不一致。
在JSP页面获取两个文本框的值就可以验证两个值是否保持一致。根本不用提交再验证,那样太耗时