您的位置:首页 > 编程语言 > Java开发

ajax+struts实现验证用户名是否存在

2016-11-05 22:56 671 查看
理论:《AJAX教程》




查询数据库的过程中会显示:正在检测

当用户名不可用时会显示:用户名已存在

当用户名可用时会显示:用户名可用

当username为中文时,可能会出现中文乱码问题,参考博客: URL中文乱码问题




jsp

<script type="text/javascript">
function checkUserName(username){
var request;
var hint;
hint=document.getElementById("txtHint");

//获得浏览器支持
if(window.XMLHttpRequest){
request=new  XMLHttpRequest();//其他非ie浏览器支持
}
else if(window.ActiveXObject)
{
request=new ActiveXObject("Microsoft.XMLHTTP");//微软的ie浏览器支持,不支持老版本ie
}

request.onreadystatechange = function press() {
if(request.readyState < 4) {
hint.style.color = "blue";
hint.innerHTML="正在检测";
}
if(request.readyState == 4) {
if(request.status == 200) {
if(request.responseText == "用户名已存在") {
hint.style.color = "red";
hint.innerHTML = "用户名已存在";
} else {
hint.style.color = "green";
hint.innerHTML = "该用户名可用";
}
}
}
};
request.open("get", "myLogin.action?username=" + username.value, true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("");
}
</script>

<body>
<s:form action="myLogin" theme="simple">
用户名:<s:textfield id="username" name="username" onkeyup="checkUserName(this)"></s:textfield>
<s:div id="txtHint"></s:div><br>

<s:submit value="提交"></s:submit>
<s:reset value="重置"></s:reset>
</s:form>
</body>


action

public class LoginAction extends ActionSupport{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception{
// Ajax,验证用户名是否已存在
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
String sendString = "";
boolean flag =false;
if(username.equals("ltx"))    //此处可用DAO代替
flag=true;
// flag true为该用户名已存在,false为该用户名可以使用
if (flag) {
sendString = "用户名已存在";
response.getWriter().print(sendString);
} else {
sendString = "该用户名可用!";
response.getWriter().print(sendString);
}
return null;
}
}


Struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" extends="struts-default">
<action name="myLogin" class="com.adam.test.action.LoginAction">
<result>/index.jsp</result>
</action>
</package>
</struts>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息