JSP&EL&JSTL(案例1)_查询所有用户信息_3_实现列表界面相关按钮的添加1_添加和删除

页面的主要界面如下:

JSP&EL&JSTL(案例1)_查询所有用户信息_3_实现列表界面相关按钮的添加1_添加和删除_第1张图片

jsp页面代码如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>




    
    
    
    
    
    
    
    用户信息管理系统

    
    
    
    
    
    
    
    


用户信息列表

编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作
${s.count} ${user.name} ${user.gender} ${user.age} ${user.address} ${user.qq} ${user.email} 修改  删除

注意这里有对删除键的一个confirm提示,“ 是否确定要删除?” ,如果要删除,则自动跳转到delUserServlet,还有添加按钮,如果点击添加按钮,则会跳转到add.jsp页面,暂时先满足这两个功能。下面分别讲述这两个功能是怎么实现的。


删除

delUserServlet

package zr.web.userlist.web.Servlet;

import zr.web.userlist.service.UserService;
import zr.web.userlist.service.impl.UserServiceImpl;

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;

@WebServlet("/delUserServlet")
public class DelUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 获取id
        String id = request.getParameter("id");
        //2. 调用service删除
        UserService service =new UserServiceImpl();
        service.deleteUser(id);
        //3. 跳转到查询所有用户记录的Servlet
        response.sendRedirect(request.getContextPath()+"/userListServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

在service层里面接口添加抽象方法

    /**
     * 根据id删除user
     * @param id
     */
    void deleteUser(String id);

然后在UserServiceImpl里面实现这个接口中的方法deleteUser

    @Override
    public void deleteUser(String id) {
        //1. 调用dao中的delete方法,把数据库中删除一条记录
        dao.delete(Integer.parseInt(id));
    }

在dao层里面接口添加抽象方法

    /**
     * 删除数据库中的一条数据
     * @param parseInt
     */
    void delete(int parseInt);

在UserDaoImpl里面实现这个接口中的方法delete

    @Override
    public void delete(int parseInt) {
        //1. 定义sql

        String sql="delete from user where id=?";

        //2. 执行sql

        template.update(sql,parseInt);
    }

添加

AddUserServlet

package zr.web.userlist.web.Servlet;

import org.apache.commons.beanutils.BeanUtils;
import zr.web.userlist.domain.User;
import zr.web.userlist.service.UserService;
import zr.web.userlist.service.impl.UserServiceImpl;

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.lang.reflect.InvocationTargetException;
import java.util.Map;

@WebServlet("/addUserServlet")
public class AddUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 设置编码
        request.setCharacterEncoding("utf-8");
        //2. 获取参数
        Map map = request.getParameterMap();
        //3. 封装对象
        User user=new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

        //4. 调用Service保存

        UserService service=new UserServiceImpl();
        service.addUser(user);

        //5. 直接跳转到UserListServlet

        response.sendRedirect(request.getContextPath()+"/userListServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

在service层里面接口添加抽象方法

    /**
     * 添加一个user
     * @param user
     */
    void addUser(User user);

然后在UserServiceImpl里面实现这个接口中的方法addUser

    @Override
    public void addUser(User user) {
        //1. 调用dao中的add方法,向数据库中添加一条数据
        dao.add(user);
    }

在dao层里面接口添加抽象方法

    /**
     * 向数据库中添加一条数据
     * @param user
     */

    void add(User user);

在UserDaoImpl里面实现这个接口中的方法add

    @Override
    public void add(User user) {
        // 1. 定义sql语句

        String sql="insert into user values(null,?,?,?,?,?,?,null,null)";

        //2. 执行sql
        template.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail());

    }

 

 

你可能感兴趣的:(JSP&EL&JSTL)