RSS
热门关键字:  Linux  图形  项目管理  LAMP  java
当前位置 : 主页>开源技术>AJAX技术>列表

ajax实现检测用户名是否存在的功能

来源:中国开源社区 作者:sherman 时间:2007-09-18 点击:

这里用的是struts

<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
ajax
</title>
</head>
<body bgcolor="#ffffff">
<h1>
<input name="username" type="text" maxlength="20" />
<input id="chk-name-btn" type="button" value="检测帐号" onclick="testName('<%=request.getContextPath()%>')" />
<div id="view_name"></div>
</h1>
</body>
</html>
<script language="javascript">
if (window.ActiveXObject && !window.XMLHttpRequest) {
window.XMLHttpRequest=function() {
return new ActiveXObject((navigator.userAgent.toLowerCase().indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP');
};
}//取得XMLHttpRequest对象

字串6

function testName(path){ 字串7

//path是取得系统路径
var view_name=document.getElementById("view_name");
var req=new XMLHttpRequest();
if (req) {
req.onreadystatechange=function() {
if (req.readyState==4 && req.status==200) {//判断状态,4是已发送,200已完成
if(req.responseText==0){
view_name.style.color='green';
view_name.innerHTML='该用户名可以正常使用';
}else if(req.responseText==1){
view_name.style.color='red';
view_name.innerHTML='该用户名已经被使用';
}else{
view_name.style.color='red';
view_name.innerHTML='该用户名含有非法字符!';
}
}
}
req.open('POST', path '/ajax.do');//struts
字串1

//req.open('POST', path '/ajax.servlet');//servlet 字串4

//req.open('POST', path '/ajax.action');//webwork


req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send("");//发送参数如果有参数req.send("username=" user_name);用request取得
}
}
</script>

字串5

这个jsp页面并没有取得用户名,就是演示一下。还有<div>可以换span,具体作用问美工吧。

字串7

接受ajax请求的action。 字串3

import org.apache.struts.action.*;
import javax.servlet.http.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
字串9

/**
* <p>Title:AjaxAction </p>
*/

字串2

public class AjaxAction extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
PrintWriter out = response.getWriter();
out.print(1);//ajax取得都是字符的输出。如果数据量大的话,还可以用xml来发送和接受
return null;
}
}

字串2

struts-config.xml 字串8

<action type="test.whw.upload.AjaxAction" validate="false" scope="request" path="/ajax"/>
----------------------------
字串5

如果是servlet

字串8

web.xml

字串4

<servlet>
<servlet-name>AjaxServlet </servlet-name>
<servlet-class>servlet.AjaxServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AjaxServlet </servlet-name>
<url-pattern>/AjaxServlet .servlet</url-pattern>
</servlet-mapping>

字串6

AjaxServlet.java 字串5

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
字串1

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
字串9

public class AjaxServlet extends HttpServlet {
Logger log = Logger.getLogger(this.getClass());
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException {
response.setContentType("text/xml; charset=GBK");
PrintWriter out = response.getWriter();
out.print(2);
}
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}

字串4

//Process the HTTP Put request
public void doPut(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册