AJAX实战案例实现用户信息管理


一、Ajax 实战案例

需求:
创建 User 类,包含 uesrid、username、usersex、userbirth 属性。
在用户管理页面中通过 Ajax 技术完成对用户数据载入、添加用户、更新用户、删除用户操作。

1、搭建环境

1.1、创建User类

public class User {
   
    private int userid;
    private String username;
    private String usersex;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date userbirth;

    public int getUserid() {
   
        return userid;
    }

    public void setUserid(int userid) {
   
        this.userid = userid;
    }

    public String getUsername() {
   
        return username;
    }

    public void setUsername(String username) {
   
        this.username = username;
    }

    public String getUsersex() {
   
        return usersex;
    }

    public void setUsersex(String usersex) {
   
        this.usersex = usersex;
    }

    public Date getUserbirth() {
   
        return userbirth;
    }

    public void setUserbirth(Date userbirth) {
   
        this.userbirth = userbirth;
    }
}

1.2、在页面中创建表格

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户管理</title>
    <script src="js/jquery.js"></script>
    <script>

    </script>
</head>
<body>
<table align="center" width="60%" border="1">
    <tr>
        <td>ID:</td>
        <td><input type="text" name="userid" id="userid"/></td>
        <td>姓名:</td>
        <td><input type="text" name="username" id="username"/></td>
    </tr>
    <tr>
        <td>性别:</td>
        <td><input type="text" name="usersex" id="usersex"/></td>
        <td>生日:</td>
        <td><input type="text" name="userbirth"
                   id="userbirth"/></td>
    </tr>
    <tr align="center">
        <td colspan="4">
            <input type="button" value="添加用户" id="add" />

            <input type="button" value="更新用户" id="update"/>
        </td>
    </tr>
</table>
<hr/>
<table align="center" width="60%" bgcolor="" border="1"
       id="myTable">
    <thead>
    <tr align="center">
        <td>ID</td>
        <td>姓名</td>
        <td>性别</td>
        <td>生日</td>
        <td>操作</td>
    </tr>
    </thead>
    <tbody id="tBody"></tbody>
</table>
</body>
</html>

1.3、运行效果:

在这里插入图片描述

2、加载用户数据

2.1、通过Ajax完成页面数据初始化

<script>
        //页面加载事件
        $(function () {
   
            //获取页面初始化数据
            getData();
        });

        //获取页面初始化数据
        function getData() {
   
            $.getJSON("user.do",{
   flag:"getData"},function (result) {
   
                init(result)
            })
        }

        //遍历数组生成数据
        function init(obj) {
   
            var str = "";
            $.each(obj,function () {
   
                    str += "<tr align='center'><td id='"+this.userid+"'>"+this.userid+"</td><td>"+this.username+"</td><td>"+this.usersex+"</td><td>"+this.userbirth+"</td><td><a href='#' οnclick='preUpdateUser()'>选择更新</a><a href='#' οnclick='deleteUser("+this.userid+")'>删除</a></td></tr>"
            });
            $("#tBody").prepend(str);
        }
    </script>

2.2、创建Servlet处理页面数据初始化请求


//用户管理Servlet
@WebServlet("/user.do")
public class UserServlet extends HttpServlet {
   
    //生成模拟数据初始化
    @Override
    public void init() throws ServletException {
   
        User user = new User();
        user.setUserid(1);
        user.setUsername("Corey");
        user.setUsersex("male");
        user.setUserbirth(new Date());
        User user1 = new User();
        user1.setUserid(2);
        user1.setUsername("Kang");
        user1.setUsersex("male");
        user1.setUserbirth(new Date());
        List<User> list = new ArrayList<>();
        list.add(user);
        list.add(user1);
        ServletContext servletContext = this.getServletContext();
        servletContext.setAttribute("list",list);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        String flag = req.getParameter("flag");
        if ("getData".equals(flag)){
   
            this.getData(req,resp);
        }
    }

        //获取页面初始化数据
    private void getData(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   
        List<User> list = (List<User>) this.getServletContext().getAttribute("list");
        String s = JsonUtils.objectToJson(list);
        resp.setContentType("application/json");
        PrintWriter pw = resp.getWriter();
        pw.print(s);
        pw.flush();
        pw.close();
    }
}

运行结果:
在这里插入图片描述

3、添加用户操作

3.1、通过Ajax完成添加用户

