文件一览
- ValidationServlet.java
- validation.html
- web.xml
ValidationServlet.java
package ajaxbook.chap4;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ValidationServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
boolean passed = validateDate(req.getParameter("birthDate"));
resp.setContentType("text/xml");
resp.setHeader("Cache-Control", "no-Cache");
String message = "You have entered an invalid date. ";
if (passed) {
message = "You have entered a valid date. ";
}
out.println("<response>");
out.println("<passed>" + Boolean.toString(passed) + "</passed>");
out.println("<message>" + message + "</message>");
out.println("</response>");
}
private boolean validateDate(String date) {
boolean isValid = true;
if (date != null) {
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
try {
formatter.parse(date);
} catch (ParseException e) {
isValid = false;
}
} else {
isValid = false;
}
return isValid;
}
}
validation.html
<!DOCTYPE HTML PUBLIC " //W3C//DTD HTML 4.01 Transitional//EN" >
<html>
<head>
<title>Using Ajax for validation</title>
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function validation() {
createXMLHttpRequest();
var date = document.getElementById("birthDate");
var url = "ValidationServlet?birthDate=" + escape(date.value);
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
function callback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var mes = xmlHttp.responseXML.getElementsByTagName("message")[0].firstChild.data;
var val = xmlHttp.responseXML.getElementsByTagName("passed")[0].firstChild.data;
setMessage(mes,val);
}
}
}
function setMessage(message,isValid) {
var messageArea = document.getElementById("dateMessage");
var fontColor = "red";
if (isValid == "true") {
fontColor = "green";
}
messageArea.innerHTML = "<font color=" + fontColor + ">" + message + " </font>";
}
</script>
</head>
<body>
<h1>Ajax Validtion Example</h1>
Birth Date:<input type="text" size="10" id="birthDate" onchange="validation();" />
<div id="dateMessage"></div>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 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">
<display-name>AjaxBookWeb</display-name>
<servlet>
<servlet-name>ValidationServlet</servlet-name>
<servlet-class>ajaxbook.chap4.ValidationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ValidationServlet</servlet-name>
<url-pattern>/ValidationServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>validation.html</welcome-file>
</welcome-file-list>
</web-app>
执行效果如下附件:
- 大小: 25.3 KB
分享到:
相关推荐
在这一案例中,开发者通常会创建一个JavaScript函数,使用Ajax技术向服务器发送一个请求,请求的目标是获取服务器当前的时间。这个请求是异步的,不会阻塞用户的其他操作。服务器接收到请求后,处理并返回时间数据,...
无刷验证(又称实时验证或AJAX验证)是这种技术的一个典型应用,它提高了用户体验,因为在用户输入数据时,可以立即在后台验证其有效性,而无需等待整个表单提交。下面我们将详细探讨jQuery AJAX以及如何实现无刷...
你可以通过解压文件,运行其中的示例,学习并理解Ajax验证的具体实现。 总之,Ajax表单验证结合了前端和后端的优势,实现了高效且流畅的用户交互。通过使用PHP作为后端语言,可以灵活地实现各种复杂的验证逻辑,并...
在本资源包中,"AJAX验证表单"是指利用AJAX技术来实现实时验证用户在表单中输入的数据,提高用户体验,避免了传统方式下提交表单后服务器返回错误信息时的页面跳转。 `validation.js`:这个JavaScript文件很可能是...
通过这个Ajax类实现用户名无刷新检测、密码强度检测、邮箱格式判断、字母与数字判断等,可以说包括了一般表单所需要的数据判断类型,本实例包括数据库连接代码,需要连接数据库的地方会有说明,有时间的朋友可对照...
本实例将探讨如何在ASP.NET中集成AJAX验证,以实现实时、无刷新的用户输入验证。 首先,我们需要理解AJAX验证的基本原理。AJAX验证主要通过JavaScript和XMLHttpRequest对象来实现,它能在用户输入数据时立即发送...
综上所述,"Ajax实时验证用户名邮箱等是否已经存在"是提升Web应用用户体验的重要技术,涉及到前端与后端的交互、数据验证、用户体验优化等多个方面。通过合理设计和实现,可以大大提高用户注册和登录的便捷性和安全...
在本项目中,我们关注的是“Ajax表单验证”,这是一个利用Ajax技术实现在用户填写表单时实时验证数据的有效性,而无需整个页面进行刷新的过程。通过这种方式,我们可以减少用户等待时间,提供更流畅的界面操作。 ...
在这个“ajax的日期验证.rar”压缩包中,我们主要关注的是如何使用Ajax来实现表单中的日期验证功能。 日期验证通常用于确保用户输入的日期格式正确,例如"YYYY-MM-DD"或"MM/DD/YYYY"等。在前端,我们可以使用...
在传统的Web应用中,验证通常发生在服务器端,但使用Ajax和jQuery,我们可以实现前端验证,提供即时反馈,减少用户等待时间。 具体实现步骤可能包括以下几点: 1. **选择器和事件绑定**:使用jQuery的选择器找到...
本教程将介绍如何使用PHP生成验证码图像,并结合jQuery实现AJAX验证,以提供无刷新的用户体验。 首先,我们要创建一个PHP文件(如`captcha.php`),用于生成随机的验证码和对应的图像。验证码通常包含一些字母和...
特别是对于注册和登录功能,AJAX可以提供无缝、快速的验证过程,减少用户等待时间,提升用户满意度。 **1. AJAX基础** AJAX(Asynchronous JavaScript and XML)的核心是JavaScript,它利用XMLHttpRequest对象与...
JavaMail 是一个开源库,它提供了在Java应用程序中发送和...这个项目展示了JavaMail、Ajax和JSP在实际应用中的融合,实现了邮箱验证这一常见的功能,对于初学者来说是很好的实践案例,有助于理解这些技术的综合运用。
综上所述,"Ajax用户注册验证"涉及的技术点包括前端的Ajax交互、数据验证、用户体验设计,以及后端的接口设计与安全性考量。通过这一系列步骤,我们可以构建一个高效、安全且用户体验良好的注册流程。
### Ajax验证用户名是否存在示例详解 #### 一、概述 在Web开发中,为了提高用户体验,经常会在用户输入用户名时即时验证该用户名是否已经被其他用户注册。这种验证方式可以通过Ajax技术实现,即在用户输入的同时向...
通过这种方式,Ajax提高了用户体验,因为页面交互变得更流畅,减少了用户等待时间。 二、表单验证的重要性 表单验证是Web应用程序中必不可少的一环,它可以确保用户输入的数据符合预设规则,减少无效或错误的数据...
Ajax验证在注册、登录、编辑等场景非常常见,它能提供即时反馈,减少用户等待时间,提高交互性。在实际开发中,还可以结合jQuery、axios等库简化Ajax操作,或者使用ASP.NET MVC的Ajax辅助方法进行更高级的验证。同时...
AJAX(Asynchronous JavaScript and XML)是一种基于JavaScript和XML的技术,可以实现实时的表单验证,从而减少用户的等待时间和提高用户体验。在PHP环境下,AJAX技术可以用于实现实时的表单验证。 四、结论 本...
### 异步Ajax验证用户名(防止重名) #### 背景 在现代Web开发中,确保用户在注册过程中的信息唯一性是非常重要的。为了避免用户名重复的问题,开发人员经常使用Ajax技术来实现实时的用户名验证功能。这种方式不仅...
8. **安全考虑**:虽然AJAX提供了良好的用户体验,但需要注意的是,前端验证并非完全安全,恶意用户可以绕过前端验证直接向服务器发送请求。因此,服务器端的验证仍然至关重要,且应设计有防止SQL注入、XSS攻击等的...