JQuery对Ajax的三种封装
- 针对于get请求:其中参数可以写成“name=zs&age=22”这种形式,也可以写成json的格式
$.get("需要访问的Servlet的名称", { 参数1:值,参数2:值,... },
function(data){
alert("回调函数: " + data);
});
- 针对于post请求:其中参数可以写成“name=zs&age=22”这种形式,也可以写成json的格式
$.post("需要访问的Servlet的名称", { name: "John", time: "2pm" },
function(data){
alert("回调函数: " + data);
});
- 针对于所有请求均可使用,但其内部必须指明请求方式,type为请求类型,url为需要访问的Servlet的名称,data为传输参数,success为请求成功后回调函数,请求失败回调函数使用error,如果失败成功均需回调时,使用complete。
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "回调函数: " + msg );
}
});
代码展示
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>查询学生</title>
//引用CDN网络版JQuery
<script
src="https://code.jquery.com/jquery-1.12.4.js"
integrity="sha256-Qw82+bXyGq6MydymqBxNPYTaUXXq7c8v3CwiYwLLNXU="
crossorigin="anonymous"></script>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function () {
$.ajax({
type:"get",
url:"queryStu",
success:function (data) {
eval("var info=" + data);
var tb = $("#tb");
for (var i = 0; i < info.length; i++) {
tb.append("<tr>" +
"<td>"+info[i].stuNo+"</td>" +
"<td>"+info[i].stuName+"</td>" +
"<td>"+info[i].stuSex+"</td>" +
"<td>"+info[i].stuAge+"</td>" +
"</tr>");
}
}
})
})
})
</script>
</head>
<body>
<input type="button" id="btn" value="查询全部">
<br><br>
<hr>
<table border="1px" cellspacing="0px" cellpadding="10px">
<thead>
<tr>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
</tr>
</thead>
<tbody id="tb">
</tbody>
</table>
</body>
</html>
package indi.dsl.servlet;
import com.google.gson.Gson;
import indi.dsl.entry.Student;
import indi.dsl.service.Query;
import indi.dsl.service.QueryImpl;
import javax.jws.WebService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@WebServlet("/queryStu")
public class MyServlet extends HttpServlet {
Query service = new QueryImpl();
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setCharacterEncoding("UTF-8");
resp.setContentType("text/html,charset=utf-8");
try {
List<Student> list = service.query();
for (Student stu : list) {
System.out.println(stu.getStuNo() + "," + stu.getStuName());
}
resp.getWriter().write(new Gson().toJson(list));
} catch (Exception e) {
e.printStackTrace();
}
}
}
package indi.dsl.service;
import indi.dsl.dao.QueryStudent;
import indi.dsl.dao.QueryStudentImpl;
import indi.dsl.entry.Student;
import java.util.List;
public class QueryImpl implements Query{
QueryStudent queryStudent = new QueryStudentImpl();
@Override
public List<Student> query() throws Exception {
return queryStudent.queryStudent();
}
}
package indi.dsl.dao;
import indi.dsl.entry.Student;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class QueryStudentImpl implements QueryStudent {
@Override
public List<Student> queryStudent() throws Exception {
List<Student> list = new ArrayList<>();
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "root");
String sql = "select * from student";
PreparedStatement pre = con.prepareStatement(sql);
ResultSet resultSet = pre.executeQuery();
while (resultSet.next()) {
Student stu = new Student();
stu.setStuNo(resultSet.getInt("stuNo"));
stu.setStuName(resultSet.getString("stuName"));
stu.setStuSex(resultSet.getString("stuSex"));
stu.setStuAge(resultSet.getInt("stuAge"));
list.add(stu);
}
return list;
}
}
- 结果展示:
