日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

SpringBoot + Servlet + Mybatis+ layui 学生选课管理系统

發(fā)布時間:2023/12/8 windows 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot + Servlet + Mybatis+ layui 学生选课管理系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

課程設(shè)計目的

本次課設(shè)做的系統(tǒng)為學(xué)生課程設(shè)計管理系統(tǒng),鑒于學(xué)校規(guī)模的不斷擴大,而且隨著每年的擴招,人數(shù)不斷的增加,每次課程設(shè)計都采用手工操作,費時費力。為了解決這個問題,決定做一個課程設(shè)計管理系統(tǒng),對每個學(xué)期選修課程設(shè)計的學(xué)生基本情況作個統(tǒng)計。學(xué)生可以在系統(tǒng)中注冊賬號,登錄后學(xué)生從該系統(tǒng)中選題,填寫同組學(xué)生的姓名,組長等基本情況;查詢自己的課程設(shè)計成績,課程設(shè)計的選擇情況,成績的合格情況,小組成員信息,上課程設(shè)計報告的上傳,下載,刪除,預(yù)覽等功能。老師通過該系統(tǒng)添加課設(shè)信息,查看學(xué)生的選題情況,給出學(xué)生的分?jǐn)?shù)。這有利于老師教學(xué),及時了解學(xué)生的情況,提高教學(xué)質(zhì)量,減輕老師的工作量,改善原有的比較繁鎖的工作。

題目基本情況

本系統(tǒng)涉及權(quán)限管理,以老師,學(xué)生分別登錄以進(jìn)行不同的操作,老師可以對查看學(xué)生信息,給出學(xué)生成績查看學(xué)生選題情況,添加課設(shè)信息。學(xué)生可以添加同組成員信息選擇課程設(shè)計,退掉課程設(shè)計,查看課程設(shè)計的成績,上傳實驗報告.為了提高信息的處理效率,設(shè)計一款小型的課程設(shè)計管理系統(tǒng)。將數(shù)據(jù)庫的內(nèi)容通過web服務(wù)器配合前端框架在瀏覽器展現(xiàn)出來,達(dá)到直觀,方便的管理目的。

數(shù)據(jù)庫表設(shè)計

教師屬性:教師號,姓名,職稱,密碼。

學(xué)生屬性:學(xué)號,姓名,班級,密碼。

題目屬性:課題號,課題目名稱,題目信息,教工號。

選題屬性:學(xué)號,題號,成績,組號。

小組屬性:組號,組員,組長。

文件屬性:文件號,文件名,后綴,路徑大小,類型,下載次數(shù),上傳時間,學(xué)號

技術(shù)棧

數(shù)據(jù)庫連接池技術(shù) ?maven工具????servlet技術(shù)

Ajax請求 ?Spring-Boot框架 ??Mybatis框架 ???JSON數(shù)據(jù)格式 ????????????????????????????????????????????????????????

?commons-fileupload組件 ?layui框架 ?

程序流程圖

?

?

5.3.1登錄操作

本程序設(shè)計的權(quán)限管理中,不同身份可以進(jìn)行的操作不一樣,因此不同的身份,決定執(zhí)行什么樣的操作,如圖6-1所示為教師登錄驗證界面,前端使用leyui框架布局,

驗證碼使用BufferedImage類繪制,用戶輸入信息后進(jìn)行后臺的邏輯判斷,成功則進(jìn)入到后臺管理界面。若用戶名和姓名和驗證碼輸入正確,則跳轉(zhuǎn)到對應(yīng)的請求映射,若勾選記住密碼,則會在信息全部正確匹配后將正確的信息存入cookie,若其中一項輸入錯誤,則會重新定向到登錄界面。

圖6-1教師登錄界面

圖6-2學(xué)生登錄界面

登錄部分代碼:

Dao層:@Select("SELECT * from student where stdname =#{stdname} and stdpassword =#{stdpassword}")public Student findstudentByNameAndPassword(Student student);//通過用戶的姓名和密碼查詢Controller層:@RequestMapping("/tologin")public String index() {return "login";}//登錄1@RequestMapping(value = "/login")public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response, Student student) throws Exception {String name = request.getParameter("stdname");String pwd = request.getParameter("stdpassword");String yzm = request.getParameter("captcha");String shenfen = request.getParameter("shenfen");HttpSession session = request.getSession();String code = (String) session.getAttribute("code");String rember = request.getParameter("rememberMe");//3.處理跳轉(zhuǎn)//創(chuàng)建ModelAndView對象ModelAndView mav = new ModelAndView();if (yzm.equals(code)) {Student student_find = studentService.login(student);System.out.println(student_find);if (student_find != null) {//1.辦卡String cusername = java.net.URLEncoder.encode(name, "utf-8");Cookie cookie1 = new Cookie("uname", cusername);Cookie cookie2 = new Cookie("passwd", pwd);//3.設(shè)置范圍/* cookie1.setPath("/mydemo3/");cookie2.setPath("/mydemo3/");*/if ("true".equals(rember)) {//2.設(shè)置時效(一次瀏覽器的關(guān)閉)cookie1.setMaxAge(60 * 60 * 24 * 10);cookie2.setMaxAge(60 * 60 * 24 * 10);} else {cookie1.setMaxAge(0);cookie2.setMaxAge(0);}//4.給客戶response.addCookie(cookie1);response.addCookie(cookie2);//向模型對象中添加數(shù)據(jù)mav.addObject("student", student_find);session.setAttribute("stulogin", student_find);session.setAttribute("studentname", student.getStdname());session.setAttribute("stdpwd", student.getStdpassword());//設(shè)置邏輯視圖名mav.setViewName("studentstage");//返回ModelAndView對象return mav;} else {mav.addObject("name", "請重新登錄!");//設(shè)置邏輯視圖名mav.setViewName("login");//返回ModelAndView對象return mav;}} else {mav.setViewName("login");}return mav;}驗證碼:public class CaptcahCode {public static String drawImageVerificate(HttpServletResponse response) {//定義驗證碼的寬度和高度int width = 120;int height = 25;//在內(nèi)存中創(chuàng)建圖片BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);//創(chuàng)建圖片上下文Graphics2D g = image.createGraphics();//產(chǎn)生隨機對象,此隨機對象主要用于算術(shù)表達(dá)式的數(shù)字Random random = new Random();//設(shè)置背景g.setColor(getRandomColor(240, 250));//設(shè)置字體g.setFont(new Font("微軟雅黑", Font.PLAIN, 22));//開始繪制g.fillRect(0, 0, width, height);//干擾線的繪制,繪制干擾線到圖片中g(shù).setColor(getRandomColor(180, 230));for (int i = 0; i < 100; i++) {int x = random.nextInt(width);int y = random.nextInt(height);int x1 = random.nextInt(60);int y1 = random.nextInt(60);g.drawLine(x, y, x1, y1);}//開始進(jìn)行對算術(shù)驗證碼表達(dá)式的拼接int num1 = (int) (Math.random() * 10 + 1);int num2 = (int) (Math.random() * 10 + 1);int fuhao = random.nextInt(3);//產(chǎn)生一個0-2之間的隨機整數(shù)//記錄符號String fuhaostr = null;int result = 0;switch (fuhao) {case 0:fuhaostr = "+";result = num1 + num2;break;case 1:fuhaostr = "-";result = num1 - num2;break;case 2:fuhaostr = "*";result = num1 * num2;break;}//拼接算術(shù)表達(dá)式,用戶圖片顯示String calc = num1 + " " + fuhaostr + " " + num2 + " = ?";//設(shè)置隨機顏色g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));//繪制表達(dá)式g.drawString(calc, 5, 25);//結(jié)束繪制try {//輸出圖片到頁面ImageIO.write(image, "jpg", response.getOutputStream());return String.valueOf(result);} catch (Exception e) {e.printStackTrace();return null;}}public static Color getRandomColor(int fc, int bc) {//利用隨機數(shù)Random random = new Random();//隨機顏色,了解顏色-Color(red,green,blue).rgb三元色0-255if (fc > 255) fc = 255;if (bc > 255) bc = 255;int r = fc + random.nextInt(bc - fc);int g = fc + random.nextInt(bc - fc);int b = fc + random.nextInt(bc - fc);return new Color(r, g, b);}}

