1. 程式人生 > >Web -查詢表中所有的使用者資訊並展示在頁面上。

Web -查詢表中所有的使用者資訊並展示在頁面上。

例: 在瀏覽器中輸入地址之後 , 查詢出所有的使用者資訊 !ubmV0L3FxXzQyOTg2MTA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
1.準備工作.

1.web - > WEB-INF - > lib包下匯入jia包.
2.建立資料庫和表 , 初始化表中資料 .
3.將c3p0工具類 , 放在src下 , 修改表名.
4.編寫用於展示的jsp頁面 .
5.建立好三層架構 .
在這裡插入圖片描述

Web層 -> UserServlet.java

@WebServlet("/findAll")
public class UserServlet extends HttpServlet {
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 建立UserService物件 , 使用其方法.
        UserService us = new UserService();
        // 返回一個List集合 , 把user物件放到集合中.
        List<User> list = us.findAll();

        // 將返回的list集合 , 新增到域物件中.
        request.setAttribute("user",list);

        // 成功之後 , 請求轉發到jsp頁面 , 給使用者展示.
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }
}

Service層 -> UserService.java

public class UserService {
    // 建立UserDao物件 , 呼叫其方法 , 並返回 .
    UserDao dao = new UserDao();
    public List<User> findAll() {
        return dao.findAll();
    }
}

Dao層 -> UserDao.java

public class UserDao {
    // 查詢資料庫中所有的使用者資訊.
    public List<User> findAll() {
        // 1.建立QueryRunner物件.
        QueryRunner qr = new QueryRunner(DataSourceUtil.getDataSource());
        // 2.建立sql語句.
        String sql = "select * from user ";
        // 3.使用query方法執行sql語句.
        try {
            return qr.query(sql, new BeanListHandler<>(User.class));
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
    }
}

javaBean -> User.java

屬性名  ==========  欄位名
建立getter/setter方法 !

jsp頁面 -> list.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ 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="resource/css/bootstrap.min.css" rel="stylesheet">
    <!-- 2. jQuery匯入,建議使用1.9以上的版本 -->
    <script src="resource/js/jquery-2.1.0.min.js"></script>
    <!-- 3. 匯入bootstrap的js檔案 -->
    <script src="resource/js/bootstrap.min.js"></script>
    <style type="text/css">
        td, th {
            text-align: center;
        }
    </style>
</head>
<body>
<div class="container">
    <h3 style="text-align: center">使用者資訊列表</h3>
    <table border="1" class="table table-bordered table-hover">
        <tr class="success">
            <th>編號</th>
            <th>姓名</th>
            <th>性別</th>
            <th>年齡</th>
            <th>籍貫</th>
            <th>QQ</th>
            <th>郵箱</th>
            <th>操作</th>
        </tr>
        <c:forEach items="${user}" var="user">
            <tr>
                <td>${user.id}</td>
                <td>${user.name}</td>
                <td>${user.sex}</td>
                <td>${user.age}</td>
                <td>${user.address}</td>
                <td>${user.qq}</td>
                <td>${user.email}</td>
                <td><a class="btn btn-default btn-sm" href="update.jsp">修改</a>&nbsp;<a class="btn btn-default btn-sm" href="">刪除</a></td>
            </tr>
        </c:forEach>
        <tr>
            <td colspan="8" align="center"><a class="btn btn-primary" href="add.jsp">新增聯絡人</a></td>
        </tr>
    </table>
</div>
</body>
</html>