久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

考勤管理系統(tǒng)源碼:JSP+Servlet+MySQL實戰(zhàn)解析

考勤管理系統(tǒng)源碼:JSP+Servlet+MySQL實戰(zhàn)解析 簡介面向中小型團(tuán)隊與高校實訓(xùn)場景的 Java 考勤管理系統(tǒng)完整源碼包適合具備 Java Web 基礎(chǔ)、希望掌握 Spring 風(fēng)格業(yè)務(wù)開發(fā)或畢業(yè)設(shè)計復(fù)用的學(xué)習(xí)者。包內(nèi)按業(yè)務(wù)模塊劃分覆蓋員工管理、考勤打卡、請假/會議申請、固定資產(chǎn)與任務(wù)調(diào)度等常見功能壓縮包共 2000 個文件約 55MB以 1336 個 Markdown 文檔、500 個 JavaScript 文件、67 個 Java 文件及 JSON/XML 配置為主文檔與配置占比高便于對照閱讀、按需檢索和二次開發(fā)。已有 170 人學(xué)習(xí)下載。其中包含控制器、服務(wù)、實體與工具類等完整分層主線功能覆蓋考勤申請、會議與員工管理。借助該源碼可快速理解考勤業(yè)務(wù)表設(shè)計、接口分層、審批流轉(zhuǎn)與前后端交互方式尤其適合課程設(shè)計、項目實訓(xùn)或企業(yè)內(nèi)部門禁考勤需求的原型搭建Java、XML、SQL 等關(guān)鍵文件可直接導(dǎo)入 IDE 運行調(diào)試Markdown 文檔輔助梳理實現(xiàn)思路。1. 考勤管理系統(tǒng)源碼學(xué)生項目里最容易被低估的 Java 練手資源做 Java 課程設(shè)計或者畢業(yè)設(shè)計的人十有八九會撞上考勤系統(tǒng)這個題目。這份源碼就是一個典型的 Java Web 考勤管理系統(tǒng)基于 JSP Servlet MySQL 實現(xiàn)包含員工管理、部門管理、上下班打卡、考勤統(tǒng)計和月度報表導(dǎo)出幾個模塊。它不像商城項目那么繞但足夠把 Java Web 開發(fā)里最核心的東西串一遍數(shù)據(jù)庫設(shè)計、會話管理、請求轉(zhuǎn)發(fā)、SQL 聚合統(tǒng)計。適合兩類人一類是急著交課程設(shè)計的學(xué)生拿回去改改就能跑另一類是剛學(xué)完 Java 基礎(chǔ)、想找一個完整項目練手的人拆開源碼看一遍比看十篇教程都管用。2. 技術(shù)棧與模塊拆解JSP Servlet MySQL 這條老鏈路為什么還在用2.1 項目形態(tài)與選型理由先說項目形態(tài)。這份源碼是典型的 Java Web 三層結(jié)構(gòu)JSP 負(fù)責(zé)頁面展示Servlet 處理請求轉(zhuǎn)發(fā)JDBC 訪問 MySQL 數(shù)據(jù)庫。沒有引入 Spring Boot也沒有用 MyBatis整條鏈路全是原生 API依賴只有 Tomcat 和 MySQL 驅(qū)動兩個 jar 包。很多讀者拿到手第一反應(yīng)是這太老了。我一般會勸一句老鏈路恰恰是學(xué)習(xí)成本最低的鏈路。Spring Boot 幫你自動配置了太多東西出了問題反而不容易定位而 JSP Servlet 的每一行代碼都是顯式的請求怎么進(jìn)來、怎么查庫、怎么把結(jié)果塞進(jìn) request 再轉(zhuǎn)發(fā)到頁面全程沒有黑匣子。選型理由就一條這份資源的定位是能跑、能改、能看懂不是生產(chǎn)級高并發(fā)。用原生 Servlet 的好處是依賴少只要 Tomcat 起來了就能跑不用跟 Maven 倉庫里的版本沖突較勁。常見做法是登錄校驗寫在 Filter 里業(yè)務(wù)邏輯寫在 Servlet 的 doGet/doPost 里數(shù)據(jù)庫訪問單獨抽出 DBUtil 工具類。后面章節(jié)的代碼走讀會按這個結(jié)構(gòu)展開。2.2 數(shù)據(jù)庫設(shè)計三張核心表的字段與關(guān)聯(lián)考勤系統(tǒng)的數(shù)據(jù)庫設(shè)計一般圍繞三張表展開員工表、部門表、考勤記錄表。員工表掛在部門表下面考勤記錄表引用員工表的主鍵。這個資源里常見的建表 SQL 大概是這樣的CREATE DATABASE attendance DEFAULT CHARACTER SET utf8mb4; USE attendance; CREATE TABLE dept ( id INT PRIMARY KEY AUTO_INCREMENT, dept_name VARCHAR(50) NOT NULL ); CREATE TABLE employee ( id INT PRIMARY KEY AUTO_INCREMENT, dept_id INT NOT NULL, emp_no VARCHAR(20) NOT NULL UNIQUE, emp_name VARCHAR(30) NOT NULL, password VARCHAR(32) NOT NULL, role TINYINT DEFAULT 1 COMMENT 1-普通員工 0-管理員, FOREIGN KEY (dept_id) REFERENCES dept(id) ); CREATE TABLE attendance_record ( id INT PRIMARY KEY AUTO_INCREMENT, emp_id INT NOT NULL, work_date DATE NOT NULL, check_in TIME, check_out TIME, status VARCHAR(10) DEFAULT 正常, UNIQUE KEY uk_emp_date (emp_id, work_date), FOREIGN KEY (emp_id) REFERENCES employee(id) );這三張表就是整個系統(tǒng)的地基。注意兩個設(shè)計細(xì)節(jié)一是 attendance_record 里加了唯一索引 (emp_id, work_date)目的是防止同一個人同一天插入兩條打卡記錄二是 status 字段做了冗余存儲后續(xù)統(tǒng)計直接按狀態(tài)分組不用每次用上班和下班時間現(xiàn)算。如果把這三張表畫成關(guān)系圖就是典型的部門 1 對多 員工、員工 1 對多 考勤記錄。部門表是獨立的員工表通過 dept_id 關(guān)聯(lián)部門考勤記錄表通過 emp_id 關(guān)聯(lián)員工。查詢員工考勤的時候只需要一次 JOIN 就能把員工姓名和部門名稱帶上這也是后面統(tǒng)計 SQL 能寫短的前提。初始化數(shù)據(jù)也是常見的一個坑。很多版本自帶的初始化腳本只建表不插數(shù)據(jù)登錄頁沒有默認(rèn)賬號。建議手動插入一條管理員數(shù)據(jù)工號 admin、密碼 admin、role 設(shè)為 0否則第一次登錄會卡在賬號不存在。2.3 角色權(quán)限管理員與普通員工的兩套菜單邏輯權(quán)限這塊原項目沒有引入權(quán)限框架就是用最簡單的方式employee 表里 role 字段區(qū)分管理員和普通員工登錄成功之后把角色值存進(jìn) Session。管理員能訪問員工管理、部門管理、考勤統(tǒng)計這些路徑普通員工只能看到自己的打卡入口和個人考勤記錄。實現(xiàn)上常見做法是寫一個權(quán)限攔截的 Filter在請求到達(dá) Servlet 之前先檢查 Session 里的角色// AuthFilter.java 權(quán)限攔截核心邏輯 public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request (HttpServletRequest) req; HttpSession session request.getSession(false); // 未登錄一律踢回登錄頁 if (session null || session.getAttribute(user) null) { resp.sendRedirect(request.getContextPath() /login.jsp); return; } // 已登錄但角色不匹配提示無權(quán)訪問 String role (String) session.getAttribute(role); String uri request.getRequestURI(); if (uri.contains(/admin/) !0.equals(role)) { request.setAttribute(msg, 沒有管理員權(quán)限); request.getRequestDispatcher(/error.jsp).forward(req, resp); return; } chain.doFilter(req, resp); }這段 Filter 的邏輯說明第一層判斷只解決有沒有登錄第二層判斷解決登錄了但能不能進(jìn)管理頁面。如果把這兩層合并成一個 if就會出現(xiàn)普通員工直接輸入管理頁面地址也能進(jìn)去的漏洞。參數(shù)說明Session 里存的是 user 對象和 role 字符串role 用 String 而不是 int是為了和頁面 JSTL 標(biāo)簽里的比較寫法對齊。改成 int 也行但所有比較的地方都要同步改很容易漏。另一個容易踩的點是 request.getSession(false) 里面的 false它表示拿不到 Session 時返回 null 而不是新建一個配合后面的 null 判斷正好覆蓋未登錄場景如果誤寫成 getSession(true)匿名用戶也會被強(qiáng)制創(chuàng)建 Session攔截邏輯就廢了。3. 本地跑起來JDK、MySQL、Tomcat 三件套的配置順序3.1 環(huán)境版本怎么選先把環(huán)境定下來再談導(dǎo)入。這類老項目對版本敏感版本不匹配的翻車現(xiàn)場我見過太多給你一個不會踩雷的組合JDK 8不要拿 JDK 11 或更高跑老項目JSP 編譯和某些 JDBC 驅(qū)動在 JDK 9 之后行為有變化MySQL 5.7 或 8.08.0 需要改驅(qū)動類名和時區(qū)參數(shù)細(xì)節(jié)見 3.3Tomcat 8.5兼容性最好Tomcat 9 對 JSP 的 EL 表達(dá)式支持有輕微差異IDE 用 Eclipse 或 IntelliJ IDEA 都行關(guān)鍵是確認(rèn)項目是什么工程結(jié)構(gòu)順序上先裝 JDK再裝 MySQL最后解壓 Tomcat。裝完 Tomcat 先別急著往里面塞項目先啟動一次確認(rèn) 8080 端口能正常訪問。這里有一個新手常犯的錯誤以為 Tomcat 一定要單獨裝。其實用 IDE 內(nèi)置的 Tomcat 插件跑更方便控制臺日志和斷點調(diào)試都更順手。版本選型的原則就一句話和項目里 lib 目錄下 jar 包的編譯版本對齊。你可以在項目里找到 mysql-connector-java 的 jar看它支持的最低 JDK 版本再決定裝哪個 JDK。JDK 和 Tomcat 都是用前先查版本很多詭異報錯都是版本不匹配引發(fā)。3.2 導(dǎo)入工程與初始化數(shù)據(jù)庫拿到 zip 解壓之后常見做法是把整個文件夾拷到 Tomcat 的 webapps 目錄下直接運行但我不推薦這么干。更好的方式是導(dǎo)入 IDE用 IDE 內(nèi)置的 Tomcat 插件跑能看到控制臺日志和斷點。初始化數(shù)據(jù)庫的步驟固定三步# 第一步登錄 MySQL mysql -uroot -p # 第二步執(zhí)行建庫建表腳本腳本文件一般在 db 或 sql 目錄下 source /your/path/attendance.sql; # 第三步驗證表是否創(chuàng)建成功 USE attendance; SHOW TABLES;執(zhí)行完這三步數(shù)據(jù)庫側(cè)就緒。注意 source 命令后面要寫文件的絕對路徑別用相對路徑否則會報 file not found。導(dǎo)入 IDE 的時候有一個常見的坑項目如果是 Eclipse 的 Dynamic Web Project 結(jié)構(gòu)直接 File - Open 打開目錄即可如果拿到手是一個普通文件夾沒有 .project 文件要先轉(zhuǎn)成 Maven 工程或者手動勾選 Web Facet否則 IDE 不認(rèn)它是 Web 項目運行按鈕是灰的。我一般會先看一眼工程根目錄下有沒有 pom.xml。有 pom.xml 就用 Maven 方式導(dǎo)入沒有就用純 Web 工程方式導(dǎo)入。兩種方式對應(yīng)的啟動按鈕不一樣混淆了會在后面部署階段報各種奇怪錯誤。3.3 數(shù)據(jù)源配置jdbc.properties 逐項說明老項目的數(shù)據(jù)源配置通常寫在 src 目錄下的 jdbc.properties 或 db.properties 里。打開之后你會看到四五行配置每一行都別亂改jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/attendance?useUnicodetruecharacterEncodingutf8 jdbc.usernameroot jdbc.password123456逐項說明jdbc.driverMySQL 5.7 用 com.mysql.jdbc.DriverMySQL 8.0 必須改成 com.mysql.cj.jdbc.Driverjdbc.urllocalhost 換成遠(yuǎn)程數(shù)據(jù)庫 IP 就是連遠(yuǎn)程庫characterEncodingutf8 是保中文不亂碼的關(guān)鍵參數(shù)jdbc.username / jdbc.password按本地 MySQL 的實際賬號改8.0 如果因為密碼加密方式導(dǎo)致連接失敗要在 url 后面追加 serverTimezoneAsia/Shanghai改完配置之后重啟 Tomcat 讓配置重新加載。驗證配置是否生效的方式很簡單隨便打開一個需要查庫的頁面如果頁面能正常顯示數(shù)據(jù)列表說明數(shù)據(jù)源通了如果報 SQLException 或 Connection refused看 5.1 的排查思路。還有一個細(xì)節(jié)jdbc.password 明文寫在 properties 文件里是課程設(shè)計項目的常態(tài)別因為這個覺得項目有問題。生產(chǎn)環(huán)境用加密或環(huán)境變量那是另一個話題。但要注意 properties 文件保存時編碼必須是 ASCII 或 UTF-8 without BOM否則中文注釋會變成亂碼甚至導(dǎo)致解析失敗。3.4 第一個冒煙測試從登錄頁到主界面數(shù)據(jù)庫初始化完、Tomcat 啟動成功之后先做一個冒煙測試打開瀏覽器訪問 http://localhost:8080/項目名/login.jsp用默認(rèn)賬號登錄看能不能正常跳轉(zhuǎn)到主界面。如果項目名帶了中文或者空格URL 里的路徑會出問題建議把 webapps 下的項目文件夾重命名成純英文比如 attendance。冒煙測試通過之后再逐個點一遍菜單員工管理、部門管理、打卡、統(tǒng)計。這一步主要是確認(rèn)每個 Servlet 的路由映射有沒有配全。很多老項目的 web.xml 里配置了一堆 servlet-mapping少配一條就會在點某個菜單時 404。我用一個笨辦法快速確認(rèn)路由把 web.xml 打開把每個 url-pattern 和對應(yīng) Servlet 類名抄在一張紙上然后逐個訪問。抄一遍下來整個項目的請求流轉(zhuǎn)關(guān)系就清楚了比反復(fù)點頁面快得多。提示如果冒煙測試階段就報 404先別懷疑代碼優(yōu)先檢查訪問路徑的大小寫。JSP 文件名和 Servlet 映射都是區(qū)分大小寫的login.jsp 寫成 Login.jsp 直接 404。4. 核心代碼走讀登錄、打卡與統(tǒng)計 SQL 的三個落點4.1 登錄邏輯Session 與密碼校驗登錄是第一個值得逐行看的模塊。常見寫法是 LoginServlet 接收頁面提交的 emp_no 和 password拿著這兩個參數(shù)去查 employee 表查到就把用戶對象放進(jìn) Session。// LoginServlet.java 核心校驗邏輯 String empNo request.getParameter(empNo); String pwd request.getParameter(password); // 查詢用戶注意這里要用 PreparedStatement 而不是拼接 SQL String sql SELECT * FROM employee WHERE emp_no? AND password?; PreparedStatement ps conn.prepareStatement(sql); ps.setString(1, empNo); ps.setString(2, pwd); ResultSet rs ps.executeQuery(); if (rs.next()) { // 登錄成功user 對象和 role 同時入 Session request.getSession().setAttribute(user, empNo); request.getSession().setAttribute(role, rs.getString(role)); resp.sendRedirect(request.getContextPath() /index.jsp); } else { // 登錄失敗回到登錄頁并攜帶錯誤提示 request.setAttribute(msg, 工號或密碼錯誤); request.getRequestDispatcher(/login.jsp).forward(req, resp); }邏輯說明整個登錄成敗就取決于 rs.next() 是否為 true。這里有兩個容易忽略的細(xì)節(jié)。第一個細(xì)節(jié)是請求轉(zhuǎn)發(fā)和重定向的區(qū)別。登錄失敗用 forward 回到 login.jsprequest 里的 msg 屬性還能帶上登錄頁可以顯示工號或密碼錯誤登錄成功用 sendRedirect 跳到 index.jsp讓瀏覽器地址欄變成 index.jsp這樣刷新頁面不會重復(fù)提交表單。如果把兩者搞反會出現(xiàn)刷新一次就重復(fù)登錄一次的怪現(xiàn)象。第二個細(xì)節(jié)是密碼校驗。PreparedStatement 的 ? 占位符天然防 SQL 注入老項目里如果看到字符串拼接的查詢語句建議順手改掉。employee 表里 password 字段存的是明文課程設(shè)計階段不用糾結(jié)生產(chǎn)環(huán)境必須做加鹽哈希處理。參數(shù)說明empNo 和 password 的取值來自 request.getParameter這兩個參數(shù)名要和 login.jsp 表單里的 name 屬性完全一致差一個字母就取到 null。老項目里最常見的登錄失敗原因不是密碼錯而是參數(shù)名拼寫不一致。4.2 上下班打卡時間判定與去重打卡模塊是考勤系統(tǒng)的靈魂。常見做法是同一個 PunchServlet 處理上班和下班兩個動作通過頁面按鈕區(qū)分。時間判定邏輯是這樣的// PunchServlet.java 打卡時間判定 Timestamp now new Timestamp(System.currentTimeMillis()); java.sql.Date today new java.sql.Date(now.getTime()); // 先查今天有沒有打卡記錄 String querySql SELECT check_in, check_out FROM attendance_record WHERE emp_id? AND work_date?; PreparedStatement ps conn.prepareStatement(querySql); ps.setInt(1, empId); ps.setDate(2, today); ResultSet rs ps.executeQuery(); if (!rs.next()) { // 今天第一次打卡記為上班時間 insertSql INSERT INTO attendance_record(emp_id, work_date, check_in) VALUES(?,?,?); } else if (rs.getTime(check_in) ! null rs.getTime(check_out) null) { // 已有上班時間但沒有下班時間補下班時間 updateSql UPDATE attendance_record SET check_out? WHERE emp_id? AND work_date?; } else { // 上下班都打過了提示重復(fù)打卡 }邏輯說明這個分支結(jié)構(gòu)把一天內(nèi)的打卡行為拆成三種狀態(tài)——沒打過、打了上班沒打下班、都打過了。注意 check_out 為 NULL 的判斷用 rs.getTime(check_out) null而不是 rs.getString(...).equals()因為數(shù)據(jù)庫 TIME 字段為空時是 NULL 而不是空字符串。這是新人最容易寫錯的地方寫錯了會導(dǎo)致已打過的下班卡被重復(fù)覆蓋。打卡去重靠的是 2.2 里那張表的唯一索引 uk_emp_date。即使代碼邏輯漏了判斷數(shù)據(jù)庫層也會攔住重復(fù)插入并拋 DuplicateKeyException。這個設(shè)計就是典型的前后端雙保險代碼判斷先攔一次數(shù)據(jù)庫唯一索引兜底。如果資源里的代碼沒有這個唯一索引建議自己加上。參數(shù)說明System.currentTimeMillis() 取的是服務(wù)器時間。如果你的應(yīng)用部署在云服務(wù)器上而用戶在北京時區(qū)不一致會導(dǎo)致打卡時間差 8 小時解決辦法見 5.3。另外 empId 這個變量來自登錄 Session 里的用戶信息不要從前端傳過來否則任何用戶都能偽造別人的打卡記錄。4.3 月度統(tǒng)計一條 SQL 出報表考勤統(tǒng)計頁面是管理員最常用的模塊。常見做法是選一個月度然后按員工分組統(tǒng)計遲到、早退、正常天數(shù)SELECT e.emp_no AS 工號, e.emp_name AS 姓名, COUNT(*) AS 出勤天數(shù), SUM(CASE WHEN r.check_in 09:00:00 THEN 1 ELSE 0 END) AS 遲到天數(shù), SUM(CASE WHEN r.check_out 18:00:00 THEN 1 ELSE 0 END) AS 早退天數(shù) FROM attendance_record r JOIN employee e ON r.emp_id e.id WHERE DATE_FORMAT(r.work_date, %Y-%m) ? GROUP BY e.id, e.emp_no, e.emp_name;這個 SQL 的兩個要點一是 DATE_FORMAT 把日期字段格式化成 YYYY-MM 和傳入?yún)?shù)做匹配注意如果 work_date 列有索引DATE_FORMAT 會導(dǎo)致索引失效數(shù)據(jù)量大了之后建議改成范圍查詢 BETWEEN 2024-01-01 AND 2024-01-31二是 SUM(CASE WHEN ...) 這種寫法把遲到和早退天數(shù)一次算完避免多次掃表。參數(shù)說明遲到閾值 09:00:00 和早退閾值 18:00:00 是寫死的不同公司上下班時間不同改這兩個字符串即可但格式必須是 HH:mm:ss少一位冒號都會導(dǎo)致比較失效。分組這里有個細(xì)節(jié)GROUP BY 后面寫的是 e.id, e.emp_no, e.emp_name 三個字段。理論上按 e.id 分組就夠了但因為 SELECT 里查了 emp_no 和 emp_nameMySQL 在 ONLY_FULL_GROUP_BY 模式下要求這些字段都出現(xiàn)在 GROUP BY 里否則直接報錯。很多新手把 GROUP BY 縮寫成只按 e.id 分組然后在別人的機(jī)器上能跑、自己機(jī)器上報錯就是 MySQL 的 sql_mode 配置不同導(dǎo)致的。統(tǒng)計結(jié)果在頁面上的展示常見做法是循環(huán) ResultSet 拼 HTML 表格或者用 JSTL 標(biāo)簽遍歷 List。如果資源里用的是后者你會發(fā)現(xiàn)代碼量明顯更少這也是 JSP 頁面里比 scriptlet 更推薦的寫法。5. 避坑排查數(shù)據(jù)庫連不上、亂碼、時間錯位的五個現(xiàn)場老項目跑不起來九成問題出在環(huán)境配置而不是代碼本身。我把這類考勤系統(tǒng)最常見的五個報錯現(xiàn)場整理出來每個都按現(xiàn)象、原因、解決給出處理步驟照著排查比瞎試快得多。5.1 現(xiàn)象一啟動 Tomcat 報 ClassNotFoundException現(xiàn)象第一次啟動 Tomcat 或訪問任意頁面時控制臺報 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver緊接著是一大串 Caused by最后頁面顯示 500。報錯位置通常定位在 DBUtil 工具類的靜態(tài)代碼塊里 Class.forName(driver) 那一行。原因MySQL 驅(qū)動 jar 沒有放進(jìn) WebContent/WEB-INF/lib 目錄。IDE 的 build path 里加了 jar編譯能通過但 Tomcat 運行時加載的是 WEB-INF/lib 下的 jar兩邊不一致就會出現(xiàn)編譯過、運行炸的迷惑現(xiàn)象。解決分三步走。第一步確認(rèn) lib 目錄下有沒有 mysql-connector-java 的 jar沒有就下載對應(yīng)版本放進(jìn)去第二步右鍵項目 Clean讓 IDE 重新打包部署第三步檢查 Project Structure 里的 Artifacts 配置確認(rèn) lib 目錄被標(biāo)記為 jar 目錄。多數(shù)情況做完第一步就好后兩步是防止 IDE 緩存搗亂。5.2 現(xiàn)象二頁面中文全部變成問號現(xiàn)象登錄頁面正常但員工姓名、部門名稱等中文數(shù)據(jù)顯示成 ????或者向數(shù)據(jù)庫插入中文后查出來是亂碼。有些是頁面顯示亂碼但庫里正常有些是頁面正常但庫里是亂碼兩種情況原因不同。原因三個環(huán)節(jié)至少有一個字符集沒對齊——數(shù)據(jù)庫表字符集、JDBC 連接串、JSP 頁面編碼。頁面亂碼而庫正常問題出在 JSP 編碼或 response 編碼庫亂碼則基本是 JDBC 連接串缺了 characterEncoding。解決按順序檢查先把 jdbc.url 加上 characterEncodingutf8再確認(rèn)建表時用了 utf8mb4最后在 JSP 頁面頂部寫 % page contentTypetext/html; charsetUTF-8 %。三個地方統(tǒng)一成 UTF-8 之后重啟亂碼問題基本消失。還有一個冷門原因properties 文件保存時被 IDE 轉(zhuǎn)成了 GBK 編碼讀出來的連接串本身就帶亂碼這種情況把文件重新保存為 UTF-8 即可。5.3 現(xiàn)象三打卡時間比本地時間慢 8 小時現(xiàn)象用戶上午 9 點打卡數(shù)據(jù)庫里 check_in 顯示 01:00:00整個系統(tǒng)的打卡時間全部偏移 8 小時。原因服務(wù)器或 MySQL 的時區(qū)設(shè)置是 UTC而用戶在東八區(qū)。MySQL 8.0 的驅(qū)動默認(rèn)讀取 serverTimezone 參數(shù)不指定就按 JVM 默認(rèn)時區(qū)算兩邊不一致就出現(xiàn) 8 小時偏移。解決在 jdbc.url 后面追加 serverTimezoneAsia/Shanghai同時檢查操作系統(tǒng)時區(qū)。如果項目里取時間用的是 new Date()取到的是 JVM 時區(qū)的時間還要看 Tomcat 啟動的 JVM 參數(shù)有沒有 -Duser.timezoneAsia/Shanghai。改完配置必須重啟 Tomcat光改配置文件不重啟等于白改。5.4 現(xiàn)象四導(dǎo)出報表 Excel 打開是亂碼現(xiàn)象管理員導(dǎo)出月度考勤報表用 Excel 打開之后姓名列全是亂碼或者干脆打不開提示格式錯誤。原因很多老項目導(dǎo)出 Excel 用的是往 response 里直接寫 HTML 表格的偽 Excel 方案文件后綴是 .xls 但內(nèi)容其實是 HTML。如果 response 沒設(shè)置正確編碼瀏覽器按默認(rèn)編碼解析中文就亂碼。解決在導(dǎo)出 Servlet 里顯式設(shè)置 response.setCharacterEncoding(UTF-8)并且給 Content-Type 加 charset。更穩(wěn)妥的方案是把偽 Excel 換成真正的 Excel 導(dǎo)出組件但課程設(shè)計階段先調(diào)編碼就夠了。注意導(dǎo)出的文件名如果是中文要對文件名做 URL 編碼處理否則瀏覽器端顯示文件名亂碼。5.5 現(xiàn)象五8080 端口被占用導(dǎo)致啟動失敗現(xiàn)象啟動 Tomcat 時控制臺報 Port 8080 required by Tomcat at localhost is already in useIDE 彈窗提示端口沖突項目根本起不來。原因要么之前啟動的 Tomcat 實例沒關(guān)閉干凈要么其他程序占用了 8080 端口。常見的是前一次異常退出IDE 里的 Tomcat 進(jìn)程還掛在后臺。解決先關(guān)掉 IDE 里所有 Tomcat 實例再在命令行執(zhí)行 netstat -ano | findstr 8080 查占用進(jìn)程的 PID然后 taskkill /PID 對應(yīng)PID /F。如果端口是被別的服務(wù)固定占用也可以直接改 Tomcat 的 server.xml 里的 Connector port把 8080 改成 8081但要記得訪問 URL 里的端口號同步改掉。提示排查順序建議固定為端口、驅(qū)動、字符集、時區(qū)。這個順序覆蓋了考勤系統(tǒng)九成以上的啟動和運行報錯每次照著走一遍比東查一下西查一下省時間。6. 二次開發(fā)方向把考勤系統(tǒng)改造成 Spring Boot 的遷移路線6.1 從 Servlet 到 Controller先跑通再改造如果你不想停留在能跑的階段最值得做的二次開發(fā)是把它遷移到 Spring Boot。遷移的思路不是重寫而是逐層替換。先建一個 Spring Boot 工程引入 web 和 mybatis 兩個 starter然后把 LoginServlet 里的邏輯原樣搬進(jìn) ControllerPostMapping(/login) public String login(String empNo, String password, HttpSession session) { Employee emp employeeMapper.findByEmpNoAndPassword(empNo, password); if (emp ! null) { session.setAttribute(user, emp.getEmpNo()); session.setAttribute(role, emp.getRole()); return redirect:/index; } return redirect:/login?msgerror; }這里的 employeeMapper 是 MyBatis 的 Mapper 接口SQL 用注解直接寫在方法上。遷移時注意兩點一是 HttpSession 的用法不變Spring MVC 可以直接注入 HttpSession二是原來 Filter 里的權(quán)限判斷改造成 Spring 的 HandlerInterceptor邏輯幾乎一模一樣。6.2 用接口清單驗證遷移結(jié)果遷移完別急著收工。我的習(xí)慣是列一份接口清單登錄、打卡、統(tǒng)計、導(dǎo)出逐個對比遷移前后的輸出。從那次以后我每次拿到這類老項目都先花十分鐘把數(shù)據(jù)庫腳本和配置參數(shù)過一遍再啟動項目。先跑通、再讀碼、后改造這個順序幫我省了大量查錯時間。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丰满人妻一区| 久久国产精品一级二级三级| 超碰97综合网| 91色图片| 亚洲男人天堂Av| 精品人妻视频入口| 91操碰| 少妇精品久久| 一级岛国大片| 久久综合九九| 无码日韩网站| 亚洲精品蜜桃久久久一区二区三区| 久久的免费性爱视频| 天天综合网亚洲综合网| 久久久久久久久9| 国桃视频产巨乳精品一区二区在线| 香蕉综合网| 97久久精品亚洲| 欧美在线色| 人妻激情偷乱视频一区二区三区 | 久久久九九| 91人妻丝袜无码| 久久亚洲婷婷| 婷婷五月天激情网| 不卡啪啪视频| 国语对白在线播放视频| 中文字幕一区二区日韩网| 秋霞一集毛片观看| 黄色电影在线播放综合网站| 蜜臀一区二区三区在线| 岛国黄| 少妇高潮流水av免费| 麻豆成人影音在线| 久久精品国产亚洲av水密被窝| 男人天堂毛片| 91色欧美| 美欧色综合| 超碰色97| 一区二区三区国产在线播放| 97综合久久| 另类图片天天影视| 亚洲美女AV无码| 无遮挡男女激烈动态图| 激情小说成人日本无码一| 69av一区二区三区| 亚洲乱色熟女一区| 国产精品久久久久亚洲av| 俄罗斯一区二区视频在线观看| 国产精品久久aV| 国产肏逼网站| 91c色| 日韩性爱电影一区| 日韩精品熟妇| 久久男人精品| 一区二区三区黄片免费观看| 中日韩欧美精品无码AⅤ一区二区| 日韩亚洲精品一区二区| 120分钟婬片免费看| 久久性爱免费送| 国产精品国产拍高清AV| 天美传媒国产原创中文字幕亚洲欧美另类| 欧美九九99久久精品| 日韩女优中文字幕| 97在线观视频免费观看| 草草草草视频| 国产精品亚洲无码| 麻豆天美国美国产| 天天躁日日躁AAAAXXXX国产| 亚洲成人黄色在线观看| 天天操女人| 日日干夜夜操视频h| 99国产天美| 亚州国产成人精品女人久久 | AA级电影三区| 天天色播亚洲综合网站| 91暧暧| 久久九九热| 日韩少妇无码| 久久性爱免费送| 免费看美国人人爽,人人操| 成 人 影视 一区 二区 三区 四区| 91夜色chaopeng| 夜夜嗨老熟女AV一区二区三区| 4虎在线观看| 三级日韩一区二区三区| 天综合中文| 91熟女视频网| 国产又黄又爽又刺激久久久久久| 婷婷五月天影院| 国产成人天堂| 国产操逼视频在线观看| 碰碰在线视频| 久久久精| 精品久久久久av影院| 蜜桃久久久久久| 91男女| 在线无码视频| 极品粉嫩一区二区| 日韩三级av片| 国产视频不卡在线观看| 亚洲宗合网| 日韩操啪| 黄站在线免费观看| 嫩草美女久久| 天天狠| 综合网少妇| 插穴性爱视频在线观看| 青青草伊人久久| 又粗又长又大国产不卡| 久久婷五月天| 亚洲中文字幕av | 中文字幕91页| 美欧老女人97| 在线岛| 禁十八久久| 国产精品人妻无码久久久互動交流| www.色婷婷色综合| 色综合 加勒比| 日韩精品在线视频在线观看| 天天香香欲综合| 极品另类| 国产精品乱码久久久久久久久久久久| 人人爱人人乐人人操| 久久久9品一区二区三区| 啪啪啪亚欧美视频| 十八禁网站在线| 夜色91| 91丨九色丨大屁股| 在线97视频| 男人天堂一区二区| 国产60页| 骚熟女吞| 高跟丝袜AV专区国产| 久久久久国产| 久久草大香蕉| 日韩大香蕉| 伊人成人情色综合| 91精品久久久久久77777| 成人无码欧美一级A片狼牙直播| 去干网最新版| 国产免费内射视频| 九九九九九九免费视频| 99久久综合| 99久久99久久免费精品蜜臀| 日韩美女高潮喷水视频| 免费一级毛片在线视频观看| 精品免费囯产一区二区三区| 99自拍B亚洲 | 日本三级黄页| 欧美亚洲日韩16色| 在线国产探花| 尤物网站91| 97视频620| 韩日性爱av| 亚洲精品国产拍免费91在线| 九九九九久久久| 中文一区二区三区影院| 肉丝无码中文高清| 五月开心网| 五月天丁香欧洲日韩| 日韩免费簧片| 久久一二三四五六七八九区| 天堂日本亚洲欧美| 婷婷99狠狠| 免费一级性爱久久| 天天狂操夜夜狂日| 超碰97欧美日韩| 欧美一区二区亚洲天堂| 亚洲中文字幕熟女| 97超碰中文字幕| 久久色人体 | 曰韩精品视频一区二区| 97久久综合网| 五月开心久久AV官网| 国产精品色色| 亚洲欧美中文日韩视频中国语| 91色交| 人妻素股| 人人澡人人弄| 亚洲美女 晚间男人天堂| 97在线精品| 亚洲无码一二三区| 成人av动漫在线观看| 日韩精品在线放| 欧洲精品一级二级精品综合视频综合| 91亚洲欧美综合高清在线 | 国产91亚洲精品一区二区三区| 午夜福利一区二区三区四区五区色婷婷| 久久熟女人| 日本在线激情一区二区三区| 天天操天天射天天日| 夜夜欢天天干| 91欧美在线| 偷拍亚洲视频一区二区三区四区| 久操在97| SUV一区二区在线看| 日本精品人妻少妇一区二区| 欧美成不卡网| 嗯啊免费视频| 亚洲人在线成线成人| 国产97色在线| 国产精品老熟女一区二区| 99精品久久久久久久婷婷蜜桃| 日韩亚洲精品一区二区| av在线不卡一区二区三区| 麻豆国产精品午夜视频| 呦呦影院| 偷拍三区| 日本日逼高清| 国产综合网站在线播放| 国产激情av女片自拍| 亚洲一卡2卡3卡4卡乱码网站 | 国产一区二区三区不卡手机在线| 蜜桃久久久久久| 性色国产东北露脸精品视频| 2026国产精品视频| 国产人妻精品一区二区三区秋霞| 亚洲男人天堂视频| www国产精品| 久久久久久九| 亚洲做性| 啊啊啊啊嗯嗯在线久久久| 啪啪性爱免费视频| 91精品微拍福利| 日韩视频精品在线观看| 久久的免费性爱视频| 国产亚洲精品一区二区三区| 久草新在线| 小情侣高清国产在线视频| 99热99re6国产在线播放| 日本熟妇熟色97一本在线观看| 久久久久久夜夜夜夜夜| 久久综合av| 天天干人妻视频| 女人综合网| 日韩免费中文字幕视频| 在线观看亚洲专区| 91九久| 好看的91视频| 美女t无毒不卡不卡| 中文字幕乱码在线| 成人麻豆av电影网站| 亚欧Av| 好淫网一二三视区| 欧美图片色五月天| 日本羞羞的视频在线播放| 日韩综合成人免费视频| 粉嫩av在线一区二区| 99热网站| 加勒比av网| 97日韩欧美| 一起草日韩| 色色无码| 色97综合中文字幕| 日韩强奸av| 亚洲欧美国产其他二区| 综合网亚| 五月天伊人网| 亚洲黄色网址视频| 欧美一二在线| 94色色电影网| 人妻日日干| 美女的肌被草喷水视频| 青青草久草| 日韩欧美一级特黄大片| 人妻人久久精品中文字幕| 91色狼| 性做久久久久久免费观看软件| 超碰97在线 欧美 国产| 超碰美国| 天天摸,夜夜摸| 九热超碰| 欧美操逼熟女| 强奸a片网| 久久人人舔人人爽舔人人av片| 大香蕉av在线| 日本道人妻久久久在线不卡色视频| 成人免费性爱视视| 国产女人高潮视频| 日韩中文字幕二区| 极品内射| 精品欧美乱码久| 69视频入口| 日本在线视频导航| 国产一区二区三区,在线观看观看| 另类欧美色| 加勒比大香蕉视频在线| 午夜在线播放| 九九综合| 黑人娇小av在线播放| 99热这里只有精品99| 久9久9久9久9久9久9| 亚洲成人福利电影免费 | 大屁股国产在线视频| 日韩在线欧美精品一区二区| 国产欧美一区二区| 伦激情人妻另类人妻| 久久国产99精品72福利| 五月丁香六月综合缴清无码| 久草男人天堂| 在线观看色视频| k频道色撸撸| 激情网色| 亚洲交性| 亚洲蜜臀懂色| 国产综合网站在线播放 | 五月丁香啪啪啪| 男人的天堂com| 丁香五月激情综合| 国产野战露脸在线播放| 国产情色第一第二页在线观看| 约操熟妇| 亚洲欧美洲综合| 蜜臀在线免费观看在线免费观看| 操操吧亚洲乱伦视频| 1204金沙人妻懂旧版免费| 国产99精品一区二区三区免费| 久色99999| 五月丁香| 人人人摸人人| 久久久久久久久久久久97| 91久青| 色5月婷婷| 欲色综合| 欲香欲色天天天综合和网| 午夜福利免费福利视频| 欧美激情专区| 日本熟妇色熟妇在线视频播放| 日本精品一区二区中文字幕| 日韩啊V| 亚洲激情欧美色图| 亚洲精品丝袜| 国产女性无套 免费观看| 外国免费性情大片| 久久综合久色欧美综合狠狠| 裸体美女免费看网站青草| 国内精品a| 骚货操死你| 久草资源欧美在线视频| 日本色婷婷| 国产极品粉嫩馒头一线天av| 黑人精品欧美一区二区蜜桃| 91欧美巨乳| 综合欧美亚洲| 黄页网站成人免费| AV天堂男人的天堂| 国产11页| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 婷婷AV一区二区三区| 欧美亚洲天堂| 国产麻豆91欧美一区二区久久婷婷国产精品| 天天影视网综合少妇| 日本三级网页| 免费观看性欧美一级| 大香蕉一人| 国产精品视频| 色色综合97| 天天操女人| 婷婷综合久久| 成年女人18级毛片毛片免费观看| 天天操夜夜嗨| 家庭乱伦性爱av| 成人性爱av| 在线播放成人高清免费视频| 欧美在线天堂| 天天射日日干| 日本色日夜干| 青青草中文字幕| 婷婷10月天青娱乐| 五月天AV资源| 四虎影视国产精品| 精品十八在线观看| 91丝袜| 久久大香蕉97| 亚洲成人ab| 欧美色图校园春色| 久久青青草在线视频| 欧美视频一区二区三区| 超碰导航97| 爱丝福利| 亚洲色图8| 日韩欧美中文字幕搭讪巨乳美人妻视频| 天天天天做夜夜夜夜做| 色大香蕉97N| 精品网站99999| 日本 免费 一区二区三区 久久香蕉 | 超碰久久性爱| 很黄很污的免费网站| 嗯嗯嗯啊啊啊在线免费观看| 九九九久千久久激情蜜桃在线看 | 国产v亚洲v日韩v欧美v片另类| 九久精品| 自拍偷拍第26| www亚洲免费| 国产综合网站在线播放| 最新日韩黄片| 人妻出轨一区二区三区| 精品亚州18| 另类成人首页一区| 高清无码人妻久久久一区二区三区aⅴ| 久久有码视频| 久久精品国产亚洲AV先锋| 麻豆美女丝袜人妻中文| 亚洲一区二区三区中文字幕| 亚洲日韩国产欧美综合v| 亚洲高清无码免费观看视频| 日韩av三四区| 久久华人网| 亚洲一区二区三区婷婷| 欧美福利视频啊啊啊啊| 人妻乱仑一区二区三区| 四虎 精品 WWW| 亚洲性少妇| 中国91AV| 无码人妻丰满热妇又大又粗| 97精品国产97久久久| 色天使大香蕉| 伊色久人大在线| 日韩在线欧美精品一区二区| 中文字幕性感少妇av| 日韩人妻资源网| 97在线观看免费视频l| 欧洲一区二区| 亚洲高清无毛一区二区| 1024香蕉视频| 欧美成人精品一区二区男人蜜臀| 97啪啪| 日韩欧美国产高清视频| 都市激情人妻一区二区青青操视频 | 夜夜嗨视频| 久久精品中文字幕观看| 后入 亚洲 美女 射| 囯产精品强| 超碰在线欧美性爱激情| 神马久久久久久久久久| 久超碰这里只有精品| 51国产午夜精品视频| 亚洲精品人妻吞精av| 欧美狠狠弄| 97国产|免费| 激情无码日韩| 狠狠夜色午夜久久综合在线| 日韩人妻丝袜中文字幕| 柠檬AV导航| 99re在线视频国产| 久草视频在线视频在线视频在线观看 | 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 五月丁香六月综合缴清无码 | 精品无码久久久久| 亚洲色婷婷久久91| 亚洲色天堂日韩中| 九久久九九久视频| 日韩不卡av一二三| 果冻传媒A片一二三区| 亚洲欧美日韩制服另类| 怡红院视频在线| 亚洲黄色电影| 国产精品青草综合久久| 999熟女精品| 国产精品干干干| 97超碰超| 人人艹亚洲| 久久天天躁日日躁狠狠躁| 中文字幕乱亚洲美女精品一区| 97最新在线播放视频| 欧美91久久久久| 精品毛片av一区二区| 久久一留热品黄| 日韩一级欧美一级国产一级台湾| 丝袜制服字幕在线| 成人av毛片在线观看| 一区黄二区黄| 亚洲国产欧美一区二区潘金莲| 男人的天堂2018.| yaouchengrenav| 亚洲综合另类欧美久久久| 黑人娇小av在线播放| 香蕉一区二区三区在线视频| 午夜男女爽爽爽影院视频| 精品国产99| 2017av无码免费无线播| 5月婷婷6月六月丁香| 久操影视| 精品久热| 青青色在线观看| 亚洲精品蜜桃久久久一区二区三区| 欧美中文综合| 九X超碰| 日韩欧美aⅴ综合网站发布| 亚洲揄拍网| 日韩人成网站在线播放| 熟女熟妇一区二区三四区| 中文无码一二三区| 日韩免费看在线黄色片| 久9爱经典视频 | 好舒服视频| 国产精品久久久鸭无码的功能| 国产伊人精品在线| 亚洲欧美色综合| 国产精品久久久无码AV网站| 亚州性9| 97精品第3页| 日韩中文字幕视频在线观看| 蜜臀中文字幕| 伊人少妇久久久| 精品人妻伦一二三区久久| 国产在线综合福利网站| 欧美天天弄| 日本日日色视频| 欧美少妇高潮视频| WWW.加勒比人妻一区不卡.com| 国产日韩无码一区二区三区久久区| 亚洲第91页 | 国产精品秘 福利姬在线观看| 超碰在线91| 欧美后入视频| 人人乐大香蕉| 日韩人妻免费精品| 亚洲自拍偷拍视频在线| 免费视频观看60秒| 中文字幕诱惑制服人妻丝袜美丝袜美| 久久最新免费视频23| 国产亚洲精品美女久久久久久2021| 久热超碰| 亚洲综合影院| 大香蕉视频啪啪啪啪| 色999偷自拍拍| 超碰在线91| 亚洲二区精品在线观看| 一区二区精品日韩欧美在线观看| 欧美色图 色综合图| 国产一| 91亚州欧美| 国产最新AV| 欧美一级A片在线看视频性色| 国产精品电| 欧美性天天影视| 自慰白浆在线观看| 国产精品欧美日韩久久| 最近2018中文字幕在线高清第一页| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 91美女丝袜诱惑视频| 国产97视频免费观看| 国产91会所女技师在线观看| 91这里只有精品| 91熟女丨老女人| 欧美少妇高潮视频| 伊人欧美大香蕉视频| 国产第二页| 热久久99999| 综合 青草 伊久久 影院 综合| 91 在线亚洲| 天天日日舔舔| 亚洲综合另类欧美久久久| 超碰 97国产熟女| 综合色图区| 国产精品一二三免费网站| 丁香五月色| 97色碰| 九九内射在线| 欧美不卡在线美女| 婷婷综合在线观看| 极品久久久久久久久久久久久久| 韩国女主播青草在线| 97色97好| 国产女主播视频在线观看| 免费99精品国产自在在线| 欧美日韩系列| 久久久不卡| 97视频网站| 人人性爱视频免费| 国产东北女人在线视频| 亚洲欧美国产成人综合不卡| 久久亚洲婷婷| 人人澡人人爽人人精品| 欧美综合色图片| 四虎av在线| 欧美天天性| 国产欧美日本亚洲精品| a级成人毛片免费视频高清| 深田咏美亚洲精品福利社| 五月婷婷激情网| 7月婷婷综合| 天堂射| 性高潮久久久久久久久久久| 99久久99久久免费精品蜜臀| 一二三四视频中文字幕在线看| 探花在线免费观看视频国产一区| 99热最新| wwe 天天干.com| 操老熟女AV| 91人妻在线视频| 高潮毛片无遮挡高清免费| 欧美精品1区2区3区| 狠狠欧美| 锕锕好爽 死我在线观看| 精品久9| 999亚洲国产视频| 六月丁香婷| 日韩电影天堂视频二区三区| 久久香蕉国产线看观看亚洲女人| 黑人美精品 A片| www99热| 久久这里| 一级一性爱免费视频| 夜嗨影院| 男人干美女| 成人性交午夜免费片| 日本高清视频xxxx| 欧美综合自拍成人自拍第二十页| 亚洲十八禁止| 美国日韩黄片| 精品视频久久久久九九九九9999| 97频视在线| 欧美色图第一页| 亚欧Av| 试看福利| 久久的免费性爱视频| **一级毛片国产| 丁香婷婷激情五月天无毒不卡| 国产美女高潮视频| 国产午夜激片Av毛片不卡| 宅男91视频在线播放| 欧美精品黑人猛交高潮| 国产女生在线| 欧美国产操逼| 天天艹天天日| 丝袜无码a片| 天堂无码| 九九热九九热| 欧美96精品在线| 岛国成人av在线播放网址| 日韩无码AB| 中国一级特黄大片护士| 91在线免费观看处女| 亚洲天堂男人天堂网| 黄色av一区二区在线| 国产人妻精品一区二区三区秋霞| 午夜视频好爽啊| A啊啊在线观看| 国产高清视频无码在线| 国产suv精品一区二区四区999 | 一级特黄aaa大片在线观看成人一级片在线观看 | 欧美18 在线观看| 久久久久久夜夜夜夜夜| 97超碰超碰| 人妻天天爽夜夜爽爽| 中文字幕乱亚洲美女精品一区| 91碰碰碰| 色五月AV| 免费观看欧美日韩操逼视频| 啊啊啊啊无码| 一区二区三区精品黑丝白丝酒店对鸡| 亚洲人久久久久日| 91亚洲黑人| 日本免费一级AAA大片器| 97色欧州| 久久av成人无码免费| 大但人体久久久久| 五月婷色| 日韩一级二级三级免费看完整版| 久久久久9久久久久| 欧美18老人禁| 色天欧美| 色九月婷婷| 国产91精品在线免费| 日本人妻一区二区| 操操逼视频| 日韩不卡一二三四| 色综合久久888| 懂色aV一区二区天美传媒| 夜夜嗷嗷一区二区| 999国产精品999| 啊啊啊免费视频| 91黑丝美女| 免费人成?大片在线播放| 亚洲高清91| 天天做天天爱天天爽AV| 日本一区二区成人在线| 欧美 亚洲| 99热精品国产| 影音先锋国产精品| 国产主播福利| 欧洲性人爱视频| 91原创在线观看| 国产精品免费日韩| 干少妇视频| 日本孕妇孕交| 色av中文字| 3d成人精品一区二区| 欧美九九九九九| 欧美在线l亚洲| 色五月亚洲| 亚洲激情综合另类男同| 亚洲综合嫩| 97看操| 99免费在线视频| 欧美日韩日产免费网站看| 一区二区三区一亚洲中文字幕、综合区灬 | 超碰 国产熟女精品一区| 人妻久热在线| 日本黄 R色 成 人网站| 久久伊人亚洲AV无码网站| 久久黄黄黄| 久久亚码| 黑人中出21连凳花野真衣| 久久精品99| 亚洲1区2区三区高清中文字幕| 少妇熟女一区二区三区| 天天热精品| 色大香蕉97N| 人妻在线中出视频| 91在线色综合| 熟女乱伦二区| 国产精品成人蜜臀AV在线| 国产亚洲深夜激情| 91bbb| 欧美高清16| 第45页一区二区| 操屄日韩| 亚洲熟女av中文字幕| 久久妇| 刺激性视频黄页| 99热亚洲| 日韩一区二区熟女| 日本999精品| 五月丁香婷婷综合网| 久操网视频| 中文字幕一区二区三区字幕| 97色网| 青草成人免费视频一COm| 天天久久| 精品国产www久久| 精品人妻中文字幕4399| 久久精品国产精品一区| 男人的天堂2018| 男女国产精品| 91精品人妻一区二区三区蜜臀| 五十路熟女在线不卡观看一区二区| 韩国女主播青草在线| 精品国产99| 中文字幕日韩精品一区二区三区| 中文熟女五十乱码在线| av72网| 成熟熟女国产精品一区二区| 超碰久久草| 精人妻无码一区二区三区伊人直播| 伦在线97| 亚洲素人综合| 欧美伊人电影| 久久久人妻| 国产午夜精品理论片一二三区区 | 欧美不卡二区| 久久99人妖视频国产| 色婷婷香蕉| 日本综合色图| 久久熟女人| 久草新免费| 亚洲宗合网| 亚91网| 久久久久亚洲Av无码专区老牛影视 | 无码WWW免费视频网站| 婷婷丁香五月天综合东京热| 思思热免费视频观看| www99热| 欧美欲色| 国产一| 青青在线视频日韩欧美| 高清国产无码av| 高跟丝袜AV专区国产| 色婷婷av在线观看| 91jk色拍| 久久精品无码熟妇一区二区三区视频导航 | 久99在线免费观看视频| 久久男人的天堂| 国产精品点击进入在线影院| 欧美性爱一级操| 久久五月份| 人妻酒店出差被中出免费在线播放| 操曰本熟女| 欧美综合91| 色色福利| AV天堂丝袜| 99后入| 久久精品国产亚洲AV先锋| 亚洲一区二区三区播放在线| 97干在线| 国产久久男人天堂| 亚洲色图欧洲| 8050午夜少妇无码| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 黄片com.| 女一区二区| 啊啊啊慢点| 免费一级黄色录像影片| 欧美一区91大爱| 天天干夜夜肏| 操啊国产| 日韩啪啪啪啪啪| 超碰在97| 另类TS人妖一区二区三区| 五月天久久久| 亚洲熟女乱色一区二区三区久久久 | 亚洲啪啪视频一区二区| 午夜男人天堂| julia国产在线| 激情综合网五月婷婷五月天| 人妻一区久久二区三区色播| 操熟女91| 欧美伦乱| 久久25| 国语精品对白| 国产精品无码在线| 99re8免费高清在线| 亚州综合色| 性色AV蜜色av色欲av| 成人自拍三级在线观看| 色五月综合| 久久超碰av在线| 亚洲成人在线高清| 天天欧美色| 国产精品伦理| 久久久久久AⅤ无码免费肉站| 99xav| 青青操网| 日韩欧亚太美不卡| 在线亚洲欧美| 91亚洲精品青草| 亚洲久久久久| 91n美女视频| 91久久| 五月久久HDAV| 人妻精品视频一区二区三区| 九九九九久久久| 97国产精品一区二区传媒公司| 欧美做爰无码A片视频| 欧美日韩97在线| aⅴ日韩成人电影av在线免费看av大全 | 日韩三级网址| 美女91AV| 91久久精品国产| 日本操逼无码| 夜夜久久| www.91理论| 亚洲精品久久一区二区三区蜜桃臀| 思思热免费在线视频| 欧美亚州色的图| 乱伦系列一区二区| 校园春色 亚洲| 98一区二区精品| 老熟女乱伦片| 婷婷15月天青娱乐| 在线视频日韩欧美国产| 91中出视频| 欧美色图亚洲色图成人在在线| 最新日本中文字幕| 天天看高清麻豆| 强奸乱伦动态污图免费 | 99色热| 91综合色| 亚州春色| 久久98| 夜夜嗨TV| 色综九九九一区| 99无码精品| 激情文学88| 欧美中字二区| 国产精品久久久三级无码| 91操熟女视频| 人妻一区二区三区| 久久久久久久国产a∨| 精品无av| 久久久久久91香蕉国产| 午夜影美女日鸡鸡天天视频国产| 深喉吞精| 啊啊啊好舒服好爽啊啊啊视频| 国产成人免费观看在线视频| 久久啊啊啊| 97碰碰日本乱偷人妻中文的| 欧美日韩性爱精品| 91在线精品一区二区三区| AV网站高清无码在线观看| 老鸭窝黄色视频网站| 亚洲精品成人激情在线| 亚洲熟妇一,二,三期| 丝袜美腿射精91| 性爱动态120秒| 亚洲成人日韩小说| 久久久久夜夜夜夜| 日本最新1区2区3区| 久久熟女人| 日韩av一级黄片| 极品销魂美女一区二区| 97精品一区二区视频在线观看| 久久的网站啊啊啊啊啊| 天堂种子在线www网资源| 欧美亚洲国产91在线| 高潮9999外国| 欧美亚洲AN| 天天肏美女| **一级毛片国产| 日韩性爱人人爱人人操| 久久春色| 日日夜夜骑| 中文字幕欧美日本乱码一线二线| 欧中日成人免费影视| 九九热精品| 手机看片1024你懂的国产| 久久天天艹| 欧美激情综合网| 久久精品操| 后入式五六区| 久久久久亚洲一区女同性恋中文字幕| 骚货人妻偷情自拍在线视频| 久操不卡视频| 久久精品国产亚洲AV高级北京| 国产日韩无码一区二区三区久久区| 久久岛国| 天天综合青苹果| 中文字幕色AV| 亚洲天堂资源| 亚洲综合69| 欧美 日韩 婷婷 五月| 色婷婷成人综合| 91人妻丝袜无码| 99久久com免费视频′| 吻戏激情性巴克| 婷婷伊人綜合中文字幕| 立川理惠加勒比无码| 国产真实野战在线视频| 激情综合网五月婷婷五月天| 日韩性爱1级片视频| 翔田千里AⅤHD无码| 国产超碰AV在线精品| 欧美日韩国产成人高清| 日本人妻丰满熟妇久久久久久| 一区二区乱码福利| 五月婷亚洲精品天堂| 亚洲综合影院| 欧美极品美女aaaaaa级黄片| 人人搞人人插人人操| 亚洲人成网站7777| 呦呦影院| 亚洲伊人a线观看视频| 欧亚成人| 人人做人人妻人人夜视频| 免费A V在线| 欧美99| 亚洲AV无码天美传媒一区| 密臀在线免费观看| 青青草大香蕉在线视频| AV中文字幕剧情1区2区3| 久久人体一区二区| 999国产精品999久久久久久| 日日骚中文字幕| 国产精品久久久吖| 综合五月婷婷亚洲一区| 首页中文字幕中文字幕免费| 久久99亚洲精品久久99果| 精品色色| 欧美色图片91| 天堂涩涩| 超碰色图| 国产成人超碰在线| 欧美日韩香蕉| 人人摸人人干| 国产精品网站www| 国产AV人人夜夜澡人人爽麻豆| 国产美女高潮视频| 亚洲欧洲av影音| 亚洲国产精品无码AV在线| 秋霞视频一区二区 | 亚洲色图A| 思思热免费视频观看| 天天日B夜夜干B时时操B| 在线观看综合精品亚洲| 亚洲五月丁香花狠狠干一区二区三区| 午夜情侣自拍网站| 国产精品天干天干综合网麻豆| 天天综合站| 日本一级特级毛片视频| 26uuu国产日韩综合在线观看| 91一起操| 国产成人AV麻豆| 久久久久幕乱码| 欧美性爱第一页久久| 免费在线观看AV无码网站| 免费看美国人人爽,人人操| 欧美高潮| 国产亚洲日韩欧| 狠狠综合网| 欧美日韩亚洲五月天婷婷| 超碰99re| 亚洲九月丁香| 天天摸天天碰天天添青青| 蜜桃天美传媒AV一区二区三区| 不卡中文字幕aⅴ在线| 99热啪啪| 色偷偷男人的天堂麻豆| 精品人妻免费观看| 丁香五月影院| 日韩 女同 综合| www.亚洲成人一区| 亚 欧 美 综合| 亚洲情色无码一区二区三区| 欧美日韩性爱电影在线| 婷婷久草一区二区三区| 视频黄站| 91午夜无码| 国产久久一区二区三区野外在线| 秘书高跟黑色丝袜国产91在线| 日韩激情小说一区二区| 伊人久久国产免费观看视频| 91n欧美| 日韩av乱伦| 中文字幕精品三级久久久| 国产日韩区| 求求你操操我| 亚洲第一页第二页激情| 成人在线视频二区| 日韩精品-原创伙伴| 操逼日韩无码| 精品免费成人久久| 久久亚洲AV成人精品无码| 亚洲www91| 久久草草亚洲蜜桃臀| 欧美成人性活片| 色五月首页| 夜夜做夜夜爽精品视频| 2020中文在线一区二区三区| 日本人妻一区二区| 男人的天堂 在线一区| 亚洲欧美大| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲欧美国产成人综合不卡| 色偷综合| 亚洲第2页| 97资源站久久| 亚洲精品人妻吞精av| 夜夜嗨老熟女AV一区二区三区| 在线中文字幕极品av| 一区二区不卡免费| 日本在线播放不卡一区| 日韩成人人妻网站| 亚洲免费看片| 天天拍夜夜| 91久久国产综合久久| 一区在线精品中文字幕| 亚洲美欧999| 亚洲天堂一区二区久久| 91超碰碰在线| 黄片直播三级黄片两女一男| 99re这里只有精品2| 9九九九九视频在线观看| 清纯唯美亚洲| 91丝袜激情在线| 黄片无码在线制服| 精品天堂| 性色高清在线| 在线观看亚洲专区| 自拍偷拍 日韩无码| 丝袜制服字幕在线| 国产无码精品久久久久久| 啊啊啊轻点在线观看| 日日做夜狠狠爱欧美黑人| 国产精品网址| 九99久久| 95人妻爽爽人人做人人澡| 国产女人视频三四五区| 欧美日韩电影一区二区| 日韩999| 人人摸人人干| 波多野42部无码喷潮在线观看| 亚洲drav色图| 色婷婷在线视频| 呦呦影院| 亚洲色图第一页| 激情一区二区三区在线观看| 日本国产亚洲一区在线观看| 精品中文日韩字幕视频| 久久久婷| 色就色综合| 国产91美女视频| a人欧美综合天堂麻豆| 日韩女模中文造逼| 国产精品久久久啊| 欧美在线视频观看一二三四区高清| 五月天色五月| 亚洲精品国产专区在线观看| 99少妇| 色娱乐色呦呦夜夜夜夜av| www色色色com| 91九色蝌蚪在线观看| 欧美日韩亚洲天堂| 亚洲色图 图片| 久久啊哟| www超碰| 亚洲囯产精品女人久久久| 欧美色图 色综合图| 免费超碰97久久| 江都AV在线| 亚洲免费看片| 亚洲精品影视老司机| V A在线| 综合亚洲欧美| 大香蕉伊然在亚洲91| 三级片大波波| 92福利社视频| 人人透人人操| 综合操逼| 国产成人精品必看 | 91综合网| 人妻夜爽夜夜爽| 麻豆精品三区视频| 亚洲高清视频在线观看| 日韩精品区二区三区不卡| 久久精品国产免费观看99| 国产日逼视频| 色哟哟AⅤ| 国产熟女精品一区二区| 日本道人妻久久久在线不卡色视频| 亚州综合AⅤ| 欧美午夜色妇色鬼| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 亚洲无码免费看| 欧美色图亚洲激情| 欧洲站一级二级三级h| 精品人妻一区二区乱码一区二区| 日韩欧美麻豆大片| 五月丁香婷婷啪啪| 欧美疯狂做爰xxxx| 欧美日本国产日韩激情视频| 操www| 伊人专区一区二区三区| 天天看天天日| 九七超碰| 思思热国产高清| 放黄片放3级黄片没穿衣服| 日日操夜夜操天天操免费观看麻豆| 欧美性少妇| 香蕉国产97| 99re99在线视频| 亚洲影视第一页| 一级久久久久久久久久久| 国产强奸乱伦xd| 亚欧毛片基地国产毛片基地| 免费观看成人www精品视频| www国产无码| 精品人妻免费观看| 成人26uuu| 中文字幕AV乱伦| 国产人伦a片信息免费片| 91香蕉视频在线观看免费| 高清无码在线播放网站| 自拍大香蕉乱插| 亚洲欧洲综合成人av一区| 成人麻豆av电影网站| 欧美性爱中文字幕无线码| 97欧美性爱| 国产欧美一区激情交|