<script>
        //页面加载事件
        $(function () {
   
            //获取页面初始化数据
            getData();

            //添加按钮绑定点击事件
            $("#add").click(function () {
   
                addOrUpdateUser("addUser");
            });
        });

        //获取页面初始化数据
        function getData() {
   
            $.getJSON("user.do",{
   flag:"getData"},function (result) {
   
                init(result)
            })
        }

        //遍历数组生成数据
        function init(obj) {
   
            var str = "";
            $.e
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<h3>回答1:</h3><br/>PHP、MySQL和Ajax可以一起使用来实现留言管理系统。PHP用于处理服务器端的逻辑,MySQL用于存储数据,而Ajax则可以实现异步请求和响应,使得用户可以在不刷新页面的情况下进行留言操作。 具体实现步骤如下: 1. 创建数据库表格,包括留言ID、留言内容、留言时间、留言人等字段。 2. 使用PHP连接MySQL数据库,并编写相应的增删改查操作。 3. 在前端页面中使用Ajax发送异步请求,将用户输入的留言内容发送到服务器端。 4. 服务器端接收到请求后,将留言内容插入到数据库中,并返回插入成功的信息。 5. 前端页面接收到服务器端返回的信息后,更新页面上的留言列表,显示最新的留言内容。 6. 可以添加一些额外的功能,如留言的编辑、删除、分页等。 通过以上步骤,就可以实现一个简单的留言管理系统。 <h3>回答2:</h3><br/>在网站开发中,留言管理是一个常见的需求。PHP和MySQL是两个常用的技术,而AJAX则可以提高用户体验。下面将介绍如何使用这三种技术实现留言管理。 1. 创建数据库 首先需要创建一个数据库,可以使用phpMyAdmin等工具。创建一个名为“guestbook”的数据库,其中包含一个“message”表,该表包含以下字段:id(int,主键),name(varchar),message(varchar),timestamp(datetime)。 2. 编写PHP脚本 建立一个名为“index.php”的文件。首先,需要连接到数据库,然后在页面顶部输出留言表单,并接收用户输入的姓名和留言内容。 然后,需要编写插入留言的PHP脚本,将用户输入的数据插入到数据库的“message”表中。还需要编写从数据库中检索留言并显示在页面上的PHP脚本。此外,还需要编写删除留言的PHP脚本。 3. 使用AJAX实现页面无刷新 为了提高用户体验,可以使用AJAX使留言的插入、删除和显示不需要刷新整个页面。 在页面中添加相应的JavaScript代码来监听表单提交、删除和显示留言的事件。当表单提交时,JavaScript代码使用AJAX将数据发送到后端的PHP脚本进行处理。相应地,当用户删除留言时,JavaScript代码也会触发AJAX请求查询数据库进行删除。 4. 输出留言 最后,在页面中输出从数据库查询出的留言信息。留言通常按时间顺序显示,最新的留言显示在最上面。 使用HTML和CSS设计留言的显示样式,如留言框、姓名、留言内容和时间戳等。在显示留言时,还可以添加分页、筛选和搜索功能。 以上就是使用PHP、MySQL和AJAX实现留言管理的过程。通过这种方式,可以有效地记录用户的留言信息,并提高用户体验。 <h3>回答3:</h3><br/>为了实现留言管理,我们可以使用php、mysql和ajax技术来完成。下面将介绍具体的步骤: 1. 创建数据库 首先需要创建一个数据库,可以在phpMyAdmin中通过SQL语句进行创建。我们可以在数据库中创建一个表,名称为messages,包含id(主键)、name、email、content、created_time等字段。 2. 编写PHP脚本 接下来,我们需要编写PHP脚本来连接数据库,并处理留言的数据。可以使用PDO来连接数据库,并使用预处理语句来处理查询、插入、更新等操作。对于查询留言列表,可以使用SELECT语句;对于添加新留言,可以使用INSERT语句。在处理数据后,需要将结果以JSON格式返回给前端。 3. 编写AJAX脚本 在前端页面中使用AJAX来请求数据,并通过DOM操作将数据展示给用户。可以使用jQuery框架来简化AJAX的操作,并使用模板引擎来渲染页面。 4. 实现留言板功能 在页面中添加一个留言表单,通过AJAX将表单提交到PHP脚本中,后台进行数据处理,再通过AJAX将处理结果返回到前端,更新留言列表。 通过以上步骤,我们可以实现一个简单的留言管理系统。当然,还可以对其进行扩展,比如增加留言审核功能、分页功能等。总之,PHP、MySQL和AJAX等技术的运用,使得我们可以方便地实现各种Web应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值