<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 步驟 1 : 準備數據 因為用戶信息是前臺注冊的時候增加的,截至目前為止,還沒有講到前臺的功能。所以需要手動在數據庫中增加數據,以便于觀察運行的效果 ~~~ insert into t_user values(null,'a1','123456'); insert into t_user values(null,'a2','123456'); insert into t_user values(null,'a3','123456'); insert into t_user values(null,'a4','123456'); insert into t_user values(null,'a5','123456'); ~~~ # 步驟 2 : 先運行,看到效果,再學習 先將完整的項目(向老師要相關資料),配置運行起來,確認可用之后,再學習做了哪些步驟以達到這樣的效果。 # 步驟 3 : 模仿和排錯 在確保可運行項目能夠正確無誤地運行之后,再嚴格照著教程的步驟,對代碼模仿一遍。 模仿過程難免代碼有出入,導致無法得到期望的運行結果,此時此刻通過比較**正確答案** ( 可運行項目 ) 和自己的代碼,來定位問題所在。 采用這種方式,**學習有效果,排錯有效率**,可以較為明顯地提升學習速度,跨過學習路上的各個檻。 # 步驟 4 : 頁面截圖 用戶這部分做的比較簡單,只有查詢,為什么呢? 1. 用戶的增加,是交由前臺注冊行為產生的,后臺不需要自己進行增加 2. 用戶信息不能刪除。 用戶信息是最重要的業務信息,不可以刪除 3. 用戶資料的修改,也應該有前臺用戶自己進行,而不是后臺操作。比如修改密碼 ![](https://box.kancloud.cn/8883ecea8240134aa273ba463b427283_1814x426.png) # 步驟5:UserDao和UserDaoImpl UserDao ``` package com.dodoke.dao.inter; import java.util.List; import com.dodoke.bean.User; public interface UserDao { /** * 用戶分頁查詢 * * @param start * @param count * @return */ public List<User> list(int start, int count); /** * 獲取用戶總數 * * @return */ public int getTotal(); public User get(int id); } ``` UserDaoImpl ``` package com.dodoke.dao.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.dodoke.bean.User; import com.dodoke.dao.inter.UserDao; import com.dodoke.util.DBUtil; public class UserDaoImpl implements UserDao { private static UserDaoImpl daoImpl = new UserDaoImpl(); private UserDaoImpl() { } public static UserDaoImpl getInstance() { return daoImpl; } @Override public List<User> list(int start, int count) { List<User> beans = new ArrayList<User>(); String sql = "select * from t_user order by id desc limit ?,? "; try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { ps.setInt(1, start); ps.setInt(2, count); ResultSet rs = ps.executeQuery(); while (rs.next()) { User bean = new User(); int id = rs.getInt("id"); String name = rs.getString("name"); String password = rs.getString("password"); bean.setName(name); bean.setPassword(password); bean.setId(id); beans.add(bean); } } catch (SQLException e) { e.printStackTrace(); } return beans; } @Override public int getTotal() { int total = 0; String sql = "select count(*) from t_user"; try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { ResultSet rs = ps.executeQuery(); while (rs.next()) { total = rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); } return total; } @Override public User get(int id) { User bean = null; String sql = "select * from t_user where id = ?"; try (Connection c = DBUtil.getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { ps.setInt(1, id); ResultSet rs = ps.executeQuery(); if (rs.next()) { bean = new User(); String name = rs.getString("name"); String password = rs.getString("password"); bean.setName(name); bean.setPassword(password); bean.setId(id); } } catch (SQLException e) { e.printStackTrace(); } return bean; } } ``` # 步驟6:UserServlet ``` package com.dodoke.controller; import java.util.List; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.dodoke.bean.User; import com.dodoke.util.Page; /** * Servlet implementation class UserServlet */ @WebServlet("/UserServlet") public class UserServlet extends BaseBackServlet { private static final long serialVersionUID = 1L; @Override public String add(HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub return null; } @Override public String delete(HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub return null; } @Override public String edit(HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub return null; } @Override public String update(HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub return null; } @Override public String list(HttpServletRequest request, HttpServletResponse response, Page page) { List<User> us = userDao.list(page.getStart(), page.getCount()); int total = userDao.getTotal(); page.setTotal(total); request.setAttribute("us", us); request.setAttribute("page", page); return "admin/listUser.jsp"; } } ``` # 步驟7:listUser.jsp ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@include file="../include/admin/adminHeader.jsp"%> <%@include file="../include/admin/adminNavigator.jsp"%> <script> </script> <title>用戶管理</title> <div class="workingArea"> <h1 class="label label-info">用戶管理</h1> <br> <br> <div class="listDataTableDiv"> <table class="table table-striped table-bordered table-hover table-condensed"> <thead> <tr class="success"> <th>ID</th> <th>用戶名稱</th> </tr> </thead> <tbody> <c:forEach items="${us}" var="u"> <tr> <td>${u.id}</td> <td>${u.name}</td> </tr> </c:forEach> </tbody> </table> </div> <div class="pageDiv"> <%@include file="../include/admin/adminPage.jsp"%> </div> </div> <%@include file="../include/admin/adminFooter.jsp"%> ``` # 增加,刪除,修改功能 增加交由前臺用戶注冊功能 刪除不提供(用戶信息是最重要的資料) 修改不提供,應該由前臺用戶自己完成
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看