JavaWeb11 —— 用户信息管理系统

JSP案例——用户信息管理系统

1、需求

简单的用户信息管理系统

对用户信息的增删改查

效果截图(部分)
在这里插入图片描述

2、设计

技术选型

Servlet + jsp + Mysql + jdbctemplate + Druid + beanutils + tomccat+bootstrap

数据库设计

CREATE TABLE t_user(   -- 创建表
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20) NOT NULL,
	gender VARCHAR(5),
	age INT,
	address VARCHAR(32),
	qq	VARCHAR(20),
	email VARCHAR(50)
);

在这里插入图片描述

3、环境搭建

3.1、创建项目导入jar包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r4V2mucu-1648179926831)(6、jsp案例 用户信息.assets/1645969112836.png)]

3.2、导入配置文件

druid.properties

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/study
username=root
password=123456
# 初始化连接对象的大小
initialSize=5
# 最大连接数
maxActive=10
# 最大等待时间
maxWait=3000

创建包结构

在这里插入图片描述

4、编码

功能一:用户数据的展示

1、实体类User

package com.zhou.test.domain;

/**
 * @author it春和
 * @create 2022-02-27 16:11
 */
public class User {
   
    private int id;
    private String name;
    private String gender;
    private int age;
    private String address;
    private String qq;
    private String email;

    public int getId() {
   
        return id;
    }

    public void setId(int id) {
   
        this.id = id;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public String getGender() {
   
        return gender;
    }

    public void setGender(String gender) {
   
        this.gender = gender;
    }

    public int getAge() {
   
        return age;
    }

    public void setAge(int age) {
   
        this.age = age;
    }

    public String getAddress() {
   
        return address;
    }

    public void setAddress(String address) {
   
        this.address = address;
    }

    public String getQq() {
   
        return qq;
    }

    public void setQq(String qq) {
   
        this.qq = qq;
    }

    public String getEmail() {
   
        return email;
    }

    public void setEmail(String email) {
   
        this.email = email;
    }

    @Override
    public String toString() {
   
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                ", qq='" + qq + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}

2、JdbcUtils

public class JdbcUtils {
   
    private static DataSource dataSource;

    static {
   
        try {
   
            // 加载配置文件
            Properties properties = new Properties();
            InputStream is = JdbcUtils.class.getClassLoader().getResourceAsStream("druid.properties");
            properties.load(is);

            // 创建datasource
            dataSource = DruidDataSourceFactory.createDataSource(properties);
        } catch (IOException e) {
   
            e.printStackTrace();
        } catch (Exception e) {
   
            e.printStackTrace();
        }
    }

    public static DataSource getDataSource(){
   
        return dataSource;
    }

    public static Connection getConnection() throws SQLException {
   
        return dataSource.getConnection();
    }

}

3、UserDao

// 接口
public interface UserDao {
   

    /**
     * 查询所有用户
     * @return list
     */
    public List<User> findAll();
}

// 接口的实现类
public class UserDaoImpl implements UserDao {
   
    // 声明一个jdbctemplate
    private JdbcTemplate template = new JdbcTemplate(JdbcUtils.getDataSource());


    @Override
    public List<User> findAll() {
   
        List<User> userList = null;
        try {
   
            // 定义sql
            String sql = "select * from t_user";
            // 使用jdbctemplate查询
            userList = template.query(sql, new BeanPropertyRowMapper<User>(User.class));
        } catch (DataAccessException e) {
   
            e.printStackTrace();
        }

        return userList;
    }
}

4、UserService

// 接口
public interface UserService {
   

    /**
     * 查询所有用户
     * @return
     */
    public List<User> findALl();
}

// 接口的实现类
public class UserServiceImpl implements UserService {
   
    private UserDao userDao = new UserDaoImpl();

    @Override
    public List<User> findALl() {
   

        // 调用userdao进行查询
        List<User> userList = userDao.findAll();

        return userList;
    }
}

5、FindAllServlet

@WebServlet("/findAllServlet")
public class FindAllServlet extends HttpServlet {
   
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        // 1、调用service进行查询
        UserService userService = new UserServiceImpl();
        List<User> users = userService.findALl();

        // 2、将users存入request域中
        request.setAttribute("users",users);

        // 3、转发到数据展示页面
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException
  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值