使用JSP技术实现用户管理系统的设计,其中用户信息保存在数据库中。

要求:

1. 创建数据库UserManager、用户信息数据表user,user中包括:id(id)自增、姓名(name)、性别(gender)、年龄(age)、 住址(address),QQ(qq),邮箱(email)(插入至少3条数据)。

2. 在JSP页面中显示从数据表user中查询的所有用户信息。(查询)

(1)架构MVC设计模式。

(2)编写用户信息的JavaBean类。

(3)运用Servlet实现查询用户信息,要求有合适的异常错误处理。

(4)实现所有用户信息展示。

3. 在JSP页面中添加用户信息,保存到数据库中。(增加)

(1)设计添加用户信息的页面,要求页面设计标准。

(2)运用JSP动作获取请求的用户信息。

(3)访问数据库添加用户信息,要求有合适的异常错误处理。                 

4. 在JSP页面中根据用户(Id)删除该用户信息。(删除)

操作步骤如下:

## 一、新建数据库表

## 二、新建maven web项目

pom.xml```xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.bigdata</groupId>
  <artifactId>day22_case</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <dependencies>
    <!-- MySql -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.26</version>
    </dependency>
    <!-- 连接池 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.24</version>
    </dependency>
    <dependency>
      <groupId>commons-dbutils</groupId>
      <artifactId>commons-dbutils</artifactId>
      <version>1.6</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.8.3</version>
    </dependency>
    <!--jstl依赖-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
  </dependencies>
</project>

```

2.修改web.xml

```xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

</web-app >
```

## 三、工具类

1.在resources下新建druid.properties

```properties
 

driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/day17?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
username=root
password=123456

2.新建包com.bigdata.util

```java

public class DataSourceUtils {
    private static DruidDataSource dataSource;
    static {
        try {
            Properties properties=new Properties();
            InputStream is=DataSourceUtils.class.getClassLoader().getResourceAsStream("druid.properties");
            properties.load(is);
            dataSource=(DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("初始化连接池失败:"+e.getMessage());
        }
    }
    public static DataSource getDataSource(){
        return dataSource;
    }
}

```

## 四、查询用户

1.com.bigdata.domain新建实体类User

```java
 

public class User {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String address;
    private String qq;
    private String email;
    
    //get和set方法toString
}


```

2.com.bigdata.dao新建UserDao```java
 

package com.bigdata.dao;
public interface UserDao {
    public List<User> findAll();
}
```

3.com.bigdata.dao.impl新建UserDaoImpl

```java
public class UserDaoImpl implements UserDao {

    @Override
    public List<User> findAll() {
        QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
        try {
            return qr.query("select * from user ", new BeanListHandler<>(User.class));
        } catch (SQLException e) {
            throw new RuntimeException("查询集合失败", e);
        }

    }
}


```

4.com.bigdata.service新建UserService```java
 

public interface UserService {

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


```

5.com.bigdata.service.impl新建UserServiceImpl```java
 

public class UserServiceImpl implements UserService {
    
    private UserDao dao = new UserDaoImpl();

    @Override
    public List<User> findAll() {
        //调用Dao完成查询
        return dao.findAll();
    }
}


```

6.控制层SelectUserServlet```java
 

package com.bigdata.web;

@WebServlet("/selectUserServlet")
public class SelectUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");

        //2.调用service查询
        UserService service = new UserServiceImpl();

        List<User> user=service.findAll();

        //3.将PageBean存入request
        request.setAttribute("list",user);

        //4.转发到list.jsp
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }

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


```

7.webapp下新建list.jsp页面```jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>

<html>
<head>

    <title>用户列表</title>

</head>
<body>


<form id="form" method="post">
    <table border="1">
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>年龄</th>
            <th>籍贯</th>
            <th>QQ</th>
            <th>邮箱</th>
            <th>操作</th>
        </tr>

        <c:forEach items="${list}" var="user">
            <tr>

                <td>${user.name}</td>
                <td>${user.gender}</td>
                <td>${user.age}</td>
                <td>${user.address}</td>
                <td>${user.qq}</td>
                <td>${user.email}</td>
                <td></td>
            </tr>

        </c:forEach>


    </table>
</form>


</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_51764257/article/details/130585893
今日推荐