5.3.2注冊操作

本程序設(shè)計的權(quán)限管理中,支持學(xué)生的注冊賬號功能。若點擊注冊,則進(jìn)行注冊的映射請求,輸入對應(yīng)信息,進(jìn)行注冊,所示選項全部為必填項,否則無法進(jìn)行注冊,兩次輸入密碼會進(jìn)行判斷,不同則注冊失敗。輸入的學(xué)號會事先判斷是否已經(jīng)存在,存在則返回已存在。

?

圖6-3注冊界面

注冊部分代碼

Dao層:@Insert("insert into student(stdid, stdname, stdpassword, stdclass) value(#{stdid}, #{stdname}, #{stdpassword},#{stdclass})")public int insertStudent(Student student);//注冊用戶@Select("SELECT COUNT(stdid) from student where stdid=#{stdid}")public int findStudentExist(String stdid);//用戶id查看是否已經(jīng)存在Controller層://注冊頁面顯示@RequestMapping("/register")public String registerUser() {return "register";}//注冊功能實現(xiàn)@RequestMapping(value = "/registerStudent", method = RequestMethod.POST)public String registerUser(Student student, HttpServletRequest request) throws Exception {if (!studentService.findStudentExist(student.getStdid())) {request.setAttribute("error", "用戶ID已經(jīng)存在!");request.setAttribute("stdid", student.getStdid());request.setAttribute("stdname", student.getStdname());request.setAttribute("stdpassword", student.getStdpassword());request.setAttribute("stdclass", student.getStdclass());return "register";} else {studentService.register(student);}return "tips";}

5.3.3后臺選擇操作

學(xué)生登錄完畢后,將會進(jìn)入圖6-3-1所示的學(xué)生界面,學(xué)生可以查看個人信息,查看選課信息以及退課,修改密碼,查詢課設(shè)信息以及選課,成績查詢和報告的上傳,下載,預(yù)覽和刪除;教師登錄完畢后,將會進(jìn)入圖6-3-2所示的教師界面,教師可以查看個人信息,查看自己的開課信息以及加課,修改密碼,查詢學(xué)生選擇課程的信息以及給出學(xué)生成績。

?

圖6-3-1 學(xué)生后臺界面

?

圖6-3-2教師后臺界面

5.3.4個人中心界面

點擊個人中心的下拉框后,進(jìn)入如圖6-4-1的界面,通過session取出在登錄時存入的姓名密碼等信息,將查到的信息返回到前端界面進(jìn)行展示。用戶可以點擊小眼睛查看自己的密碼。

關(guān)鍵代碼:

Dao層:@Select("SELECT * FROM `student`where stdname =#{stdname}")public Student findStudentByName(String stdname) throws IOException;//根據(jù)用戶id查找用戶Controller層:@RequestMapping("udentcenter")public?String?center(HttpSession?session)?throws?IOException?{String?stdname?=?(String)?session.getAttribute("studentname");Student?student?=?studentService.findStudentByName(stdname);session.setAttribute("stu",?student);return?"studentcenter"; }

圖6-4學(xué)生個人中心界面

5.3.5學(xué)生課設(shè)中心界面

點擊課設(shè)中心下拉框,請求映射到對應(yīng)的地址,通過登錄時存放的session,取出登錄用戶的id,調(diào)用service層函數(shù),service層調(diào)用dao層的函數(shù),操作數(shù)據(jù)庫取出所需的值,并存放在list集合中,返回該頁面。對于還沒出成績的課程,學(xué)生有權(quán)選擇推掉這門課設(shè)。同時點擊課設(shè)名可以查看課設(shè)的詳細(xì)信息,點擊組號可以查看小組的詳細(xì)信息。

主要代碼:

Dao層:@Select("SELECTquesion.queid,quesion.quename,teacher.teaname,choque.gruid,choque.score from quesion,teacher,choque\n" +"where quesion.queid = choque.queid ?and teacher.teaid = quesion.teaid and choque.stdid = #{stdid}")public List<ChooseCourseInfo> findChooseCourseInfo(String stdid);@Select("SELECT queid,quename,quemess FROM quesion where queid = #{queid}")public Quesion showcourse(String queid);@Select("SELECT `group`.grubody ,`group`.gruhead from `group` where gruid =#{gruid}")public Group showgroup(String gruid);Controller層:@RequestMapping("dcourse")public?String?stdcourse(HttpSession?session,?Model?model)?throws?IOException?{Student?stu?=?(Student)?session.getAttribute("stulogin");List<CourseInfo>?courseInfos?=?studentService.findCourseInfo(stu.getStdid());model.addAttribute("courseinfos",?courseInfos);return?"stdcourse";}@RequestMapping("owcourse")public?String?showcourse(String?queid,?Model?model)?throws?IOException?{Quesion?quesion?=?studentService.showcourse(queid);model.addAttribute("quesion",?quesion);return?"showcourse";}@RequestMapping("owgroup")public?String?showgroup(String?gruid,?Model?model)?throws?IOException?{Group?group?=?studentService.showgroup(gruid);model.addAttribute("group",?group);return?"showgroup";}

?

圖6-5學(xué)生課設(shè)中心界面

5.3.6教師課設(shè)中心界面

點擊課設(shè)中心下拉框,請求映射到對應(yīng)的地址,通過登錄時存放的session,取出登錄用戶的id,調(diào)用service層函數(shù),service層調(diào)用dao層的函數(shù),操作數(shù)據(jù)庫取出所需的值,并存放在list集合中,返回該頁面,教師還可以對已經(jīng)添加的課設(shè)進(jìn)行刪除,也可以通過點擊添加課程設(shè)計按鈕,輸入信息后,添加新的課程設(shè)計。

主要代碼:

Dao層:@Select("select quesion.queid,quesion.quename,\n" +"(select COUNT(*) from choque where choque.queid = quesion.queid) as stucount, \n" +"(SELECT COUNT(*) FROM choque where choque.queid = quesion.queid and choque.score<60) as passfail\n" +"FROM quesion WHERE teaid = #{teaid}")public List<TeacherCourse> findteachercourse(String teaid);@Insert("insert into quesion (queid, quename, quemess, teaid) VALUES (#{queid},#{quename},#{quemess},#{teaid}) ")@Delete("delete from quesion where queid= #{queid}")public void dlelete(String queid);public void insertteacourse(Quesion quesion);Controller層:@GetMapping("/topasscourse")public?String?topasscourse()?{return?"teachercourse";}@GetMapping("owcourse")@ResponseBodypublic?Map<String,?Object>?coursecenter(HttpSession?session,HttpServletRequest?request)?throws?IOException?{ Teacher?teacher?=?(Teacher)?session.getAttribute("tealogin"); List<TeacherCourse>?teacherCourses?=?teacherService.FindTeacherCourse(teacher.getTeaid());Map<String,?Object>?res?=?new?HashMap<>();res.put("code",?0);res.put("data",?teacherCourses);return?res;}@RequestMapping("/toaddcourse")public String toaddcou() {return "addteacourse";}@RequestMapping("/addteachercourse")@ResponseBodypublic Map<String, String> addcourse(Model model, HttpServletRequest request, Quesion quesion, HttpSession session) throws IOException {Teacher teacher = (Teacher) session.getAttribute("tealogin");System.out.println(quesion);Map<String, String> res = new HashMap<>();if (!teacherService.findqueexist(quesion.getQueid())) {res.put("code","200");res.put("msg", "課號已存在,不能重復(fù)添加");}else{quesion.setTeaid(teacher.getTeaid());teacherService.insertteacourse(quesion);res.put("code", "0");res.put("msg", "添加成功");}return res;}@RequestMapping("/delcourse")public String delcourse(String gruid) throws IOException {studentService.delcourse(gruid);return "redirect:coursecenter"; }

