ajax(二)-----用jquery的ajax(http://www.w3school.com.cn/jquery/jquery_ref_ajax.asp)

jqshow.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-3.3.1.js"></script>
    <script>
        $(function () {
            $.ajax({
                type: "POST",
                url: "/show.do",
                dataType: "json",
                success: function (d) {
                    for (i in d) {
                        //$("#st").append("<tr><td>3<td><td>hello<td><tr>")
                        $("#st").append("<tr><td>" + d[i].id + "</td><td>" + d[i].name + "</td><td>" + d[i].score + "</td><td>" + d[i].dept + "</td><td>" + "刪除" + "</td></tr>");
                    }
                }
            })

        })

    </script>
    <style>
        table, th, td {
            text-align: center;
        }
    </style>
</head>
<body>
<table id="st">
    <tr>
        <th>學號</th>
        <th>姓名</th>
        <th>成績</th>
        <th>專業</th>
        <th>基本操作</th>
    </tr>
</table>


</body>
</html>

show.java

package com.zit.servlet;


import com.alibaba.fastjson.JSONObject;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@WebServlet("/show.do")
public class Show extends HttpServlet {
    @Override
    public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dt_game?useSSL=false&serverTimezone=PRC&user=root&password=");
            PreparedStatement pst = conn.prepareStatement("select id,name,score,dept from stu limit 10");
            /*   pst.setInt(1, Integer.parseInt(req.getParameter("id")));*/
            ResultSet rs = pst.executeQuery();
            resp.setContentType("text/html;charset=utf-8");
            PrintWriter out = resp.getWriter();
/*
            StringBuilder s = new StringBuilder();
            s.append("[");
            //自己做的json
            while (rs.next()) {
                String json = String.format("{\"id\":%d,\"name\":\"%s\",\"score\":%d,\"dept\":\"%s\"},", rs.getInt("id"), rs.getString("name"), rs.getInt("score"), rs.getString("dept"));
                s.append(json);
            }
            s.replace(s.length() - 1, s.length(), "]");
            out.print(s.toString());
*/

            List<Map<String,Object>>list=new ArrayList<Map<String,Object>>();
            while (rs.next()){
                Map<String,Object>map=new HashMap<>();
                map.put("id",rs.getInt("id"));
                map.put("name",rs.getString("name"));
                map.put("score",rs.getString("score"));
                map.put("dept",rs.getString("dept"));
                list.add(map);
            }
            out.print(JSONObject.toJSON(list));
            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

 

另外一個:

jqget.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-3.3.1.js"></script>
    <script>
        $(function () {
            $("input[type=button]").click(function () {
                $.get("/save.action", {id: $("#sno").val()}, function (d) {
                    $("#msg").html(d);
                })
            })
        })

    </script>
</head>
<body>
<h3>學生信息查詢系統</h3>
學號: <input type="text" id="sno">
<input type="button" value="查詢" onclick=""><br>
<br>
<h3 id="msg"></h3>

</body>
</html>

Save.java

package com.zit.servlet;


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.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

@WebServlet("/save.action")
public class Save extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dt_game?useSSL=false&serverTimezone=PRC&user=root&password=");
            PreparedStatement pst = conn.prepareStatement("select * from stu where id=? order by score desc limit 1");
            pst.setInt(1, Integer.parseInt(req.getParameter("id")));
            ResultSet rs = pst.executeQuery();
            resp.setContentType("text/html;charset=utf-8");
            PrintWriter out = resp.getWriter();
            String n = "";
            int score = 0;
            if (rs.next()) {
                n = rs.getString("name");
                score = rs.getInt("score");
                out.print(n);
                out.print(score);
            } else {
                n = "無此學生信息";
                out.print(n);
            }
            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


}

結束。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章