目录
servlet依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
servlet地址映射 web.xml
<servlet>
<servlet-name>GetInfo</servlet-name>
<servlet-class>servlet.GetInfoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetInfo</servlet-name>
<url-pattern>/GetInfo</url-pattern>
</servlet-mapping>
JavaScript源代码方式
get请求方式
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<center>
<form onsubmit="return false">
<label>用户名:
<input type="text" id="name">
</label><br/>
<label>密码:
<input type="password" id="password">
</label><br/>
<input type="submit" onclick="sendInfo()">
</form>
</center>
</body>
<script>
function sendInfo(){
//创建异步对象
var xhr = new XMLHttpRequest();
var name = document.getElementById("name").value;
var password = document.getElementById("password").value;
//绑定函数 请求成功后执行的函数
xhr.onreadystatechange = function (){
//判断请求状态 满足这两个条件说明请求成功
if (xhr.readyState === 4 && xhr.status === 200){
//获取返回的数据 获取到的是servlet中输出到页面的数据 servlet不会再输出到页面
var response = xhr.responseText;
//截取返回的数据
response = response.substring(0,7);
if (response === "success"){
alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
}else {
alert("注册失败");
}
}
}
//请求方式 ,请求地址和请求参数
xhr.open("get","GetInfo?name=" + name + "&password=" + password);
//发送请求
xhr.send();
}
</script>
</html>
servlet
@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
if (name.equals("张三") && password.equals("123")) {
// success就是Ajax获取到的是据
response.getWriter().println("success");
} else {
// false就是Ajax获取到的数据
response.getWriter().println("false");
}
}
}
效果
post请求方式
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<center>
<form onsubmit="return false" style="margin-top: 100px">
<label>用户名:
<input type="text" id="name">
</label><br/>
<label>密码:
<input type="password" id="password">
</label><br/>
<input type="submit" onclick="sendInfo()">
</form>
</center>
</body>
<script>
function sendInfo(){
//创建异步对象
var xhr = new XMLHttpRequest();
var name = document.getElementById("name").value;
var password = document.getElementById("password").value;
//绑定函数 请求成功后执行的函数
xhr.onreadystatechange = function (){
//判断请求状态 满足这两个条件说明请求成功
if (xhr.readyState === 4 && xhr.status === 200){
//获取返回的数据 获取到的是servlet中输出到页面的数据 servlet不会再输出到页面
var response = xhr.responseText;
//截取返回的数据
response = response.substring(0,7);
if (response === "success"){
alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
}else {
alert("注册失败");
}
}
}
//请求方式 ,请求地址,true表示发送一个异步请求,请求参数不直接添加到请求地址中
xhr.open("post","GetInfo",true);
//使用post请求方式要加这句
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
//发送请求,请求参数放到这里
xhr.send("name="+name+"&password="+password);
}
</script>
</html>
servlet
@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// post请求方式要设置编码格式,不然获取到的表单数据乱码
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String password = request.getParameter("password");
if (name.equals("张三") && password.equals("123")) {
// success就是Ajax获取到的是据
response.getWriter().println("success");
} else {
// false就是Ajax获取到的数据
response.getWriter().println("false");
}
}
}
效果
jQuery方式
get请求方式
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<center>
<form onsubmit="return false" style="margin-top: 100px">
<label>用户名:
<input type="text" id="name">
</label><br/>
<label>密码:
<input type="password" id="password">
</label><br/>
<input type="submit" id="put">
</form>
</center>
</body>
<!--导入jQuery文件-->
<script src="jquery-3.5.1.js"></script>
<script>
$("#put").click(function (){
var name = $("#name").val();
var password = $("#password").val();
//jQuery的Ajax请求格式
$.ajax({
//请求地址
url:"GetInfo",
//请求方式
type:"GET",
//返回数据类型
dataType:"text",
//请求参数
data:{"name":name,"password":password},
//是否异步请求
async:true,
//请求成功后执行的函数,函数中的参数是返回的数据
success:function (res){
res = res.substring(0,7);
if (res === "success"){
alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
}else {
alert("注册失败");
}
},
//请求失败后执行的函数
error:function (){
alert("请求失败");
}
})
})
</script>
</html>
servlet
@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
if (name.equals("张三") && password.equals("123")) {
// success就是Ajax获取到的是据
response.getWriter().println("success");
} else {
// false就是Ajax获取到的数据
response.getWriter().println("false");
}
}
}
效果
post请求方式
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<center>
<form onsubmit="return false" style="margin-top: 100px">
<label>用户名:
<input type="text" id="name">
</label><br/>
<label>密码:
<input type="password" id="password">
</label><br/>
<input type="submit" id="put">
</form>
</center>
</body>
<!--导入jQuery文件-->
<script src="jquery-3.5.1.js"></script>
<script>
$("#put").click(function (){
var name = $("#name").val();
var password = $("#password").val();
//jQuery的Ajax请求格式
$.ajax({
//请求地址
url:"GetInfo",
//请求方式
type:"POST",
//返回数据类型
dataType:"text",
//请求参数
data:{"name":name,"password":password},
//是否异步请求
async:true,
//请求成功后执行的函数,函数中的参数是返回的数据
success:function (res){
res = res.substring(0,7);
if (res === "success"){
alert("注册成功\n你的用户名是:" + name + "\n密码是:" + password);
}else {
alert("注册失败");
}
},
//请求失败后执行的函数
error:function (){
alert("请求失败");
}
})
})
</script>
</html>
servlet
@WebServlet(name = "GetInfoServlet", value = "/GetInfoServlet")
public class GetInfoServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// post请求方式要设置编码格式,不然获取到的表单数据乱码
request.setCharacterEncoding("utf-8");
String name = request.getParameter("name");
String password = request.getParameter("password");
if (name.equals("张三") && password.equals("123")) {
// success就是Ajax获取到的是据
response.getWriter().println("success");
} else {
// false就是Ajax获取到的数据
response.getWriter().println("false");
}
}
}
效果
相关文章
JS(jQuery+Ajax)+ResultSet指针移动实现无限滚动效果