?

圖6-6學(xué)生課設(shè)中心界面

5.3.7修改密碼界面

點擊修改密碼下拉框,請求映射到對應(yīng)的地址,通過登錄時存放的session,取出登錄用戶的id,調(diào)用service層函數(shù),service層調(diào)用dao層的函數(shù),通過傳入的參數(shù)進(jìn)行對學(xué)生信息的更新,頁面部分,系統(tǒng)會對輸入的信息進(jìn)行判斷,包括原密碼和新密碼,判斷原密碼是否正確,判斷兩次輸入的密碼是否一致。

關(guān)鍵代碼:

Dao層@Update("UPDATE student set stdpassword = #{stdpassword} where stdid = #{stdid}")public int updatestudent(Student student);Controller層@RequestMapping("/pass")public String pass() {return "studentpass";}@RequestMapping("/topass")public String topass(String stdpassword, HttpSession session) throws IOException {Student stu = (Student) session.getAttribute("stulogin");String stdid = stu.getStdid();System.out.println(stdid + " " + stdpassword);Student studd = new Student();studd.setStdid(stdid);studd.setStdpassword(stdpassword);studentService.updateStudent(studd);return "redirect:tologin";}

?

圖6-7管理員修改界面

5.3.8選課查詢界面

點擊選課查詢下拉框,請求映射到對應(yīng)的地址,通過映射到JSP界面后,JSP界面通過Ajax異步請求,訪問映射地址,通過通過自定義的Json類將數(shù)據(jù)通過Json數(shù)據(jù)格式返回到JSP界面,以leyui渲染的數(shù)據(jù)表格形式展現(xiàn)出來。用戶可以對查出來的課設(shè)信息進(jìn)行選擇,填寫同組成員信息后,將該課程設(shè)計加入到自己的課設(shè)中心。系統(tǒng)還會判斷收入的組號是不是已經(jīng)存在,存在則返回改界面。

主要代碼:

Dao層:@Select("select * from quesion limit #{page},#{size}")public List<Quesion> FindQuesionByPage(Map<String, Object> params);//分頁查詢用戶@Select("select count(gruid) from ?`group` where gruid =#{gruid}")public int findGroupExist(String gruid);@Insert("insert into `group`(gruid, grubody, gruhead) VALUES (#{gruid},#{grubody},#{gruhead})")public int addgroup(Group group);@Insert("insert into choque(stdid, queid, gruid) VALUES (#{stdid},#{queid},#{gruid})")public int addchoque(Choque choque);@Select("SELECT COUNT(*) FROM quesion")public int count() throws SQLException;//查詢用戶總數(shù)Controller層:@RequestMapping(value = "/findquesionPage", method = RequestMethod.GET)public void findStudentPage(Quesion quesion, HttpServletRequest request, HttpServletResponse response) throws Exception {request.setCharacterEncoding("utf-8");response.setContentType("application/json;charset=UTF-8");//設(shè)置編碼,防止json中文亂碼int index = 1;String sindex = request.getParameter("page");if (sindex != null && !"".equals(sindex)) {index = Integer.parseInt(sindex);}int size = 5;String ssize = request.getParameter("limit");if (ssize != null && !"".equals(ssize)) {size = Integer.parseInt(ssize);}PageBean<Quesion> pageBean = new PageBean<Quesion>();pageBean.setLimit(size);pageBean.setPage(index);System.out.println(pageBean.getLimit());try {pageBean = studentService.FindQuesionByPage(index, size);} catch (IOException | SQLException e) {e.printStackTrace();}JsonResult<Quesion> jr = new JsonResult<Quesion>("0", "", String.valueOf(pageBean.getTotalCount()), pageBean.getList());//交互json格式所需的對象String jsonStr = JSON.toJSONString(jr);//將JsonResult對象轉(zhuǎn)換為json串PrintWriter out = response.getWriter();out.print(jsonStr);out.close();}@RequestMapping("/toaddcourse")public String addcoursejsp(String queid, Model model, HttpSession session) throws IOException {Student stud = (Student) session.getAttribute("stulogin");model.addAttribute("stqueid", queid);model.addAttribute("ststdid", stud.getStdid());return "addcourses";}@RequestMapping("/addinfo")public String addgroup(Model model, HttpServletRequest request, Group group, HttpSession session) throws IOException {String stdid = request.getParameter("stdid");String queid = request.getParameter("queid");System.out.println(stdid +" " + queid);if (!studentService.findGroupExist(group.getGruid())) {Student stud = (Student) session.getAttribute("stulogin");model.addAttribute("stqueid", queid);model.addAttribute("ststdid", stud.getStdid());request.setAttribute("gruid", "該組號已經(jīng)存在");request.setAttribute("grubody", group.getGrubody());request.setAttribute("gruhead", group.getGruhead());return "addcourses";} else {Choque choque = new Choque();choque.setStdid(stdid);choque.setGruid(group.getGruid());choque.setQueid(queid);studentService.addgroup(group);studentService.addchoque(choque);return "tips";}}

?

圖6-8-1?學(xué)生查看課設(shè)信息界面

?

圖6-8-2學(xué)生填寫同組信息添加課設(shè)界面

5.3.9成績查詢界面

點擊成績查詢下拉框,請求映射到對應(yīng)的地址,獲取session中的用戶id后,調(diào)用service層的函數(shù),在調(diào)用dao層的函數(shù),通過數(shù)據(jù)庫查到的信息,封裝在一個list集合中返回到j(luò)sp界面。

主要代碼:

Dao層:@Select("SELECT quesion.queid,quesion.quename,teaname,score from quesion,teacher,choque \n" +"where quesion.queid=choque.queid and quesion.teaid = teacher.teaid and choque.stdid = #{stdid}")public List<CourseInfo> findCourseInfo(String stdid);Controller層:@RequestMapping("dcourse")public?String?stdcourse(HttpSession?session,?Model?model)?throws?IOException?{Student?stu?=?(Student)?session.getAttribute("stulogin");List<CourseInfo>?courseInfos?=?studentService.findCourseInfo(stu.getStdid());model.addAttribute("courseinfos",?courseInfos);return?"stdcourse";}

圖6-9成績查詢界面

?

5.3.10文件上傳操作

用戶點擊文件上傳按鈕后,請求映射到對應(yīng)的地址,通過異步Ajax請求,通過session中的id值,調(diào)用service層和dao層函數(shù),查詢該用戶上傳的全部文件,封賬成一個list集合,最后封裝成Map映射,返回的jsp界面,通過layui table對于表格的渲染,展示數(shù)據(jù)。

主要代碼:

