已知注册过的用户名存储在数组中,请用Ajax实现注册验证用户名有效性问题。(不重复就有效),要求用户检查用jsp实现。
时间: 2024-02-03 17:13:48 浏览: 23
首先,在JSP页面中添加一个文本框和一个按钮,用于输入要验证的用户名和发起Ajax请求:
```html
Username: <input type="text" id="username">
<button onclick="checkUsername()">Check</button>
```
然后,编写一个JavaScript函数`checkUsername()`,用于发起Ajax请求并获取服务器返回的结果:
```javascript
function checkUsername() {
var username = document.getElementById("username").value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var result = xhr.responseText;
if (result == "valid") {
alert("Username is valid.");
} else {
alert("Username is already taken.");
}
}
};
xhr.open("POST", "checkUsername.jsp", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("username=" + username);
}
```
这个函数首先获取文本框中的用户名,然后创建一个XMLHttpRequest对象,并设置回调函数。回调函数在请求完成时被调用,并检查服务器返回的结果。如果结果是"valid",则表示该用户名可以使用;否则表示该用户名已经被注册过。
最后,在服务器端编写一个JSP页面`checkUsername.jsp`,用于验证用户名的有效性:
```jsp
<%
String[] usernames = {"user1", "user2", "user3"}; // 已注册的用户名数组
String username = request.getParameter("username");
boolean valid = true;
for (String u : usernames) {
if (u.equals(username)) {
valid = false;
break;
}
}
if (valid) {
out.print("valid");
} else {
out.print("taken");
}
%>
```
这个JSP页面首先获取客户端通过POST请求提交的用户名,然后遍历已注册的用户名数组,检查该用户名是否已经被注册过。如果没有被注册过,则输出"valid";否则输出"taken"。注意,在输出结果时需要使用`out.print()`方法而不是`System.out.println()`方法,因为前者可以将结果输出到HTTP响应中,而后者只能输出到控制台中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)