WEB应用中在表单验证时AJAX起到了很大的作用,特别是对用户名的验证。
JSP页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<input type="text" id="text"/>
<input type="button" id="ok" value="测试"/>
</body>
<script type="text/javascript">
function ajaxFunction() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxm12.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
return xmlHttp;
}
window.onload = function()
{
document.getElementById("ok").onclick = function()
{
// 01 获取xmlhttprequest对象
var xmlReq = ajaxFunction();
var infor = document.getElementById("text").value;
// 02接收服务器响应
xmlReq.onreadystatechange = function()
{
if(xmlReq.readyState ==4 )
{
if(xmlReq.status == 200 || xmlReq.status == 304)
{
var data = xmlReq.responseText;
alert(data);
}
}
};
// 03打开和服务器的连接
xmlReq.open("post","./MyServlet?timeStamp="+new Date().getTime(),true);
//post方法需要
xmlReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
// 04发送数据
xmlReq.send("inf="+infor);
};
};
</script>
</html>
xmlReq的onreadyStateChange事件是在readyState属性发生改变时触发的,readyState的值表示了当前请求的状态,在事件处理程序中可以根据这个值来进行不同的处理。
xmlReq.readyState一共有5个值:
0 (未初始化)
对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化)
对象已建立,尚未调用send方法
2 (发送数据)
send方法已调用,但是当前的状态及http头未知
3 (数据传送中)
已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成)
数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
xmlReq.status == 200表示执行成功
xmlReq.status == 304表示文件没有变化
一般指判断是否等于200就OK了
在这里表单提交的方式是post
以post方式提交的话,必须加上一句代码
xmlReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
一共有4步:
1.获取xmlhttprequest对象
function ajaxFunction() {
var xmlHttp;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxm12.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
}
}
}
return xmlHttp;
}
2.接收服务器响应
xmlReq.onreadystatechange = function()
{
if(xmlReq.readyState ==4 )
{
if(xmlReq.status == 200 || xmlReq.status == 304)
{
var data = xmlReq.responseText;
alert(data);
}
}
};
3.打开和服务器连接,open方法一个有三个值,第一个值表示提交的方式是get还是post.
第二个值表示,提交给谁处理,是一个路径。第三个值表示是否异步请求,true为异步。
xmlReq.open("post","./MyServlet?timeStamp="+new Date().getTime(),true);
4.发送数据
xmlReq.send("inf="+infor);
Servlet:
package com.lxf.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String text = request.getParameter("inf");
if (text.equals("admin")) {
out.println("error");
} else {
out.println(text);
}
}
}
- 大小: 16.3 KB
- 大小: 15.9 KB
分享到:
相关推荐
【基于jsp+servlet+Ajax异步登陆模拟web项目】是一个典型的Web开发实例,它整合了三种核心技术:JavaServer Pages(JSP)、Servlet以及Asynchronous JavaScript and XML(Ajax)。这个项目的核心目的是实现用户登录...
通过这个案例,开发者可以深入理解JSP、AJAX、Servlet和JDBC之间的协同工作原理,为后续学习更高级的Web框架如Spring MVC或Struts打下坚实基础。同时,这也是一个实际操作的练习,帮助开发者提高动手能力和问题解决...
**正文** 本项目是关于构建一个使用JSP、Ajax和Servlet技术实现的自动完成搜索功能,类似于谷歌或百度搜索引擎...这个项目不仅展示了JSP、Ajax和Servlet的综合应用,还强调了与数据库的交互以及前端与后端的通信方式。
**JSP+Servlet+AJAX DAO设计模式详解** 在Web开发中,DAO(Data Access Object)...通过分析和学习这些代码,你可以更好地理解JSP、Servlet、AJAX和DAO设计模式如何协同工作,为Web应用程序提供高效的数据交互功能。
本示例主要展示了如何使用JSP、AJAX以及Servlet实现动态的分页功能。在Web开发中,分页是一种常见的用户界面设计,它能够帮助用户更有效地浏览大量数据,而不会一次性加载所有内容导致页面加载缓慢或资源消耗过大。...
在IT领域,构建Web应用程序是常见的任务之一,而本示例提供了一个基于JSP、JavaBean、Servlet、Ajax以及Mysql的完整应用实例,主要涵盖了数据的增删查改(CRUD)操作,并且利用Ajax实现了异步的验证码验证功能。...
AJAX通过JavaScript异步地向服务器发送请求,并在后台处理响应,使得用户界面保持交互性,提高用户体验。在这个项目中,当用户填写完注册信息并点击注册按钮时,AJAX会发送一个包含这些信息的HTTP请求到Servlet,而...
Ajax,即Asynchronous JavaScript and XML,是一种创建异步Web应用的技术,允许后台与服务器进行通信而不影响用户对页面的交互。在登录或注册过程中,Ajax可以实现无刷新验证,提高用户体验。例如,当用户输入用户名...
总结来说,Servlet处理业务逻辑和数据库交互,JSP用于生成动态页面,而Ajax则实现了页面的无刷新更新,提高了用户体验。这个示例项目"Servlet+jsp+AJax的分页及增删改查"提供了一个学习和实践这些技术的平台,有助于...
### AJAX在JSP、Struts、Servlet、WebWork中的应用 #### 一、引言 随着Web技术的发展,用户对网站交互性和响应速度的要求越来越高。AJAX(Asynchronous JavaScript and XML)作为一种新兴的技术,能够在不重新加载...
在IT行业中,构建Web应用程序是常见的任务之一,而"jsp+servlet+ajax实现登录"的案例则是一个典型的前后端交互示例。这个案例利用了JavaServer Pages (JSP)、Servlet和Asynchronous JavaScript and XML (AJAX)的技术...
【Ajax聊天室】是一个基于Java Web技术实现的简单交互式应用,主要利用了Servlet、JSP和Ajax技术。这个小例子展示了如何通过Ajax实现在不刷新整个页面的情况下更新内容,提供了一个基本的在线聊天功能。 1. **...
AJAX+servlet实例入门 AJAX+servlet实例入门是指通过结合AJAX技术和Servlet实现的Web应用程序。...通过这个实例,开发者可以学习如何使用AJAX和Servlet来实现异步交互、响应速度快、复杂UI的成功处理等功能。
在IT行业中,Web开发是至关重要的领域,而`jsp`(JavaServer Pages)、`servlet`和`ajax`(Asynchronous JavaScript and XML)是构建动态交互式Web应用的关键技术。以下是对这些技术的详细说明: 1. **JSP(Java...
在本文中,我们将深入探讨如何使用Ajax、JSP、MySQL和Servlet技术来实现一个功能完善的用户注册验证系统,以及在该系统中实现省市联动的效果。这对于JavaWeb开发初学者和Ajax爱好者来说,是一个非常实用的学习案例。...
通过以上步骤,我们可以在Java Servlet和JSP页面中有效地实现AJAX请求,实现页面的无刷新更新,提升用户的交互体验。在实际开发中,还可以结合现代前端框架如Vue.js、React.js等,进一步优化AJAX请求的处理和页面...
【标题】"Mysql + jsp +javabean+ jquery +ajax+servlet等的例子综合"是一个涵盖多种技术的Web开发实战项目,旨在帮助开发者理解如何将这些技术有效地整合在一起,以构建动态、交互性强的Web应用程序。在这个项目中...
总结来说,Ajax动态加载结合JSP和Servlet,可以实现高效、流畅的用户交互,减少页面刷新带来的延迟感,提升Web应用的性能和用户体验。在实际开发中,理解并掌握这一技术对提升Web应用的质量至关重要。
在整个过程中,JSP负责用户界面展示,Servlet处理业务逻辑和数据交互,Ajax确保了交互的流畅性。这种架构使得用户在添加或修改购物车内容时能立即看到反馈,提高了系统的响应速度和用户体验。 此外,购物车系统还...