简单的ajax+servlet表单数据验证

2016-02-19 15:05 34 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐简单的ajax+servlet表单数据验证,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

一、用户注册的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);  } }/script

body vLink="#006666" link="#003366" bgColor="#E0F0F8"
  img height="33" src="enter.gif" width="148"
  form action="" method="post" name="myform"
    用户名: input size="15" name="uname"p
    密  码: input type="password" size="15" name="psw"p
    重输密码: input type="password" size="20" name="psw2"p
    input type="button" value="注册" onclick="signUp()"
  /form


/body

运行图:





(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

 

二、处理AJAX请求的servlet

package classmate;
import java.io.IOException;
import java.io.PrintWriter;

ntln("res" + "注册失败!" + "/res");
  } 
 
  out.println("/response");
  out.close();
    }
}

三、数据库操作类:

package classmate;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DB {
 Connection connect = null;
 ResultSet rs = null;
 public DB() {
  try {
   Class.forName("org.gjt.mm.mysql.Driver");  //设置驱动程序类型  
  }
  catch(java.lang.ClassNotFoundException e) {
   e.printStackTrace();
  }
 }
 //执行查询语句的方法
 public ResultSet executeQuery(String sql) {
  try {
//建立与数据库服务器的连接
     onnect = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test1", "root", "");br     tatement stmt = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   rs = stmt.executeQuery(sql);//执行指定的数据查询语句
  }
  catch(SQLException ex) {
   ex.printStackTrace();
  }
  return rs;
 }
    //执行增、删改语句的方法
 public int executeUpdate(String sql) {
  int result = 0;
  try {
   connect = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test1", "root", "");
   Statement stmt = connect.createStatement();
   result = stmt.executeUpdate(sql);//执行指定的数据操作语句
  }
  catch(SQLException ex) {
   System.err.println(ex.getMessage());  
  }
  return result;
 }
 //关闭数据库连接的方法
 public void close(){
  if(connect!=null){
   try{
    connect.close();
    connect = null; 
   }catch(SQLException ex) {
    System.err.println(ex.getMessage());
   }
  } 
 }
 
}

四、web.xml文件中配置servlet

?xml version="1.0" encoding="UTF-8"?
web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

servlet
servlet-namems1/servlet-name
servlet-classclassmate.SignUpAction/servlet-class
/servlet

servlet-mapping
servlet-namems1/servlet-name
url-pattern/signUp/url-pattern
/servlet-mapping

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(insRes0){
   out.println("res" + "注册成功!" + "/res");
  }else{
   out.pri

来源:http://www.tulaoshi.com/n/20160219/1608793.html

延伸阅读
标签: Web开发
做一个表单验证里面最简单的例子,检查用户名是否存在,使用Ajax完成表单验证的正常步骤应该是: 客户端收集表单信息。 使用XMLHttpRequest对象提交到服务器。 服务器完成验证的逻辑,返回结果信息。 浏览器端根据服务器返回的信息对用户做出一定的提示。 不过由于我的空间不支持任何服务器段语言,所以把本应在服务器的逻辑搬到了浏...
标签: ASP
  如你熟知ASP,XML和HTML4。0,请读下列示例 将表单数据存为XML格式 通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为 XML文件格式。这种方式对于在web上收集的数据更为有用。因为XML对于所用平台来说非常的简便,所以用不着转换数据格 式。 将提交的数据写为XML文...
标签: ASP
       XML和HTML4。0,请读下列示例      将表单数据存为XML格式       通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为XML文件格式。这种方式对于在web上收集的数据更为有用。因为XML对于所用平...
 服务器端操作方便之处我就不吹了,地球人都知道,它最烦莫过于页面刷新,头都被刷晕了,而且他在刷新的时候,还触发服务器端的事件(解决方案:http://skylaugh.cnblogs.com/archive/2006/06/05/418010.html),现在Ajax的出现,他们的结合是发展的必然!     一、介绍一下Ajax在Asp.Net中的基本使用   &nb...
标签: excel
用Excel的视图和宏分类显示表单数据   对于一个包含许多数据列的Excel工作表而言,用户往往希望只显示对自己有用的部分数据列,同时隐去不需要的数据列。同时不同用户对所要求显示的数据列往往又是不相同的。 例如,对于一张包含多个科目的学生成绩表,语文老师可能只想看语文成绩,数学老师可能只想看数学成绩。但是,由于多个...

经验教程

67

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部