<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<TITLE>Ajax验证用户名是否存在例子</TITLE>
<script>
//设一个变量
var XMLHttpReq=false;
//创建一个XMLHttpRequest对象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){ //Mozilla
XMLHttpReq=new XMLHttpRequest();
}
else if(window.ActiveXObject){
try{
XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
}
//发送请求函数
function send(url){
createXMLHttpRequest();
XMLHttpReq.open("get",url,true);
XMLHttpReq.onreadystatechange=proce; //指定响应的函数
XMLHttpReq.send(null); //发送请求
}
function proce(){
if(XMLHttpReq.readyState==4){ //对象状态
if(XMLHttpReq.status==200){//信息已成功返回,开始处理信息
<!--测试读取xml开始-->
var root=XMLHttpReq.responseXML;
var res=root.getElementsByTagName("content")[0].firstChild.data;
window.alert(res);
<!--测试读取xml结束-->
//var xmlReturn = XMLHttpReq.responseText;
//window.alert(xmlReturn);
}else{
window.alert("所请求的页面有异常");
}
}
}
//身份验证
function check(){
var name=document.getElementById("name").value;
if(name==""){
alert("请输入姓名!");
return false;
}
else{
//send('login?name='+name);
document.getElementById("load").style.display='';
send('login.do?name='+name);
document.getElementById("load").style.display='none';
}
}
</script>
</head>
<body>
<form action="login" method="post">
<table>
<tr><td>姓名: <input id="name" type="text" name="name"/><p>
<div id=load style="display:none; position:absolute;right:0px;top:0px;background:#FF5B5B;border:1px solid">正在验证用户名,请稍后……</div><p>
<input type="button" value="检测!" onClick="check()"/>
</td>
</tr>
</table>
</form>
</body>
</html>
structs-config
配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="org.viman.struts.form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="loginForm"
input="/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="org.viman.struts.action.LoginAction" />
</action-mappings>
<message-resources parameter="org.viman.struts.ApplicationResources" />
</struts-config>
action实现(LoginAction.java):
package org.viman.struts.action;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.viman.struts.form.LoginForm;
/**
* MyEclipse Struts
* Creation date: 01-06-2007
*
* XDoclet definition:
* @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true"
*/
public class LoginAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
try {
request.setCharacterEncoding("gb2312");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try{
String msgStr="";
response.setContentType("text/xml;charset=GB2312");
response.setHeader("Cache-Control","no-cache");
String name=(String)request.getParameter("name");
System.out.println("name = "+name);
if("gong".equals(name)){ //找查数据库中有无该用户名
msgStr ="对不起,此用户名已经存在,请更换用户名注册!";
}else{
msgStr ="用户未被注册,可以使用!";
}
response.getWriter().println("<?xml version='1.0' encoding='GB2312' ?>");
response.getWriter().println("<root>");
response.getWriter().println("<content>");
response.getWriter().print(msgStr);
response.getWriter().println("</content>");
response.getWriter().println("</root>");
response.getWriter().close();
}catch(Exception ex){
}
return null;
}
相关推荐
在实现Ajax无刷新验证用户名存在的过程中,我们需要以下关键步骤: 1. **前端准备**: - 在HTML表单中,创建一个用于输入用户名的字段,例如`<input type="text" id="username" />`。 - 添加一个按钮或使用jQuery...
本文将深入探讨如何结合这三个技术实现无刷新验证用户名是否存在的功能。 Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它帮助开发者更好地组织应用程序的结构,提高代码的可维护性和可...
在这个项目中,"struts+jquery实现无刷新验证用户名是否存在",主要是利用这两者来实现用户注册时的实时验证功能,避免用户提交重复或无效的用户名,提高用户体验。 首先,我们需要了解Struts2的Action类。在Struts...
总结来说,这个实例展示了如何利用AJAX、Struts2、JSP和Java实现用户注册时的用户名有效性验证,提供了一个实时反馈、无刷新的用户体验。学习和理解这个过程,对于提升Web开发技能,特别是Java Web开发,具有很大的...
在用户名验证中,Struts负责处理来自Ajax的请求,执行相应的业务逻辑,比如查询数据库确认用户名是否已存在。配置文件`STRUTS-CONFIG.XML`是Struts的核心配置,定义了Action、Form Bean、Result等关键元素,需确保...
"ajax+jQuery+struts2验证用户名是否重复"的实现过程涉及到了几个关键的技术点,主要包括Ajax、jQuery和Struts2框架。下面将详细阐述这些技术及其在实际操作中的应用。 **1. Ajax(异步JavaScript和XML)** Ajax是...
SSH整合AJAX验证用户名存在的完整实例是一个典型的Web开发应用场景,主要涉及了Struts2(S)、Spring(S)和Hibernate(H)三大框架的集成,以及异步JavaScript和XML(AJAX)技术的运用,用于提升用户体验。...
在本场景中,标题"Ajax请求验证用户名问题"指的是使用Ajax来实现用户输入用户名时实时检查该用户名是否已被占用的功能。这通常在注册或登录界面非常常见,提供用户友好的体验,因为他们可以即时得知用户名是否可用,...
在Struts2框架中实现Ajax功能,可以让用户在注册时实时验证用户名是否已经存在,从而提高用户体验。 这篇文档“struts与ajax.docx”可能包含了如何将Struts2和Ajax结合使用的详细步骤。通常,这个过程会涉及以下几...
Struts2、Ajax 和 jQuery 是Web开发中常用的三大技术,它们在实现动态、无刷新的交互式用户体验方面发挥着重要作用。在这个项目中,我们将探讨如何使用这些技术来验证用户名是否已存在于数据库中。 首先,Struts2 ...
【SSH2 + AJAX + jQuery + JSON 验证用户名是否存在】是一种常见的前端与后端交互技术,用于实现实时检查用户在注册或登录时输入的用户名是否已经被占用。在这个过程中,SSH2代表Secure Shell 2,通常用于服务器端的...
在本场景中,用户输入用户名后,我们将利用Ajax发送一个请求到Java服务器,服务器查询数据库确认用户名是否已存在,然后将结果返回给前端,无需刷新整个页面。 1. **前端Ajax代码**: 在HTML页面中,我们需要创建...
在SSH2(Apache Struts2)、Ajax、jQuery和JSON技术组合中,验证用户名是否存在的功能是一个典型的前后端交互示例。以下是这些技术如何协同工作的详细解释: **SSH2 (Struts2)**:SSH2是Struts2的简称,它是Apache的...
在这个特定的例子中,我们看到如何使用Ajax结合Struts2框架来实现用户注册时的无刷新验证。下面将详细解释这一过程中的关键知识点。 1. **Ajax无刷新验证**: Ajax允许网页在不重新加载整个页面的情况下与服务器...
在这个"struts2+ajax实现无刷新登录"的项目中,我们首先会涉及到Struts2的基本配置。在Struts2中,你需要创建一个配置文件(如struts.xml),在这里定义Action类以及它们与URL的映射关系。Action类是处理用户请求的...
Struts2、jQuery和Ajax是Web开发中的三大关键技术,它们结合...以上就是Struts2、jQuery和Ajax在登录验证中的应用详解,它们共同构建了一个无刷新、响应快速的用户体验,同时也保证了后端的业务逻辑处理和数据安全。
总结,Ajax+Struts的用户验证实现了一种无刷新的验证机制,提高了用户体验。通过使用Prototype库,可以更简单地处理Ajax请求,减少代码量,提高开发效率。同时,结合Struts的强大力量,可以方便地处理复杂的业务逻辑...
在这个项目中,"Struts2无刷新实现登陆退出"是通过整合Struts2框架、JavaScript库如jQuery和Ajax技术,以及OGNL(Object-Graph Navigation Language)表达式来实现的一种优化用户体验的登录和退出功能。 首先,让...
Ajax(Asynchronous JavaScript and XML)技术与Action(如Struts2中的Action)结合,可以实现异步验证,提供更好的用户体验,避免页面刷新,提高交互性。这篇博文主要探讨了如何利用Ajax技术和Struts2 Action实现...