ajax对表单验证
2013-01-02 10:59
288 查看
package ajaxservlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import db.DBconnection; public class AjaxServlet extends HttpServlet { //private static final long serialVersionUID = 1L; public void destroy() { try { DBconnection.connectionClose(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); response.setHeader("Cache-Control","no-cache"); PrintWriter out=response.getWriter(); String name=request.getParameter("username"); String pass=request.getParameter("userpass"); String pass2=request.getParameter("userpass2"); String a=request.getParameter("a"); String b=request.getParameter("b"); System.out.println(name+" "+pass); System.out.println("a "+a); System.out.println("b "+b); request.setAttribute("name",name); System.out.println(name); try { if(checkName(name)) { System.out.println(checkName(name)); System.out.println("checkname="+name); out.write("用户名已经存在,请重新输入!"); System.out.println("xxxxxxxxxxxxxxxxx"); request.setAttribute("error.message","用户名已经存在"); } else { out.write("此用户名合法"); } } catch (SQLException e) { // TODO Auto-generated catch block out.close(); e.printStackTrace(); } } public boolean checkName(String name) throws SQLException //检查用户名是否存在 { boolean flag=false; Connection conn=DBconnection.getConnection(); System.out.println("conn="+conn); /*String sql="select * from a_user where username='"+name+"'"; System.out.println("name="+name); Statement state=conn.createStatement(); ResultSet rs=state.executeQuery(sql);*/ String sql="select * from a_user where username=?"; PreparedStatement pstate=conn.prepareStatement(sql); pstate.setString(1,name); ResultSet rs=pstate.executeQuery(); //System.out.println(rs.getInt(0)); //System.out.println(rs.getString("username")); while(rs.next()) { System.out.println("rs.getString(username)="+rs.getString("username")); flag=true; } return flag; } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //response.setContentType("text/html"); this.doGet(request, response); } public void init() throws ServletException { } }
//以下是ajax部分var xmlhttp;function ajaxfun(){if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}else{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}return xmlhttp;}window.onload=function(){document.getElementById("username1").onblur=function(){var name=document.getElementsByName("username")[0].value;xmlhttp=ajaxfun();xmlhttp.onreadystatechange=check;//xmlhttp.open("get","http://localhost:8080/ajaxtest/AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);//以下是get方法传值/*xmlhttp.open("get","./AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);xmlhttp.send(null);*//** 如果需要像 HTML 表单那样使用 POST 传递数据,请使用 setRequestHeader() 来添加 HTTP 头。* 然后在 send() 方法中规定您希望发送的数据:*/xmlhttp.open("post","./AjaxServlet?username="+name+"&time="+new Date().toTimeString(),true);xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")xmlhttp.send("a=100&b=222");}}function check(){alert(xmlhttp.status);if(xmlhttp.readyState==4 && xmlhttp.status==200){alert(xmlhttp.status);document.getElementById("span").innerHTML=xmlhttp.responseText;}}
//jsp中的body部分<body><%--<form action="/ajaxtest/RegisteServlet" method="get"><form action="" method="get" enctype="application/x-www-form-urlencoded">--%><form action="/ajaxtest/RegisteServlet" method="get">用户名:<input type="text" name="username" id="username1"/><span id="span"></span><br>密码:<input type="password" name="userpass"/><br>确认密码:<input type="password" name="userpass2"/><br><input type="submit" value="提交"/><input type="button" name="username" id="username1" value="点击"/></form></body>
相关文章推荐
- [转]Asp.net(Ajax)表单验证 函数包
- ajax和servlet交互,表单日历插件,表单验证,form.js
- Ajax注册表单用户名实时验证
- yii2 modal弹窗之ActiveForm ajax表单异步验证
- 自己实现的ajax表单验证
- Javascript 表单验证对象控件 + ajax简单验证重复项与ajax提交数据
- liferay集成jQuery Validation Engine 表单验证及ajax的运用
- Asp.net(Ajax)表单验证 函数包
- Form表单利用Jquery Validate验证以及ajax提交
- jquery---------ajax+validate表单异步提交验证
- Ajax验证表单(同步验证)
- 使用jquery validate和ajax进行表单验证并向后台提交数据
- Ajax用户注册验证 验证合格才能提交表单 编辑
- yii2 modal弹窗之ActiveForm ajax表单异步验证
- 常用网站后台与前台表单的有效性复杂验证(net+jqury+ajax)不用验证控件方法
- 使用jquery中的ajax方法验证表单
- 一个可以基于Ajax提交的表单验证
- Jquery、 ajax和struts2+Hibernate查询数据库验证用户名是否存在,表单禁止提交等!
- jquery---------ajax+validate表单异步提交验证
- 基于Ajax,异步表单验证,实现有一条件不满足不能提交