Dao層:@Select("SELECT * FROM `files` where files.stdid= #{stdid} order by files.stdid limit #{begin}, #{offset}")public List<UserFile> queryByUserId (@Param("stdid") String stdid , @Param("begin") Integer begin , @Param("offset") Integer offset);@Select("SELECT COUNT(files.stdid) FROM files where files.stdid = #{stdid}")public int queryFileCounts(String stdid);@Insert("insert into files(filename, ext, path, size, type, downcount, uploadtime, stdid)\n" +" VALUES (#{filename},#{ext},#{path},#{size},#{type},#{downcount},#{uploadtime},#{stdid});")public ?void savefile(UserFile userFile);@Delete(" delete from files where fileid=#{fileid}")public void delete(Integer fileid);@Select("select * FROM files where fileid =#{fileid}")public UserFile queryByUserFileId(Integer fileid);@Update("update files set downcount = #{downcount} where fileid = #{fileid}")public int updateflie(UserFile userFile);Controller層:// 展示所有的文件@GetMapping("/index")public String fileIndex() {return "filelist";}@PostMapping("showfiles")@ResponseBodypublic Map<String, Object> queryAllFile(HttpSession session, HttpServletRequest request) {int page = Integer.parseInt(request.getParameter("page"));int limit = Integer.parseInt(request.getParameter("limit"));Student student = (Student) session.getAttribute("stulogin");List<UserFile> userFiles = userFileService.queryByUserId(student.getStdid(), page, limit);Map<String, Object> res = new HashMap<>();res.put("code", 0);res.put("count", userFileService.queryFileCounts(student.getStdid()));res.put("data", userFiles);return res;}// 上傳文件到數(shù)據(jù)庫@PostMapping("upload")@ResponseBodypublic Map<String, String> uploadFile(@RequestParam("file") MultipartFile file, HttpSession session) {System.out.println("uploadFile trigger");Map<String, String> res = new HashMap<>();try {// 獲取上傳用戶的IdStudent student = (Student) session.getAttribute("stulogin");// 獲取文件的原始名稱String fileName = file.getOriginalFilename();// 獲取文件的后綴String extension = FilenameUtils.getExtension(file.getOriginalFilename());// 獲取文件的大小long size = file.getSize();// 獲取文件的類型String type = file.getContentType();// 根據(jù)日期動態(tài)的生成目錄String localContainer = "/fileContainer";String uploadPath = ResourceUtils.getURL("classpath").getPath() + localContainer;String dateFormat = new SimpleDateFormat("yyyy-MM-dd").format(new Date());File dateDirPath = new File(uploadPath + File.separator + dateFormat);if (!dateDirPath.exists()) {dateDirPath.mkdirs();}// 處理文件上傳file.transferTo(new File(dateDirPath, fileName));// 將文件信息存入數(shù)據(jù)庫中UserFile userFile = new UserFile();userFile.setFilename(fileName);userFile.setExt('.' + extension);userFile.setPath(Paths.get(localContainer, dateFormat, fileName).toString());userFile.setSize(size);userFile.setType(type);userFile.setStdid(student.getStdid());userFileService.save(userFile);res.put("code", "0");res.put("msg", "上傳成功");res.put("url", "index");} catch (IOException e) {e.printStackTrace();res.put("code", "-1");res.put("msg", "上傳失敗");res.put("url", "index");}return res;}@GetMapping("delete")@ResponseBodypublic Map<String, Object> delete(Integer fileid) {//@PathVariable:接收請求路徑中占位符的值Map<String, Object> map = new HashMap<>();try {UserFile fileInfo = userFileService.queryByUserFileId(fileid);final String realPath = ResourceUtils.getURL("classpath").getPath() + fileInfo.getPath();File file = new File(realPath);if (file.exists()) {file.delete(); ?//立即刪除}userFileService.delete(fileid);map.put("code", 0);map.put("msg", "刪除成功!");} catch (FileNotFoundException e) {e.printStackTrace();map.put("code", -1);map.put("msg", "刪除成功!");}return map;}public void getFile(String openStyle, Integer fileid, HttpServletResponse response) throws IOException {UserFile file = userFileService.queryByUserFileId(fileid);if(openStyle.equals("inline")){// 獲取文件信息final String realPath = ResourceUtils.getURL("classpath").getPath() + file.getPath();// 獲取文件輸入流FileInputStream is = new FileInputStream(new File(realPath));// 附件下載response.setHeader("content-disposition", openStyle+";filename=" + URLEncoder.encode(file.getFilename(), "UTF-8"));// 獲取響應(yīng)response輸出流ServletOutputStream os = response.getOutputStream();// 文件拷貝IOUtils.copy(is, os);IOUtils.closeQuietly(is);IOUtils.closeQuietly(os);}// 更新下載次數(shù)if(openStyle.equals("attachment")){file.setDowncount(file.getDowncount() + 1);userFileService.update(file);}}@GetMapping("preview")public void preview(Integer fileid, HttpServletResponse response) throws IOException {String openStyle = "inline";getFile(openStyle,fileid,response);}@GetMapping("download")public void download( Integer fileid, HttpServletResponse response){String openStyle = "attachment";try{getFile(openStyle,fileid,response);} catch (IOException e) {e.printStackTrace();}}

?

圖6-10-1文件界面

?

圖6-10-2文件上傳界面

?

圖6-10-3文件預(yù)覽界面

5.3.10教師端信息查詢

老師點擊信息查詢后,在session中獲取老師的信息,傳入controller層中,調(diào)用service和dao層函數(shù),將得到的結(jié)果以封裝到list集合,將集合和一些其他信息一同封裝到map集合中,通過json串的形式一同傳回jsp界面,通過leyui table表格渲染展示。教師也可以對選擇了該課設(shè)的學(xué)生給出成績,也可以修改成績,方法類似,這里不再贅述。

主要代碼:

Dao層:@Select("SELECT student.stdid,student.stdname,quesion.queid,quesion.quename,choque.score\n" +"FROM student,choque,quesion\n" +"WHERE student.stdid = choque.stdid AND choque.queid = quesion.queid AND quesion.teaid = #{teaid}")public List<Studentlist> showstudent(String teaid);@Update("UPDATE choque SET score = #{score} WHERE stdid = #{stdid} AND queid = #{queid}")public void upscore(Studentlist studentlist);Controller層:@RequestMapping("owstudents")@ResponseBodypublic?Map<String,?Object>?showstudent(HttpSession?session,?Model?model)?throws?IOException?{Teacher?teacher?=?(Teacher)?session.getAttribute("tealogin");List<Studentlist>?studentlists?=?teacherService.showstudent(teacher.getTeaid());Map<String,?Object>?res?=?new?HashMap<>();res.put("code",?0);res.put("data",?studentlists);return?res;?}@RequestMapping("/addscore")@ResponseBodypublic?Map<String,?Object>?addscore(HttpSession?session,?Studentlist?studentlist)?throws?IOException?{teacherService.addscore(studentlist);Map<String,?Object>?res?=?new?HashMap<>();res.put("code",?0);res.put("msg",?"添加成功!");return?res;}

?

圖6-11教師端信息查詢界面

?

圖6-12教師端條件查詢界面

5.3.11攔截器操作

登錄攔截器,默認(rèn)攔截/student 路徑下的所有請求,若session中存在student,則放行,如不存在則跳轉(zhuǎn)到登錄界面。

