技术开发 频道

简单的Ajax+Servlet表单数据验证


IT168技术文档】 
    一、用户注册的JSP页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <head> <META http-equiv=Content-Type content="text/html; charset=UTF-8"> </head> <script language="javascript"> var XMLHttpReq; //创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.XMLHttpRequest) {
//Mozilla 浏览器
XMLHttpReq = new XMLHttpRequest(); }
else if (window.ActiveXObject) {
// IE浏览器
try { XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try { XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {} } } }
//发送请求函数
function sendRequest(url) {
createXMLHttpRequest();
XMLHttpReq.open("GET", url, true);
XMLHttpReq.onreadystatechange = processResponse;
//指定响应函数
XMLHttpReq.send(null);
// 发送请求 } // 处理返回信息函数
function processResponse() {
if (XMLHttpReq.readyState == 4) {
// 判断对象状态
if (XMLHttpReq.status == 200) {
// 信息已经成功返回,开始处理信息
var res=XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data;
window.alert(res);
} else {
//页面不正常
window.alert("您所请求的页面有异常。");
} } }
// 注册函数
function signUp() {
var uname = document.myform.uname.value;
var psw = document.myform.psw.value;
var psw2 = document.myform.psw2.value;
if(uname=="") { window.alert("用户名不能为空。");
document.myform.uname.focus(); return false; }
else if(psw!=psw2) { window.alert("两次输入密码不同。");
document.myform.psw.focus(); return false; } else {
sendRequest('signUp?uname='+ uname + '&psw=' + psw); } }
    二、处理AJAX请求的servlet
package classmate; import java.io.IOException; import java.io.PrintWriter; import java.sql.ResultSet; import java.sql.SQLException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SignUpAction extends HttpServlet { public void init(ServletConfig config) throws ServletException { } /* * 处理<GET> 请求方法. */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置接收信息的字符集 request.setCharacterEncoding("UTF-8"); //接收浏览器端提交的信息 String uname = request.getParameter("uname"); String psw = request.getParameter("psw"); //设置输出信息的格式及字符集 response.setContentType("text/xml; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); //创建输出流对象 PrintWriter out = response.getWriter(); //依据验证结果输出不同的数据信息 out.println("<response>"); //数据库操作 DB db = new DB(); ResultSet rs; int insRes = 0; String strSql=null; //判断用户名是否重复 strSql = "select * from classuser where username='" + uname + "'"; rs = db.executeQuery(strSql); boolean bnoRepeat = false; try { if ( !rs.next()) { bnoRepeat = true; } } catch (SQLException e) { e.printStackTrace(); } //用户名不重复,插入记录 if (bnoRepeat){ strSql = "Insert Into classuser values('"+ uname + "','" + psw + "')"; insRes = db. executeUpdate(strSql); } if(!bnoRepeat){ out.println("<res>" + "注册失败!用户名已存在,重新输入用户名" + "</res>"); }else if(insRes>0){ out.println("<res>" + "注册成功!" + "</res>"); }else{ out.println("<res>" + "注册失败!" + "</res>"); } out.println("</response>"); out.close(); } }

0
相关文章