<%@page import="edu.jmi.db.*" %>
<%@page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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 dbpw=DB.validUser(str);
if(dbpw==null){
String sql="insert into user(name,password,email) values(?,?,?)";
PreparedStatement pst=conn.prepareStatement(sql);//执行sql语句
// pst.setInt(1,1); //id
pst.setString(1,str);//name
pst.setString(2,str1);//pass
pst.setString(3,str3);//email
if(str1.equals(str2)){
//3.3执行插入
int res=pst.executeUpdate();
System.out.println("插入结果是:"+res);
pst.close();
conn.close();
session.setAttribute("usr", str);
response.sendRedirect("regok.jsp");
}else{
session.setAttribute("errmsg", "密码和确认密码不一致");
}
}else{
session.setAttribute("errmsg2", "用户名已存在,请重新输入");
}
}
String err = (String)session.getAttribute("errmsg");
if(err==null){
err="";
}
String err2 = (String)session.getAttribute("errmsg2");
if(err2==null){
err2="";
}
%>
<%=session.getAttribute("errmsg") %>
<%=session.getAttribute("errmsg2") %>
用户名:
密码:
确认密码:
邮箱:
首先, 你的if只是判断name参数不为空时返回,但是可能进入else分支了。其次,页面打印的代码是因为最后两句取session中的数据为空,你最后两行是独立的,其实应该在某个判断语句中,如果有异常情况,就在页面输出。