用户信息管理系统


案例需求

简单功能:

展示用户列表;修改用户信息;删除用户信息;添加用户信息

复杂功能:

批量删除;分页展示;模糊查询

设计思路

技术栈:

Servlet+Jsp+MySQL+JDBCTempleat+Duird+BeanUtils+tomcat

数据库设计:

用户信息表

项目开发

环境搭建:

1.创建数据库环境

2.导入项目,导入需要的jar包

编码:

在编码阶段使用三层架构模式:
1.界面层(表示层):用户可以通过界面上的组件和服务器进行交互:接收用户参数,封装数据,调用业务逻辑层完成处理,转发jsp页面完成显示。
2.业务逻辑层(service层):处理业务逻辑:组合DAO层中的简单方法,形成复杂的功能(业务逻辑操作)。
3.数据访问层(dao层):操作数据存储文件:定义了对于数据库最基本的CRUD操作。

功能实现


以下是本篇文章正文内容,下面案例仅供参考

在domain包中根据数据库的表创建好相应的User表

public class User {
   
    private int id;
    private String name;
    private String gender;
    private int age;
    private String address;
    private String qq;
    private String email;
    private String username;
    private String password;

    public String getUsername() {
   
        return username;
    }

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

    public String getPassword() {
   
        return password;
    }

    public void setPassword(String password) {
   
        this.password = password;
    }

    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 + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

一、简单功能

1.列表查询

列表查询的逻辑分析
通过index.jsp页面查询所有用户信息字体的超链接,跳转到list.jsp页面,实现数据库用户信息的展示,具体实现逻辑如图所示:点击查询所有用户信息后跳转到UserListServlet ;再通过service层的findAll( )方法,将得到的对象存入request域中,再通过request.getRequestDispatcher( )方法转发到list.jsp页面。
代码如下:
index.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
  <title>首页</title>
  <!-- 1. 导入CSS的全局样式 -->
  <link href="css/bootstrap.min.css" rel="stylesheet">
  <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
  <script src="js/jquery-2.1.0.min.js"></script>
  <!-- 3. 导入bootstrap的js文件 -->
  <script src="js/bootstrap.min.js"></script>
  <script type="text/javascript">
  </script>
</head>
<body>
<div>${
   user.name},欢迎您</div>
<div align="center">
  <a
          href="${pageContext.request.contextPath}/userListServlet" style="text-decoration:none;font-size:33px">查询所有用户信息
  </a>
</div>
</body>
</html>

UserListServlet

@WebServlet("/userListServlet")
public class UserListServlet extends HttpServlet {
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   
        //1.调用UserService完成查询
        UserService service = new UserServiceImpl();
        List<User> users = service.findAll();
        //2.将list存入request域
        request.setAttribute("users",users);
        //3.转发到list.jsp
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }

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

service层
UserServiceImpl实现类

public class UserServiceImpl implements UserService {
   
    private UserDao dao = new UserDaoImpl();
    @Override
    public List<User> findAll() {
   
        //调用Dao完成查询
        return dao.findAll();
    }
}

最后是dao层

public class UserDaoImpl implements UserDao {
   
    private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

    @Override
    public List<User> findAll() {
   
        //使用JDBC操作数据库
        String sql = "select * from user";
        List<User> users = template.query(sql, new BeanPropertyRowMapper<User>(User.class));

        return users;
    }
}

2.登录功能

登录功能实现效果
登录
登录功能的实现与查询类似,先创建一个login.jsp页面
在此页面中实现验证码的点击切换,以及登录成功与失败的提示信息

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
    <title>管理员登录</title>

    <!-- 1. 导入CSS的全局样式 -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- 2. jQuery导入,建议使用1.9以上的版本 -->
    <script src="js/jquery-2.1.0.min.js"></script>
    <!-- 3. 导入bootstrap的js文件 -->
    <script src="js/bootstrap.min.js"></script>
    <script type="text/javascript">
        //切换验证码
        function refreshCode(){
   
            //1.获取验证码图片对象
            var vcode = document.getElementById("vcode");
            
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值