在进行一个新用户的注册前,必须保证用户的ID唯一,不能重复;
servlet:
package check.lid.servlet;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class CheckServlet extends HttpServlet{
public static final String DBDRIVEDR="org.gjt.mm.mysql.Driver";
public static final String DBURL="jdbc:mysql://localhost:3306/lid";
public static final String DBUSERNAME="root";
public static final String DBPASSWORD="123";
public Connection conn=null;
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
this.doPost(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
PrintWriter out=response.getWriter();
String userid=request.getParameter("userid");
request.setCharacterEncoding("GBK");
response.setContentType("text/html");
conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
try{
Class.forName(DBDRIVEDR);
conn=DriverManager.getConnection
(DBURL,DBUSERNAME,DBPASSWORD);
String sql="select count(userid) from user where userid=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,userid);
rs=pstmt.executeQuery();
if(rs.next()){
if(rs.getInt(1)>0){
out.print("true");
}
else{
out.print("false");
}
}
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
conn.close();
}
catch(Exception e){
}
}
}
}
在web.xml中进行配置:
<servlet>
<servlet-name>CheckServlet</servlet-name>
<servlet-class>check.lid.servlet.CheckServlet</servlet-class>
</servlet>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CheckServlet</servlet-name>
<url-pattern>/ajax_demo1/CheckServlet</url-pattern>
</servlet-mapping>
启动服务器;
<html>
<head>
<scripte>
var xmlHttp;
var flag=false;
function createXMLHttp(){
if(window.XMLHttpRequest){//判断当前使用的浏览器
xmlHttp=new XMLHttpRequest();//表示是使用的FireFox内核的浏览
器
}esle{ //表示使用的是ie浏览器
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
function checkUserid(userid){
createXMLHttp();
xmlHttp.open("POST","CheckServlet?userid="+userid);
xmlHttp.onreadystatechange=checkUseridCallback;
xmlHttp.send(null);
}
function checkUseridCallback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var text=xmlHttp.responseText;
if(text=="true"){
document.getElementById("msg").innerHtml="用户ID重复
";
flag=false;
}else{
document.getElementById("msg").innerHtml="此用户ID可
以注册";
flag=true;
}
}
}
funcition checkForm(){
return flag;
}
</script>
</head>
<body>
<form action="regist.jsp" method="post" οnsubmit="return checkForm()">
用户ID:<input type="text" name="userid" οnblur="checkUserId
(this.value)">
<span id="msg"></span><br>
姓名:<input type="text" name="name"><br>
密码:<input type="password" name="password">
<input type="submit" value="注册">
<input type="reset" value="重置">
</form>
</body>
</html>