首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求教一个有关问题

2012-01-14 
求教一个问题问题是这样的:在一个用户名框失去输入焦点的时候自动进行用户名(自动连接到数据库)检测?[解决

求教一个问题
问题是这样的:
在一个用户名框失去输入焦点的时候自动进行用户名(自动连接到数据库)检测?

[解决办法]
lz可以使用ajax实现。
[解决办法]
js就行 onblur触发一个action
[解决办法]
ajax 可以实现,如下所示:
login.jsp
<%@ page contentType= "text/html;charset=GB2312 " language= "java " %>
<head>
<META http-equiv=Content-Type content= "text/html; charset=GB2312 ">
<style>
span{
color:red;
font-size:12px;
text-indent:2em;
}
</style>
</head>
<script language= "javascript ">
var XMLHttpReq = false;
//创建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;
document.getElementById( "cn ").innerHTML=res;
}
}
}
// 身份验证函数
function checkUsername() {
var username=document.getElementById( "username ").value;
var url= "CheckUsername?username= "+ username;
sendRequest(url);
}

</script>

<body vLink= "#006666 " link= "#003366 " bgColor= "#E0F0F8 ">
<form action= " " method= "post " name= "form ">
用户名: <input size= "15 " type= "text " name= "username "onblur= "checkUsername() " onkeypress= "checkUsername() " onkeyup= "checkUsername() " onkeydown= "checkUsername() " />
<span id= "cn "> </span> <p>
密&nbsp;&nbsp;码: <input type= "password " size= "15 " name= "psw "> <p>
<input type= "button " value= "登录 " onclick= "checkUsername() " >
</form>

CheckUsername.java

package com.sum;
import java.io.IOException;
import java.io.PrintWriter;
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 CheckUsername 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 username = request.getParameter( "username ");


//设置输出信息的格式及字符集
response.setContentType( "text/xml; charset=UTF-8 ");
response.setHeader( "Cache-Control ", "no-cache ");
//创建输出流对象
PrintWriter out = response.getWriter();
//依据验证结果输出不同的数据信息
out.println( " <response> ");
if(username.equals( "jenny ")){
out.println( " <res> " + "热烈的欢迎您! " + " </res> ");
}else{
out.println( " <res> " + "对不起,登录失败! " + " </res> ");
}
out.println( " </response> ");
out.close();
}
/*
* 处理 <POST> 请求方法.
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}


热点排行
Bad Request.