public?class?LoginConfig?implements?WebMvcConfigurer?{@Overridepublic?void?addInterceptors(InterceptorRegistry?registry)?{//注冊TestInterceptor攔截器InterceptorRegistration?registration?=?registry.addInterceptor(new?LoginInterceptor());registration.addPathPatterns("/student/*");registration.excludePathPatterns("udent/tologin","udent/register","udent/registerStudent","udent/login","udent/code","/css/**","/images/**","/imagess/**","/js/**","/lib/**"?);}}@Override public?boolean?preHandle(HttpServletRequest?request,?HttpServletResponse?response,?Object?handler)?throws?Exception?{System.out.println("====================攔截前================="); HttpSession?session?=?request.getSession(); Student?user?=?(Student)?session.getAttribute("stulogin"); if?(user?!=?null)?{ System.out.println("====================用戶已登錄================="+user.toString()); return?true;} if?(!request.getContextPath().equals(request.getContextPath()?+?"student/tologin"))?{response.sendRedirect(request.getContextPath()?+?"udent/tologin");}return?false;

項目完整源碼+說明書+軟件說明+數(shù)據(jù)庫表設(shè)計?:

點他:🍞正在為您運送作品詳情

總結(jié)

以上是生活随笔為你收集整理的SpringBoot + Servlet + Mybatis+ layui 学生选课管理系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲午夜精品一区 | 国产精品欧美一区二区三区不卡 | 亚洲精品无 | 在线观看视频国产一区 | 97精品国产97久久久久久久久久久久 | 久久国产精品99久久人人澡 | 国产特级毛片aaaaaa毛片 | 久久不卡视频 | 特级黄色一级 | 99久e精品热线免费 99国产精品久久久久久久久久 | 国产欧美日韩视频 | 免费手机黄色网址 | 中文字幕中文字幕在线一区 | 亚洲理论在线 | 天天视频亚洲 | 在线观看免费国产小视频 | 成片免费 | 欧美精品国产综合久久 | 国产黄色大片 | 亚洲欧美国产精品 | 精品一区二区免费在线观看 | 国产亚州精品视频 | 亚洲国产高清在线观看视频 | 一区三区在线欧 | 一二三区在线 | 丰满少妇对白在线偷拍 | 99热这里 | 有码中文字幕在线观看 | 欧美日韩中文视频 | 国产精品一区二区免费视频 | 日韩欧美国产免费播放 | 欧美激情综合色 | 日韩成人在线一区二区 | 国产日韩在线视频 | 亚洲aⅴ乱码精品成人区 | 一区二区精 | 国产精品1区2区3区 久久免费视频7 | 激情中文字幕 | 国产96视频 | 亚洲aⅴ在线 | 亚洲片在线| 天天射天天操天天色 | 一区二区激情 | www.av免费| 久久精品波多野结衣 | 天天躁天天躁天天躁婷 | 久久久久久欧美二区电影网 | 人人爽人人爽人人片av | 欧美国产高清 | 丁香激情综合国产 | 西西www4444大胆在线 | 国产专区第一页 | 欧美激情视频免费看 | a级成人毛片 | 久久第四色| 日日干干夜夜 | 激情综合电影网 | 久久午夜网 | 色片网站在线观看 | 日韩av一区二区三区四区 | 超碰人人99| 成人在线电影观看 | 亚洲一级二级 | 日本精品免费看 | v片在线播放 | 欧美少妇xx | 丁香六月欧美 | 久久综合免费视频 | 久久国产成人午夜av影院潦草 | 狠狠干我| 国产精品一区二区你懂的 | 视频在线在亚洲 | av丝袜制服 | 国产精品麻豆三级一区视频 | 人人爱人人做人人爽 | 免费色网站 | 国产精品久久久久久999 | 青春草免费在线视频 | 国产色久| 成人免费看电影 | 51久久成人国产精品麻豆 | 久久视频6 | 亚洲精品国产成人 | 国产五月婷 | 色www精品视频在线观看 | 91爱爱电影| 午夜久久网站 | 天堂网av 在线| 在线综合 亚洲 欧美在线视频 | www.色就是色 | 亚洲精品视频免费观看 | 丁香视频全集免费观看 | 中文字幕日韩精品有码视频 | 亚洲精品18日本一区app | 2023天天干 | 99久久精品免费看 | 五月天天av | 国产高清不卡 | 欧美analxxxx| 九九免费在线观看 | 国产成人在线精品 | 中文字幕在线观看国产 | 亚洲美女免费视频 | 香蕉手机在线 | 黄色成年片 | 天天插天天射 | 色婷婷激情综合 | 久久久视屏 | 国产婷婷vvvv激情久 | 国产精品伦一区二区三区视频 | 国产精品色视频 | 欧美伊人网| 国产做aⅴ在线视频播放 | 四虎在线影视 | 欧美一区二区精品在线 | 免费av的网站 | 91人人网| 日韩v欧美v日本v亚洲v国产v | 最新久久免费视频 | 91传媒免费在线观看 | 欧美性生爱 | 久久久国产精品视频 | 国产精品久久久久久久久软件 | 国产剧情在线一区 | 日韩一二区在线观看 | 狠狠网站 | 国产精品久99 | 一区二区影院 | 亚洲综合色婷婷 | 日韩国产欧美在线播放 | 日韩在线观看网址 | 人人舔人人爽 | 日韩欧美一级二级 | 成人丁香花 | 精品欧美一区二区精品久久 | 人人草网站 | 久久久久久久久久久国产精品 | 日韩精品中文字幕在线 | 成人av网页| 91久久人澡人人添人人爽欧美 | 日韩一级电影网站 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品日韩久久久久 | 免费黄色在线网址 | 久久久久久久久久久高潮一区二区 | 国产精品国产三级国产不产一地 | 五月婷婷丁香激情 | 日韩理论电影在线 | 欧美一进一出抽搐大尺度视频 | 久久99精品久久久久久三级 | 美女网站视频一区 | 亚洲精品字幕在线 | 三级在线国产 | 午夜av一区二区三区 | 亚洲免费永久精品国产 | 欧美成人播放 | 日韩久久一区二区 | 丁香 久久 综合 | 亚洲成色777777在线观看影院 | 日本中文字幕电影在线免费观看 | 黄色a视频免费 | 免费在线观看av片 | 国产精品嫩草69影院 | 婷婷亚洲五月色综合 | 久久五月激情 | 色噜噜狠狠狠狠色综合 | 五月开心六月婷婷 | 日韩电影在线观看一区二区 | 蜜臀av夜夜澡人人爽人人 | 中文av一区二区 | 欧美少妇的秘密 | 亚洲激情在线播放 | 人人澡视频 | 国产高清中文字幕 | 国产69久久 | 亚洲资源在线网 | 91久久久久久久一区二区 | av成年人电影 | 色综合天天干 | 欧美国产三区 | 久久激情婷婷 | 91亚洲精品在线 | 美女久久| 欧美黑人猛交 | 免费看一及片 | 午夜精品久久久久 | 亚洲国产日韩在线 | 日韩精品视频免费在线观看 | 日日干精品 | 91久草视频 | 欧美日韩一区二区三区视频 | 日韩一区精品 | 国产在线观看高清视频 | 一区二区三区中文字幕在线观看 | 天天操夜 | 婷婷色中文字幕 | 激情黄色一级片 | 色婷婷国产精品一区在线观看 | 91精品一区二区三区久久久久久 | 久久久精品国产一区二区 | 亚洲精品动漫在线 | 亚洲黄色免费观看 | 99热只有精品在线观看 | 久久深夜福利免费观看 | 尤物97国产精品久久精品国产 | 欧美日韩精品电影 | 日韩av影视在线观看 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品网红直播 | 国产精品免费视频久久久 | 欧美日韩p片| 在线视频你懂得 | 久久伊人色综合 | 午夜免费福利视频 | 日日夜夜精品视频天天综合网 | 亚洲一区二区三区四区在线视频 | 超碰人人超碰 | 日韩黄色免费在线观看 | 黄色精品国产 | 国产视| 国产99精品在线观看 | 在线观看不卡视频 | 欧美俄罗斯性视频 | 久久精品视频在线 | 91在线色| 天天做天天爱夜夜爽 | 狠狠久久综合 | 欧美精品一区二区免费 | 久久精品成人热国产成 | 久久久久久国产精品亚洲78 | 国产成人精品一区二区三区 | 久久精品视频日本 | 99热免费在线 | 亚洲精品字幕在线 | av看片网| 成人av影视| 日韩在线视频网站 | 久久久久国产精品www | 国内精品在线观看视频 | 久久av免费电影 | 狠狠色噜噜狠狠狠狠2022 | 999电影免费在线观看2020 | 亚洲激情在线视频 | 精品国产一区二区三区噜噜噜 | 黄色的网站免费看 | 国产高清视频免费观看 | 美州a亚洲一视本频v色道 | 免费在线一区二区 | 国产精品99久久久精品免费观看 | 啪嗒啪嗒免费观看完整版 | 伊色综合久久之综合久久 | 91成人网在线观看 | 99久久精品免费视频 | 成年人免费在线观看 | 国产精品久久一区二区三区不卡 | 欧美在线视频一区二区三区 | 日韩久久精品一区二区三区下载 | 欧美精品久久人人躁人人爽 | 在线观看免费国产小视频 | 久久人人爽视频 | 超碰97久久 | 91完整视频 | 91探花国产综合在线精品 | 天天色棕合合合合合合 | 在线观看黄色国产 | 日日操日日 | 久草在线综合 | 色婷婷亚洲婷婷 | 精品久久久久国产 | 久久一区二区三区超碰国产精品 | 亚洲视频 在线观看 | 国产专区精品视频 | 在线视频观看国产 | 99精品视频在线播放免费 | 激情婷婷在线观看 | 黄色精品一区二区 | 久久综合电影 | www.国产在线观看 | 亚洲高清在线视频 | 亚洲精品高清一区二区三区四区 | 成人免费看片网址 | 天天插狠狠插 | 人人看黄色 | 国语自产偷拍精品视频偷 | 亚洲伦理中文字幕 | 91 在线视频 | 国产在线免费观看 | 国产成人精品在线 | 免费日韩在线 | 日韩在线三级 | 欧美另类tv | 99av国产精品欲麻豆 | 97成人在线观看视频 | 男女激情片在线观看 | 五月婷婷播播 | 日本中文字幕一二区观 | 精品一区91 | 国产成人精品999在线观看 | 成人一区二区三区中文字幕 | 成人在线超碰 | 免费在线色视频 | 中文字幕二区 | 国内久久久久 | a级片在线播放 | 亚洲一区二区三区精品在线观看 | 国产精品欧美 | 国产成人一区二区精品非洲 | 亚洲欧美国产精品va在线观看 | 国产精品门事件 | 91新人在线观看 | 亚洲精选视频免费看 | 国产三级精品三级在线观看 | 中文字幕免费成人 | 在线观看精品一区 | 婷婷九月丁香 | 狠狠操综合 | 少妇bbb搡bbbb搡bbbb | 日韩黄色网络 | 国产精品激情偷乱一区二区∴ | 久久精品女人毛片国产 | 国产精品一级在线 | 少妇高潮流白浆在线观看 | 99久久99热这里只有精品 | 亚洲视频免费在线 | 999成人| www.在线看片.com | 精品久久久久久亚洲综合网 | 亚洲欧美成人综合 | 成人黄大片视频在线观看 | 久久久久久久久毛片精品 | 蜜桃av久久久亚洲精品 | 欧洲精品久久久久毛片完整版 | 国产成人精品在线播放 | 91成人国产 | 成人h动漫精品一区二 | 亚洲美女精品视频 | 五月婷香| 久视频在线播放 | 在线天堂中文在线资源网 | 国产国产人免费人成免费视频 | 日韩电影中文字幕 | 毛片网站在线观看 | 久久试看 | 91在线porny国产在线看 | av东方在线| 中文字幕在线国产 | 久久久伊人网 | 国产美女无遮挡永久免费 | 在线观看激情av | 99免费看片 | 中文字幕乱码视频 | 日本一区二区三区免费观看 | 久久久久久久电影 | 色综合久久久久久久久五月 | 97精品免费视频 | 在线观看一级 | 午夜久久福利影院 | 成人资源网 | 国产午夜精品免费一区二区三区视频 | 免费观看一级 | 国产剧情一区在线 | 成人片在线播放 | 欧美综合干 | 一级特黄aaa大片在线观看 | 丁香视频| 国产一卡久久电影永久 | 国产一区二区在线精品 | av3级在线| 在线观看亚洲国产精品 | 日韩美在线观看 | 欧美二区在线播放 | 人人插人人做 | 日韩免费观看视频 | 亚洲精品日韩在线观看 | 中文国产在线观看 | av高清影院 | 一区二区三区中文字幕在线 | 我要看黄色一级片 | 97精品国产一二三产区 | 精品在线播放视频 | 中文在线资源 | 亚洲日本va中文字幕 | 欧美日韩国产色综合一二三四 | 成人一区二区在线观看 | 久色伊人 | 伊色综合久久之综合久久 | 欧美综合在线视频 | 久草视频播放 | av在线免费在线 | 国内精品视频在线播放 | 香蕉影视在线观看 | 国产精品第一 | 成人中心免费视频 | 五月天综合激情 | 最近中文字幕在线 | 国产 中文 日韩 欧美 | 国产亚洲精品中文字幕 | 这里只有精品视频在线 | 69精品视频在线观看 | 国产麻豆精品免费视频 | www好男人 | 日韩欧美精品在线 | 日本久久久久久久久久 | 中文字幕在线观看一区 | 在线观看中文字幕dvd播放 | 99热日本| 在线影院中文字幕 | 久久综合欧美精品亚洲一区 | 精品福利在线观看 | 在线激情小视频 | 国产在线不卡 | 天天天天色综合 | 99久久久久久国产精品 | 国产美女精品 | 日本最新中文字幕 | 欧美激情视频免费看 | 美女免费黄视频网站 | 四虎欧美| 午夜精品电影一区二区在线 | 久久免费福利视频 | av观看在线观看 | 久久视频 | 中字幕视频在线永久在线观看免费 | 97香蕉视频 | 欧美日bb | 亚洲精选在线 | 久久久久久久久久久久影院 | 男女激情免费网站 | 国产va在线观看免费 | 久久免费视频这里只有精品 | 99热这里只有精品国产首页 | 91精品亚洲影视在线观看 | 久久精品韩国 | 99国产成+人+综合+亚洲 欧美 | 狠狠做深爱婷婷综合一区 | 欧美高清视频不卡网 | 色婷婷狠狠干 | 日韩亚洲在线观看 | 97日日碰人人模人人澡分享吧 | 91激情在线视频 | 日本不卡视频 | 中文字幕在线观看免费高清电影 | 欧美日韩综合在线观看 | 久久99热久久99精品 | 91女子私密保健养生少妇 | 婷婷精品在线视频 | 国产精品毛片一区二区 | 99久久激情视频 | 99久久婷婷国产一区二区三区 | 探花视频在线观看 | 亚洲精品电影在线 | 91九色视频导航 | 伊人激情综合 | 日韩精品视频在线观看免费 | 国产精品国产亚洲精品看不卡15 | 色97在线 | 亚洲精品88欧美一区二区 | 欧美在线free | 久久久久久久国产精品 | 日韩视频1区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 精品在线观看一区二区三区 | www黄色大片 | 色小说在线 | 婷婷国产精品 | 丁香在线观看完整电影视频 | 福利视频一二区 | 免费网址你懂的 | 日本激情动作片免费看 | 黄色软件视频网站 | 麻豆传媒视频在线播放 | 日日夜夜狠狠干 | 91成人在线观看喷潮 | 成人在线免费av | 婷婷丁香在线视频 | 色网影音先锋 | 九九色在线 | 久久久一本精品99久久精品 | 亚洲另类人人澡 | 亚洲国产成人精品久久 | 久久tv视频| 国产 亚洲 欧美 在线 | 午夜精品一区二区三区在线视频 | 丁香视频 | 91视频免费网站 | 五月天丁香亚洲 | 色综合色综合色综合 | 久久午夜免费观看 | 丝袜美腿在线视频 | 久久综合免费视频 | 国产精品久久久久久久久久久久午 | 狠狠干狠狠操 | 国内精品小视频 | 亚洲另类视频 | 国产精品美女毛片真酒店 | 色永久免费视频 | 色婷婷丁香 | 免费av电影网站 | 天天干天天碰 | 国产精品久久免费看 | 黄色免费大片 | 精品一区二区免费在线观看 | 亚洲欧洲国产视频 | 2019天天干夜夜操 | 久久精品久久久久 | 日韩深夜在线观看 | 欧美 日韩 性 | 亚洲综合一区二区精品导航 | 日韩有码第一页 | 久久激情视频免费观看 | 久久久999精品视频 国产美女免费观看 | 欧美色道| 天天操网站 | 久久精品国产一区二区 | 色综合久久久久综合体 | 干天天| 久久久久久伊人 | 日日夜夜天天综合 | 免费不卡中文字幕视频 | 欧美性大战 | av片一区 | 日韩在线第一 | 五月激情站| 97偷拍在线视频 | 久操中文字幕在线观看 | 亚洲理论在线 | 99中文字幕视频 | www狠狠操| 国产一性一爱一乱一交 | 免费成人av电影 | 天天操夜夜想 | 91香蕉视频| 国产在线日本 | 激情综合网色播五月 | 91精品在线免费 | 97电影在线看视频 | 99视频精品免费视频 | 91亚洲精品在线 | 国产在线一卡 | 手机成人免费视频 | 日韩午夜精品福利 | 国产精品一区二区久久国产 | 日韩在线观看视频中文字幕 | 亚洲黄色在线播放 | 免费能看的av | 一级欧美日韩 | 亚洲天堂激情 | 日韩av在线资源 | 黄色大片国产 | 97免费在线观看视频 | 99精品久久久久久久 | 婷婷免费视频 | 黄色三级在线 | 91最新在线视频 | 在线视频一区二区 | 国产精品久久久视频 | 日韩资源在线观看 | 深夜激情影院 | 国产在线观看中文字幕 | 一区二区三区免费在线 | 国产91影院| 日韩中文字幕视频在线观看 | 国产精选在线观看 | 91免费网站在线观看 | 日韩精品久久久久久 | 成人性生交大片免费观看网站 | 欧美性脚交 | 综合在线亚洲 | 中文字幕视频 | 91精品在线观看入口 | 国产一区二区免费 | 日韩黄在线观看 | 国内综合精品午夜久久资源 | 在线天堂中文在线资源网 | 97电影院网 | 最近日本韩国中文字幕 | 久久久免费在线观看 | 欧美日韩18| 亚洲黄色成人 | 国产综合香蕉五月婷在线 | 激情视频久久 | 国产精品精品国产色婷婷 | 亚洲国产网站 | 欧美久久综合 | 这里只有精品视频在线观看 | 精一区二区 | 精品久久久久久综合日本 | 国产网站色 | 国产原创在线 | 国产中文字幕在线视频 | 欧美日韩高清一区二区三区 | 久久欧美精品 | aaa日本高清在线播放免费观看 | 亚洲va在线va天堂va偷拍 | 国产亚洲激情视频在线 | 国产高清在线免费视频 | 国产aaa毛片 | 亚洲婷婷免费 | 色鬼综合网 | 午夜精品99久久免费 | 欧美人zozo| 久久视频一区 | 美女视频黄频大全免费 | 在线观看www91 | 国产精品福利小视频 | www黄色| 免费看的黄网站 | 久久经典视频 | 婷婷综合av| 中文在线天堂资源 | 最新午夜电影 | 亚洲人成人99网站 | 97视频免费在线 | 天天色天天干天天 | 国产中文在线字幕 | 国产精品videoxxxx | 国产精品久久99 | 91精品第一页| 制服丝袜天堂 | 人人干人人干人人干 | 亚洲精品在线视频网站 | 日本公妇在线观看高清 | 欧美亚洲久久 | 91激情视频在线 | 欧美成人精品欧美一级乱黄 | 欧美精品久久久久久久久免 | 欧美韩日在线 | 在线欧美日韩 | 国产精品区在线观看 | 成人免费看片网址 | 欧美黄污视频 | 中文字幕资源站 | 亚洲午夜精品久久久久久久久久久久 | 一级黄色片在线播放 | 国产成人三级在线观看 | 白丝av在线| 91在线视频观看免费 | 国产一级电影网 | 日韩欧美在线高清 | 久久五月激情 | 欧美精品国产综合久久 | 国产成人三级一区二区在线观看一 | 国内精品久久久久影院一蜜桃 | 日韩精品在线看 | 亚洲免费观看视频 | 天天操福利视频 | 成人黄色大片在线免费观看 | 日本公妇色中文字幕 | 一级电影免费在线观看 | 天天操天天拍 | 色多多污污 | 久久午夜精品 | 激情六月婷婷久久 | 亚洲精品欧洲精品 | 久久试看| 激情电影在线观看 | 91成人免费看片 | 国产伦精品一区二区三区在线 | 精品欧美小视频在线观看 | 最新国产精品拍自在线播放 | 黄色1级毛片 | av中文字幕网 | 正在播放 国产精品 | av天天干 | 国产精品v欧美精品 | 欧美日韩中文在线观看 | 欧美成人基地 | 欧美日韩综合在线观看 | av看片网址 | 美女黄濒 | 欧美日韩一区二区三区视频 | 国产精品永久在线观看 | 亚洲高清视频在线观看免费 | 日韩大片免费在线观看 | 久久免费毛片 | 麻豆国产视频下载 | 欧美日韩另类视频 | aaa免费毛片| 亚洲国产精品推荐 | 天天干天天草 | 成人黄色中文字幕 | 国产高清视频色在线www | 久久婷婷影视 | 免费的黄色的网站 | 蜜臀av网站 | 久久视频免费观看 | 免费在线观看成人 | 精品一区在线看 | 激情视频在线高清看 | 免费看污片 | 中文字幕在线影院 | 九九热久久免费视频 | 天天操天天操天天爽 | 久久久黄色免费网站 | 精品国产伦一区二区三区观看方式 | 超碰大片| 日韩欧美视频一区二区三区 | 国产精品一区二区62 | 欧美91精品 | 美女网站视频色 | 青青久视频| 国产五月婷| 国精产品永久999 | 亚洲 欧美 另类人妖 | 激情五月色播五月 | av电影在线不卡 | 天天操夜操 | 日本最新高清不卡中文字幕 | 波多野结衣电影一区二区 | 成人网在线免费视频 | 久久av中文字幕片 | 精品国产综合区久久久久久 | 99久久精品国产一区二区成人 | 99草视频在线观看 | 在线观看911视频 | 国产成人在线网站 | 嫩草91影院| 一本—道久久a久久精品蜜桃 | 干干操操| 在线观看av国产 | 97成人在线免费视频 | 99这里只有精品视频 | 黄色a一级片 | 久久久久久久久久久久久久电影 | 久久精品久久精品久久精品 | 免费观看黄色av | 99久久日韩精品免费热麻豆美女 | 色永久免费视频 | 亚洲国产无 | 国产日本在线播放 | 久久久精品视频网站 | 草免费视频 | 9幺看片 | 久久久久国产成人精品亚洲午夜 | 人人爱天天操 | 国产精品久久久久永久免费观看 | 日韩城人在线 | 久久久国内精品 | 欧美日本不卡 | 国产日韩欧美中文 | 中文字幕乱在线伦视频中文字幕乱码在线 | 欧美韩国日本在线 | 日韩欧美一区二区三区黑寡妇 | 欧美日韩在线视频一区二区 | 99视频一区二区 | 天天干天天爽 | 好看的国产精品视频 | 91热爆在线观看 | 韩日av一区二区 | 亚洲第一色 | 国产精品初高中精品久久 | 国产免费久久精品 | 麻豆一二三精选视频 | 婷婷www | 一级黄色在线免费观看 | 国产麻豆精品一区二区 | 免费影视大全推荐 | 亚洲欧美视屏 | 黄色av成人在线 | 四虎成人av| 久久亚洲综合国产精品99麻豆的功能介绍 | 黄色小说网站在线 | 中文字幕在线字幕中文 | 国产精久久久 | 成人h电影在线观看 | 久久综合成人 | 五月激情天 | 99视频在线 | 精品久久久久久久久久久久久 | 久草在线一免费新视频 | 中文字幕日韩一区二区三区不卡 | 久久久精品一区二区三区 | 久久精品老司机 | 天天综合网久久 | 黄色av影视 | 免费观看9x视频网站在线观看 | 欧美日韩国内在线 | 日韩av图片 | 国产精品久久久久婷婷 | 日韩欧美综合 | 久久国产精品99久久久久 | 国产色道| 精品国模一区二区三区 | 国产传媒中文字幕 | 免费三级av| 久久亚洲综合国产精品99麻豆的功能介绍 | 黄色免费av | 天天操综 | 激情综合一区 | 亚洲精品在线观看网站 | 国产一二区视频 | 丁香婷婷色综合亚洲电影 | 久久精品国产一区二区三区 | 日日干天天 | 日韩av成人免费看 | 国产中文字幕在线看 | 久久黄色免费视频 | 国产美女免费视频 | 玖玖爱在线观看 | 人人干人人艹 | 亚洲午夜精品久久久 | 久久激情视频网 | 久久精品影片 | 午夜av色 | 久久精品毛片基地 | 久久久久99精品国产片 | 色综合久久久久久久久五月 | 91av电影| 最近日韩中文字幕中文 | 69国产盗摄一区二区三区五区 | 成人观看视频 | 97视频在线观看网址 | www国产一区 | 中文字幕免费高清 | 国产青春久久久国产毛片 | 国内精品一区二区 | 日韩久久久久久久久 | 久久精品精品 | 91精品国产电影 | 国模吧一区 | 日韩午夜在线观看 | 日韩精品大片 | 色久天 | 在线色亚洲 | 久久久久久久久久亚洲精品 | 永久免费精品视频网站 | 中文字幕电影高清在线观看 | 超碰人人做 | 久久久这里有精品 | 中文字幕欧美日韩va免费视频 | 成人一区影院 | 欧美久久综合 | 免费看的黄色 | 日本公妇色中文字幕 | 日韩在线中文字幕视频 | 日日久视频 | adc在线观看 | 五月香婷 | 久久国产精品99久久久久 | 狠狠色丁香久久婷婷综合五月 | 国产精品女主播一区二区三区 | 国产中文字幕久久 | 国产精品毛片久久 | 免费观看成人网 | 成人a毛片 | 9热精品 | 日本黄色片一区二区 | 亚洲精品成人av在线 | 亚洲精品一区二区三区四区高清 | 婷婷 中文字幕 | 精品日本视频 | 国产福利精品一区二区 | 成人免费一级 | av中文字幕网 | 国产你懂的在线 | 丁香婷婷成人 | 91中文字幕 | 久久草在线视频国产 | 亚洲一级理论片 | 久久成人国产精品一区二区 | 国产成人精品综合久久久 | av中文字幕电影 | 国产精品原创在线 | 中文字幕在线免费97 | 亚洲视频1区2区 | 在线精品视频免费播放 | 91成人精品一区在线播放69 | 亚洲精品永久免费视频 | 久久国产免费视频 | 国产99久久精品一区二区永久免费 | 欧美激情综合色综合啪啪五月 | 四虎永久视频 | 黄色三几片 | 五月综合网站 | 中文字幕在线国产精品 | 欧美综合色在线图区 | 一区二区三区在线观看免费 | 国产91精品一区二区麻豆亚洲 | 视频在线国产 | 能在线看的av | 福利一区二区三区四区 | 91成人精品一区在线播放69 | 婷久久 | 精品久久久亚洲 | 国产一区二区在线观看免费 | 亚洲精品乱码久久久久久久久久 | 激情久久五月天 | 亚州精品一二三区 | 久久久久欧美精品 | 免费不卡中文字幕视频 | 一区二区影视 | 午夜婷婷综合 | www99精品| 最近中文字幕完整视频高清1 | 乱子伦av| 久久99久久99精品免视看婷婷 | 亚洲激情久久 | 日韩精品 在线视频 | 91在线在线观看 | 91午夜精品 | 日韩99热 | 久草在线最新视频 | 成人毛片100免费观看 | 精品a在线 | 99免费在线播放99久久免费 | 亚洲综合色激情五月 | 97成人啪啪网 | 国产精品久久久久久久99 | 激情五月婷婷网 | 国产成人一区二区啪在线观看 | 欧美视频18 | www.亚洲精品 | 天天操夜夜操国产精品 | 伊人婷婷综合 | 久久久久久久久久久网站 | 国产伦理久久精品久久久久_ | 国产白浆在线观看 | mm1313亚洲精品国产 | 91人人澡人人爽人人精品 | 黄色在线免费观看网站 | 中文字幕亚洲五码 | 精品999| 久久99中文字幕 | 欧美a级片免费看 | 日韩av线观看 | 国产专区第一页 | 欧美在线日韩在线 | 99在线精品视频观看 | 国产麻豆精品传媒av国产下载 | 人人玩人人添人人澡超碰 | 日b黄色片 | 亚洲一区二区精品在线 | 99精品免费在线观看 | 国产成人精品女人久久久 | 成人a视频在线观看 | 国产视频美女 | 在线精品视频免费播放 | 九九涩涩av台湾日本热热 | 亚洲第一区精品 | 看黄色.com | 欧美一级电影免费观看 | 免费视频97 | 日韩欧美91 | 久久久久国产精品免费免费搜索 | 国产品久精国精产拍 | 在线播放 亚洲 | 永久免费的啪啪网站免费观看浪潮 | 久久免费国产精品1 | 色婷婷激情五月 | 色婷婷成人网 | 日韩欧美精品在线视频 | 天天摸天天舔天天操 | 国产中文字幕一区 | 中文字幕最新精品 | 亚洲日b视频 | 中文字幕在线久一本久 | 色婷婷中文 | 国色天香永久免费 | 黄色在线观看免费 | 国产精品精品 | 成人毛片a| 能在线看的av | 日韩69av| 久久久精选 | 国色综合| 丁香婷婷综合色啪 | 日本3级在线观看 | 天天天色综合a | 99热这里有 | 久久久网址 | 国产精品一区二区久久精品爱微奶 | 久久成人18免费网站 | 天天综合色 | 色婷婷狠狠五月综合天色拍 | 中文字幕在线一区观看 | 国产亚洲婷婷免费 | 免费看片色 | 69夜色精品国产69乱 | 啪啪午夜免费 | 日本中文字幕观看 | 国产资源在线观看 | 黄色av免费看 | 免费看的毛片 | 欧美日韩中文国产一区发布 | 97在线公开视频 | 最新极品jizzhd欧美 | 亚洲成av人片在线观看无 | 一区二区三区动漫 | 久久黄色影视 | 欧美日韩一区二区在线 | 色爽网站| 公开超碰在线 | www.婷婷com| 久久精品在线视频 | 国产中文字幕大全 | 91精品欧美 | 亚洲综合在线一区二区三区 | 99成人免费视频 |