From 5bab3473d75670cb59f1c54794255e792ce1e01c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=9E=E7=BA=AA=E8=BE=89?= <262890037@qq.com> Date: Wed, 18 Dec 2024 00:15:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=9E=E7=BA=AA=E8=BE=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../servlet/admin/AddStudentInfoServlet.java | 151 +++++++++++++++ src/web/servlet/admin/AddStudentServlet.java | 59 ++++++ .../admin/AdminPasswordIndexServlet.java | 23 +++ .../admin/AdminPasswordUpdateServlet.java | 95 +++++++++ .../admin/DoDeleteSelectCourseServlet.java | 54 ++++++ .../admin/UpdateStudentInfoServlet.java | 119 ++++++++++++ .../servlet/admin/UpdateStudentServlet.java | 64 ++++++ src/web/servlet/cdc/CDCListServlet.java | 66 +++++++ .../complaints/AddComplaintsServlet.java | 62 ++++++ .../complaints/ComplaintListServlet.java | 40 ++++ .../servlet/complaints/ComplaintServlet.java | 48 +++++ src/web/servlet/file/DeleteFileServlet.java | 47 +++++ src/web/servlet/file/DownloadServlet.java | 106 ++++++++++ src/web/servlet/file/FileListServlet.java | 130 +++++++++++++ src/web/servlet/file/FileServlet.java | 37 ++++ src/web/servlet/file/ShowPhotoServlet.java | 133 ++++++++++++- src/web/servlet/file/UploadImageServlet.java | 160 +++++++++++++++ src/web/servlet/file/UploadServlet.java | 183 ++++++++++++++++++ src/web/servlet/login/LogoutServlet.java | 8 + src/web/servlet/login/RegisterServlet.java | 111 ++++++++++- src/web/servlet/notify/AddNotifyServlet.java | 39 ++++ .../servlet/notify/DeleteNotifyServlet.java | 40 ++++ src/web/servlet/notify/NotifyListServlet.java | 39 ++++ .../servlet/notify/NotifyListToServlet.java | 67 +++++++ src/web/servlet/notify/NotifyServlet.java | 24 +++ .../page/FindStudentByPageServlet.java | 89 +++++++++ .../student/DeleteSelectStudentServlet.java | 36 ++++ .../servlet/student/DeleteStudentServlet.java | 47 +++++ .../student/DoSelectCourseServlet.java | 73 +++++++ .../StudentInfomationUpdateServlet.java | 136 +++++++++++++ .../servlet/student/StudentListServlet.java | 76 ++++++++ .../student/StudentOptionalCourseServlet.java | 70 +++++++ .../student/StudentPasswordUpdateServlet.java | 116 +++++++++++ .../StudentSelectCourseListServlet.java | 8 + .../teacher/AddOptionalCourseServlet.java | 9 + .../servlet/teacher/TeacherListServlet.java | 9 + .../teacher/TeacherOptionalCourseServlet.java | 5 + .../teacher/TeacherPasswordUpdateServlet.java | 22 +++ .../UpdateOptionalCourseScoreServlet.java | 14 ++ .../servlet/teacher/UpdateScoreServlet.java | 14 ++ .../teacher/UpdateTeacherInfoServlet.java | 10 + .../UpdateTeacherOptionalCourseServlet.java | 7 + .../servlet/teacher/UpdateTeacherServlet.java | 10 + 43 files changed, 2649 insertions(+), 7 deletions(-) diff --git a/src/web/servlet/admin/AddStudentInfoServlet.java b/src/web/servlet/admin/AddStudentInfoServlet.java index 7ae1cab..83abc5f 100644 --- a/src/web/servlet/admin/AddStudentInfoServlet.java +++ b/src/web/servlet/admin/AddStudentInfoServlet.java @@ -15,57 +15,208 @@ import java.util.Date; @WebServlet("/addStudentInfoServlet") public class AddStudentInfoServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //设置请求编码 request.setCharacterEncoding("utf-8"); + //创建学生服务对象 StudentService service= new StudentServiceImpl(); //先进行判断是否已存在该学生- String sid = request.getParameter("student-id"); + // 创建一个Student对象 Student s = new Student(); + // 设置学生ID s.setS_id(sid); + // 根据学生ID查找学生 Student newStudent = service.findStudentById(s); + // 如果找到了该学生 if (newStudent != null) { + // 设置更新消息 request.setAttribute("update_msg","已存在该学生,请重新添加!"+String.format("%tT",new Date())); + // 转发到addStudentServlet request.getRequestDispatcher("addStudentServlet").forward(request, response); }else { + // 获取学生姓名 String name = request.getParameter("student-name"); + // 获取学生性别 String sex = request.getParameter("student-sex"); + // 获取学生年龄 String age = request.getParameter("student-age"); + // 获取学生电话 String phone = request.getParameter("student-phone"); + // 获取学生邮箱 String email = request.getParameter("student-email"); + // 获取学生地址 String address = request.getParameter("student-address"); + // 获取学生所在学院 String college = request.getParameter("selectCollege"); + // 获取学生所在系 String department = request.getParameter("selectDepartment"); + // 获取学生所在班级 + // 获取请求参数selectClass的值 String cclass = request.getParameter("selectClass"); + // 如果college参数为空,则将其赋值为"待分配" if ("".equals(college)) { college = "待分配"; } + // 如果department参数为空,则将其赋值为"待分配" if ("".equals(department)) { department = "待分配"; } + // 如果cclass参数为空,则将其赋值为"待分配" + // 如果cclass为空,则将其设置为"待分配" if ("".equals(cclass)) { cclass = "待分配"; } + // 创建一个Student对象 Student updateStudent = new Student(); + // 设置Student对象的属性 + // 设置学生ID updateStudent.setS_id(sid); + // 设置学生姓名 updateStudent.setS_name(name); + // 设置学生性别 updateStudent.setS_sex(sex); + // 设置学生年龄 updateStudent.setS_age(age); + // 设置学生电话 updateStudent.setS_phone(phone); + // 设置学生邮箱 updateStudent.setS_email(email); + // 设置学生地址 updateStudent.setS_address(address); + // 设置学生学院 updateStudent.setS_college(college); + // 设置学生系别 updateStudent.setS_department(department); + // 设置学生班级 updateStudent.setS_class(cclass); +//protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //调用service层的方法,添加学生信息 service.addStudentAllInfo(updateStudent); + //将添加信息返回给客户端 request.setAttribute("update_msg","添加成功!"+String.format("%tT",new Date()));//返回添加信息 + //将请求转发到addStudentServlet request.getRequestDispatcher("addStudentServlet").forward(request, response); } } + //处理get请求 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //调用doPost方法 doPost(request,response); } } +//package web.servlet.admin; +// +//import domain.Student; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.util.Date; +// +//@WebServlet("/addStudentInfoServlet") +//public class AddStudentInfoServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// //设置请求编码 +// request.setCharacterEncoding("utf-8"); +// //创建学生服务对象 +// StudentService service= new StudentServiceImpl(); +// //先进行判断是否已存在该学生- +// String sid = request.getParameter("student-id"); +// // 创建一个Student对象 +// Student s = new Student(); +// // 设置学生ID +// s.setS_id(sid); +// // 根据学生ID查找学生 +// Student newStudent = service.findStudentById(s); +// // 如果找到了该学生 +// if (newStudent != null) { +// // 设置更新消息 +// request.setAttribute("update_msg","已存在该学生,请重新添加!"+String.format("%tT",new Date())); +// // 转发到addStudentServlet +// request.getRequestDispatcher("addStudentServlet").forward(request, response); +// }else { +// // 获取学生姓名 +// String name = request.getParameter("student-name"); +// // 获取学生性别 +// String sex = request.getParameter("student-sex"); +// // 获取学生年龄 +// String age = request.getParameter("student-age"); +// // 获取学生电话 +// String phone = request.getParameter("student-phone"); +// // 获取学生邮箱 +// String email = request.getParameter("student-email"); +// // 获取学生地址 +// String address = request.getParameter("student-address"); +// // 获取学生所在学院 +// String college = request.getParameter("selectCollege"); +// // 获取学生所在系 +// String department = request.getParameter("selectDepartment"); +// // 获取学生所在班级 +// // 获取请求参数selectClass的值 +// String cclass = request.getParameter("selectClass"); +// // 如果college参数为空,则将其赋值为"待分配" +// if ("".equals(college)) { +// college = "待分配"; +// } +// // 如果department参数为空,则将其赋值为"待分配" +// if ("".equals(department)) { +// department = "待分配"; +// } +// // 如果cclass参数为空,则将其赋值为"待分配" +// // 如果cclass为空,则将其设置为"待分配" +// if ("".equals(cclass)) { +// cclass = "待分配"; +// } +// +// // 创建一个Student对象 +// Student updateStudent = new Student(); +// +// // 设置Student对象的属性 +// // 设置学生ID +// updateStudent.setS_id(sid); +// // 设置学生姓名 +// updateStudent.setS_name(name); +// // 设置学生性别 +// updateStudent.setS_sex(sex); +// // 设置学生年龄 +// updateStudent.setS_age(age); +// // 设置学生电话 +// updateStudent.setS_phone(phone); +// // 设置学生邮箱 +// updateStudent.setS_email(email); +// // 设置学生地址 +// updateStudent.setS_address(address); +// // 设置学生学院 +// updateStudent.setS_college(college); +// // 设置学生系别 +// updateStudent.setS_department(department); +// // 设置学生班级 +// updateStudent.setS_class(cclass); +// +////protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// //调用service层的方法,添加学生信息 +// service.addStudentAllInfo(updateStudent); +// //将添加信息返回给客户端 +// request.setAttribute("update_msg","添加成功!"+String.format("%tT",new Date()));//返回添加信息 +// //将请求转发到addStudentServlet +// request.getRequestDispatcher("addStudentServlet").forward(request, response); +// +// } +// } +// +// //处理get请求 +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// //调用doPost方法 +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/admin/AddStudentServlet.java b/src/web/servlet/admin/AddStudentServlet.java index 0b5b843..f652fbe 100644 --- a/src/web/servlet/admin/AddStudentServlet.java +++ b/src/web/servlet/admin/AddStudentServlet.java @@ -27,15 +27,22 @@ public class AddStudentServlet extends HttpServlet { HttpSession session = request.getSession(); // 创建CDCService的实例,通常用于处理与学院、系、班级相关的业务逻辑 + // 创建CDCService的实现类 CDCService service2 = new CDCServiceImpl(); + // 调用findAllCollege方法,获取所有学院列表 List collegeList = service2.findAllCollege(); + // 调用findAllDepartment方法,获取所有部门列表 List departmentList = service2.findAllDepartment(); + // 调用findAllClass方法,获取所有班级列表 + // 获取所有班级信息 List classList = service2.findAllClass(); + // 将学院列表、系列表、班级列表存入session中 session.setAttribute("collegeLists",collegeList); session.setAttribute("departmentLists",departmentList); session.setAttribute("classLists",classList); + // 转发到添加学生页面 request.getRequestDispatcher("/WEB-INF/admin/addStudent.jsp").forward(request,response); } @@ -43,3 +50,55 @@ public class AddStudentServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.admin; +// +//import domain.CDC; +//import domain.Student; +//import service.CDCService; +//import service.StudentService; +//import service.impl.CDCServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.List; +// +///** +// * 添加学生的Servlet处理类 +// */ +//@WebServlet("/addStudentServlet") +//public class AddStudentServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为UTF-8,以支持中文字符的正确处理 +// request.setCharacterEncoding("utf-8"); +// HttpSession session = request.getSession(); +// +// // 创建CDCService的实例,通常用于处理与学院、系、班级相关的业务逻辑 +// // 创建CDCService的实现类 +// CDCService service2 = new CDCServiceImpl(); +// // 调用findAllCollege方法,获取所有学院列表 +// List collegeList = service2.findAllCollege(); +// // 调用findAllDepartment方法,获取所有部门列表 +// List departmentList = service2.findAllDepartment(); +// // 调用findAllClass方法,获取所有班级列表 +// // 获取所有班级信息 +// List classList = service2.findAllClass(); +// +// // 将学院列表、系列表、班级列表存入session中 +// session.setAttribute("collegeLists",collegeList); +// session.setAttribute("departmentLists",departmentList); +// session.setAttribute("classLists",classList); +// +// // 转发到添加学生页面 +// request.getRequestDispatcher("/WEB-INF/admin/addStudent.jsp").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/admin/AdminPasswordIndexServlet.java b/src/web/servlet/admin/AdminPasswordIndexServlet.java index 65c3995..fd704a2 100644 --- a/src/web/servlet/admin/AdminPasswordIndexServlet.java +++ b/src/web/servlet/admin/AdminPasswordIndexServlet.java @@ -21,3 +21,26 @@ public class AdminPasswordIndexServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.admin; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +// +//@WebServlet("/adminPasswordIndexServlet") +///* +// 管理员密码更新界面的Servlet处理类 +// */ +//public class AdminPasswordIndexServlet extends HttpServlet { +// // 将请求转发到管理员密码更新界面 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/admin/AdminPasswordUpdateServlet.java b/src/web/servlet/admin/AdminPasswordUpdateServlet.java index 5be2f61..6830db4 100644 --- a/src/web/servlet/admin/AdminPasswordUpdateServlet.java +++ b/src/web/servlet/admin/AdminPasswordUpdateServlet.java @@ -20,32 +20,51 @@ import java.util.Date; */ @WebServlet("/adminPasswordUpdateServlet") public class AdminPasswordUpdateServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取管理员对象 Admin admin= (Admin) session.getAttribute("admin"); + // 获取管理员ID String adminid = admin.getA_id(); + // 获取新密码 String newpassword = request.getParameter("admin-newpassword"); + // 获取确认新密码 String ennewpassword = request.getParameter("admin-ennewpassword"); + // 定义正则表达式,用于验证密码格式 String regex = "^[\\w]{3,12}$"; + // 判断新密码是否符合正则表达式 boolean flag = newpassword.matches(regex); + // 如果不符合,则设置错误信息,并跳转到更新密码页面 if (!flag) { request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date())); request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request, response); + // 如果新密码和确认密码不一致,则设置错误信息,并跳转到更新密码页面 } else if (!newpassword.equals(ennewpassword)) { request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date())); request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request, response); + // 如果新密码和确认密码一致,则继续执行 } else { + // 创建AdminService实例 AdminService service= new AdminServiceImpl(); + // 调用updatePassword方法,更新密码 service.updatePassword(adminid,newpassword); + // 调用findAdminById方法,根据adminid查找管理员信息 Admin newAdmin = service.findAdminById(admin); + // 将新的管理员信息赋值给admin admin = newAdmin; + // 将新的管理员信息存入session中 session.setAttribute("admin",admin); + // 设置更新成功的信息 request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date())); + // 转发到adminUpdatePassword.jsp页面 request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request, response); } @@ -55,3 +74,79 @@ public class AdminPasswordUpdateServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.admin; +// +//import domain.Admin; +//import domain.Student; +//import service.AdminService; +//import service.StudentService; +//import service.impl.AdminServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.Date; +///** +// * 管理员密码更新的Servlet处理类 +// */ +//@WebServlet("/adminPasswordUpdateServlet") +//public class AdminPasswordUpdateServlet extends HttpServlet { +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取管理员对象 +// Admin admin= (Admin) session.getAttribute("admin"); +// +// // 获取管理员ID +// String adminid = admin.getA_id(); +// // 获取新密码 +// String newpassword = request.getParameter("admin-newpassword"); +// // 获取确认新密码 +// String ennewpassword = request.getParameter("admin-ennewpassword"); +// // 定义正则表达式,用于验证密码格式 +// String regex = "^[\\w]{3,12}$"; +// // 判断新密码是否符合正则表达式 +// boolean flag = newpassword.matches(regex); +// // 如果不符合,则设置错误信息,并跳转到更新密码页面 +// if (!flag) { +// request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date())); +// request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request, response); +// // 如果新密码和确认密码不一致,则设置错误信息,并跳转到更新密码页面 +// } else if (!newpassword.equals(ennewpassword)) { +// request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date())); +// request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request, response); +// // 如果新密码和确认密码一致,则继续执行 +// } else { +// +// // 创建AdminService实例 +// AdminService service= new AdminServiceImpl(); +// // 调用updatePassword方法,更新密码 +// service.updatePassword(adminid,newpassword); +// +// // 调用findAdminById方法,根据adminid查找管理员信息 +// Admin newAdmin = service.findAdminById(admin); +// // 将新的管理员信息赋值给admin +// admin = newAdmin; +// // 将新的管理员信息存入session中 +// session.setAttribute("admin",admin); +// +// // 设置更新成功的信息 +// request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date())); +// // 转发到adminUpdatePassword.jsp页面 +// request.getRequestDispatcher("/WEB-INF/admin/adminUpdatePassword.jsp").forward(request, response); +// } +// +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/admin/DoDeleteSelectCourseServlet.java b/src/web/servlet/admin/DoDeleteSelectCourseServlet.java index 0d9a19d..b11bbf0 100644 --- a/src/web/servlet/admin/DoDeleteSelectCourseServlet.java +++ b/src/web/servlet/admin/DoDeleteSelectCourseServlet.java @@ -25,12 +25,19 @@ public class DoDeleteSelectCourseServlet extends HttpServlet { * @param response HTTP响应对象,用于生成返回给客户端的响应。 * @throws IOException 如果输入或输出异常发生。 */ + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 获取请求参数cid String cid = request.getParameter("cid"); + // 创建CourseService实例 CourseService service = new CourseServiceImpl(); + // 根据cid删除课程 service.deleteServiceById(cid); + // 转发到studentOptionalCourseServlet request.getRequestDispatcher("/studentOptionalCourseServlet").forward(request,response); } @@ -38,3 +45,50 @@ public class DoDeleteSelectCourseServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.admin; +// +//import domain.Course; +//import service.CourseService; +//import service.StudentService; +//import service.impl.CourseServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +///** +// * 处理学生选课删除请求的Servlet +// */ +//@WebServlet("/doDeleteSelectCourseServlet") +//public class DoDeleteSelectCourseServlet extends HttpServlet { +// /** +// * 处理POST请求,执行选课删除操作。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 获取请求参数cid +// String cid = request.getParameter("cid"); +// // 创建CourseService实例 +// CourseService service = new CourseServiceImpl(); +// // 根据cid删除课程 +// service.deleteServiceById(cid); +// // 转发到studentOptionalCourseServlet +// request.getRequestDispatcher("/studentOptionalCourseServlet").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/admin/UpdateStudentInfoServlet.java b/src/web/servlet/admin/UpdateStudentInfoServlet.java index d9e9932..8452a47 100644 --- a/src/web/servlet/admin/UpdateStudentInfoServlet.java +++ b/src/web/servlet/admin/UpdateStudentInfoServlet.java @@ -31,19 +31,29 @@ public class UpdateStudentInfoServlet extends HttpServlet { //保存输入内容 + // 获取请求参数中的学生姓名 String name = request.getParameter("student-name"); + // 输出学生姓名 System.out.println("sname:"+name); + // 获取请求参数中的学生性别 String sex = request.getParameter("student-sex"); + // 输出学生性别 System.out.println("ssex:"+sex); + // 获取请求参数中的学生年龄 String age = request.getParameter("student-age"); + // 获取请求参数中的学生电话 String phone = request.getParameter("student-phone"); + // 获取请求参数中的学生邮箱 String email = request.getParameter("student-email"); + // 获取请求参数中的学生地址 String address = request.getParameter("student-address"); + // 获取请求参数 String college = request.getParameter("selectCollege"); String department = request.getParameter("selectDepartment"); String cclass = request.getParameter("selectClass"); + // 创建一个学生对象 Student updateStudent = new Student(); //判断输入位数是否大于数据库位数- @@ -52,15 +62,25 @@ public class UpdateStudentInfoServlet extends HttpServlet { request.getRequestDispatcher("updateStudentServlet?sid="+sid).forward(request, response); }else { //封装学生对象- + // 设置学生ID updateStudent.setS_id(sid); + // 设置学生姓名 updateStudent.setS_name(name); + // 设置学生性别 updateStudent.setS_sex(sex); + // 设置学生年龄 updateStudent.setS_age(age); + // 设置学生电话 updateStudent.setS_phone(phone); + // 设置学生邮箱 updateStudent.setS_email(email); + // 设置学生地址 updateStudent.setS_address(address); + // 设置学生学院 updateStudent.setS_college(college); + // 设置学生系别 updateStudent.setS_department(department); + // 设置学生班级 updateStudent.setS_class(cclass); //调用studentUpdata服务- @@ -77,3 +97,102 @@ public class UpdateStudentInfoServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.admin; +// +// +// +//import domain.CDC; +//import domain.Student; +//import service.CDCService; +//import service.StudentService; +//import service.impl.CDCServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.text.SimpleDateFormat; +//import java.util.Date; +//import java.util.List; +// +//@WebServlet("/updateStudentInfoServlet") +//public class UpdateStudentInfoServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// +// request.setCharacterEncoding("utf-8"); +//// HttpSession session = request.getSession(); +// String sid = request.getParameter("student-id"); +// System.out.println("sid:"+sid); +// +// +// //保存输入内容 +// // 获取请求参数中的学生姓名 +// String name = request.getParameter("student-name"); +// // 输出学生姓名 +// System.out.println("sname:"+name); +// // 获取请求参数中的学生性别 +// String sex = request.getParameter("student-sex"); +// // 输出学生性别 +// System.out.println("ssex:"+sex); +// // 获取请求参数中的学生年龄 +// String age = request.getParameter("student-age"); +// // 获取请求参数中的学生电话 +// String phone = request.getParameter("student-phone"); +// // 获取请求参数中的学生邮箱 +// String email = request.getParameter("student-email"); +// // 获取请求参数中的学生地址 +// String address = request.getParameter("student-address"); +// +// // 获取请求参数 +// String college = request.getParameter("selectCollege"); +// String department = request.getParameter("selectDepartment"); +// String cclass = request.getParameter("selectClass"); +// +// // 创建一个学生对象 +// Student updateStudent = new Student(); +// +// //判断输入位数是否大于数据库位数- +// if (name.length() > 4 || phone.length() > 11 || email.length()>24 || address.length() > 24 || age.length()>2 || name.contains("<") || phone.contains("<") || email.contains("<") || address.contains("<") || age.contains("<")) { +// request.setAttribute("update_msg","格式错误,请重新提交!"+String.format("%tT",new Date())); +// request.getRequestDispatcher("updateStudentServlet?sid="+sid).forward(request, response); +// }else { +// //封装学生对象- +// // 设置学生ID +// updateStudent.setS_id(sid); +// // 设置学生姓名 +// updateStudent.setS_name(name); +// // 设置学生性别 +// updateStudent.setS_sex(sex); +// // 设置学生年龄 +// updateStudent.setS_age(age); +// // 设置学生电话 +// updateStudent.setS_phone(phone); +// // 设置学生邮箱 +// updateStudent.setS_email(email); +// // 设置学生地址 +// updateStudent.setS_address(address); +// // 设置学生学院 +// updateStudent.setS_college(college); +// // 设置学生系别 +// updateStudent.setS_department(department); +// // 设置学生班级 +// updateStudent.setS_class(cclass); +// +// //调用studentUpdata服务- +// StudentService service= new StudentServiceImpl(); +// service.updateInfo(updateStudent); +// +// //成功则返回并给提示 +// request.setAttribute("update_msg", "修改成功!"+String.format("%tT",new Date())); +// request.getRequestDispatcher("updateStudentServlet?sid="+sid).forward(request, response); +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/admin/UpdateStudentServlet.java b/src/web/servlet/admin/UpdateStudentServlet.java index 3ff7107..130cd57 100644 --- a/src/web/servlet/admin/UpdateStudentServlet.java +++ b/src/web/servlet/admin/UpdateStudentServlet.java @@ -32,13 +32,20 @@ public class UpdateStudentServlet extends HttpServlet { request.setAttribute("student",newStudent); // 创建 CDCService 的实现类实例,用于处理与院系、系别和班级相关的业务逻辑 + // 创建CDCService实例 CDCService service2 = new CDCServiceImpl(); + // 调用findAllCollege方法获取所有学院列表 List collegeList = service2.findAllCollege(); + // 调用findAllDepartment方法获取所有部门列表 List departmentList = service2.findAllDepartment(); + // 调用findAllClass方法获取所有班级列表 List classList = service2.findAllClass(); + // 将学院列表存入session中 session.setAttribute("collegeLists",collegeList); + // 将部门列表存入session中 session.setAttribute("departmentLists",departmentList); + // 将班级列表存入session中 session.setAttribute("classLists",classList); request.getRequestDispatcher("/WEB-INF/admin/updateStudent.jsp").forward(request,response); @@ -48,3 +55,60 @@ public class UpdateStudentServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.admin; +// +//import domain.CDC; +//import domain.Student; +//import service.CDCService; +//import service.StudentService; +//import service.impl.CDCServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.List; +// +//@WebServlet("/updateStudentServlet") +//public class UpdateStudentServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.setCharacterEncoding("utf-8"); +// HttpSession session = request.getSession(); +// String studentid = request.getParameter("sid"); +//// session.setAttribute("sid",studentid); +// +// Student student = new Student(); +// student.setS_id(studentid); +// // 创建学生服务的实现类实例,用于处理与学生相关的业务逻辑 +// StudentService service = new StudentServiceImpl(); +// Student newStudent = service.findStudentById(student); +// request.setAttribute("student",newStudent); +// +// // 创建 CDCService 的实现类实例,用于处理与院系、系别和班级相关的业务逻辑 +// // 创建CDCService实例 +// CDCService service2 = new CDCServiceImpl(); +// // 调用findAllCollege方法获取所有学院列表 +// List collegeList = service2.findAllCollege(); +// // 调用findAllDepartment方法获取所有部门列表 +// List departmentList = service2.findAllDepartment(); +// // 调用findAllClass方法获取所有班级列表 +// List classList = service2.findAllClass(); +// +// // 将学院列表存入session中 +// session.setAttribute("collegeLists",collegeList); +// // 将部门列表存入session中 +// session.setAttribute("departmentLists",departmentList); +// // 将班级列表存入session中 +// session.setAttribute("classLists",classList); +// +// request.getRequestDispatcher("/WEB-INF/admin/updateStudent.jsp").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/cdc/CDCListServlet.java b/src/web/servlet/cdc/CDCListServlet.java index c7bec81..11b59c5 100644 --- a/src/web/servlet/cdc/CDCListServlet.java +++ b/src/web/servlet/cdc/CDCListServlet.java @@ -28,17 +28,25 @@ public class CDCListServlet extends HttpServlet { //将list存入request域- request.setAttribute("cdcs",cdcs); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取管理员对象 Admin admin= (Admin)session.getAttribute("admin"); + // 从会话中获取教师对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生CDC列表页面 if (student != null && admin == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/student/sCDCList.jsp").forward(request, response); + // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员CDC列表页面 } else if (admin != null && student == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/admin/aCDCList.jsp").forward(request, response); + // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师CDC列表页面 } else if (teacher != null && admin == null && student == null) { request.getRequestDispatcher("/WEB-INF/teacher/tCDCList.jsp").forward(request, response); + // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -48,3 +56,61 @@ public class CDCListServlet extends HttpServlet { this.doPost(request,response); } } +//package web.servlet.cdc; +// +//import domain.Admin; +//import domain.CDC; +//import domain.Student; +//import domain.Teacher; +//import service.CDCService; +//import service.StudentService; +//import service.impl.CDCServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.List; +// +//@WebServlet("/cdcListServlet") +//public class CDCListServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.setCharacterEncoding("utf-8"); +// //调用StudentService完成查询- +// CDCService service = new CDCServiceImpl(); +// List cdcs = service.findAll(); +// //将list存入request域- +// request.setAttribute("cdcs",cdcs); +// +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取学生对象 +// Student student= (Student)session.getAttribute("student"); +// // 从会话中获取管理员对象 +// Admin admin= (Admin)session.getAttribute("admin"); +// // 从会话中获取教师对象 +// Teacher teacher= (Teacher)session.getAttribute("teacher"); +// +// // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生CDC列表页面 +// if (student != null && admin == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/student/sCDCList.jsp").forward(request, response); +// // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员CDC列表页面 +// } else if (admin != null && student == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/admin/aCDCList.jsp").forward(request, response); +// // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师CDC列表页面 +// } else if (teacher != null && admin == null && student == null) { +// request.getRequestDispatcher("/WEB-INF/teacher/tCDCList.jsp").forward(request, response); +// // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// this.doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/complaints/AddComplaintsServlet.java b/src/web/servlet/complaints/AddComplaintsServlet.java index 95fca50..9a0f843 100644 --- a/src/web/servlet/complaints/AddComplaintsServlet.java +++ b/src/web/servlet/complaints/AddComplaintsServlet.java @@ -29,12 +29,19 @@ public class AddComplaintsServlet extends HttpServlet { text = text.replace("/script",""); } + // 判断文本是否为空 if (!text.equals("")) { + // 设置投诉内容 complaint.setContent(text); + // 获取当前时间 Date d = new Date(); + // 设置时间格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 设置投诉日期 complaint.setCdate(sdf.format(d)); + // 创建投诉服务对象 ComplaintService service = new ComplaintServiceImpl(); + // 添加投诉 service.addComplaint(complaint); } @@ -46,3 +53,58 @@ public class AddComplaintsServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.complaints; +// +//import domain.Complaint; +//import service.ComplaintService; +//import service.NotifyService; +//import service.impl.ComplaintServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.text.SimpleDateFormat; +//import java.util.Date; +// +//@WebServlet("/addComplaintsServlet") +//public class AddComplaintsServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.setCharacterEncoding("utf-8"); +// +// //获取参数- +// Complaint complaint = new Complaint(); +// +// String text = (String) request.getParameter("complaint"); +// +// if (text.contains("script") && text.contains("/script")) { +// text = text.replace("script",""); +// text = text.replace("/script",""); +// } +// +// // 判断文本是否为空 +// if (!text.equals("")) { +// // 设置投诉内容 +// complaint.setContent(text); +// // 获取当前时间 +// Date d = new Date(); +// // 设置时间格式 +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// // 设置投诉日期 +// complaint.setCdate(sdf.format(d)); +// // 创建投诉服务对象 +// ComplaintService service = new ComplaintServiceImpl(); +// // 添加投诉 +// service.addComplaint(complaint); +// } +// +// response.sendRedirect("complaintServlet"); +//// request.getRequestDispatcher("/complaintListServlet").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/complaints/ComplaintListServlet.java b/src/web/servlet/complaints/ComplaintListServlet.java index d1bae26..cc8c4f4 100644 --- a/src/web/servlet/complaints/ComplaintListServlet.java +++ b/src/web/servlet/complaints/ComplaintListServlet.java @@ -16,15 +16,55 @@ import java.util.List; */ @WebServlet("/complaintListServlet") public class ComplaintListServlet extends HttpServlet { + // 处理 POST 请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为 utf-8 request.setCharacterEncoding("utf-8"); + // 创建投诉服务对象 ComplaintService service = new ComplaintServiceImpl(); + // 查询所有投诉信息 List complaints = service.findAll(); // 将查询到的投诉信息存入请求属性,以便在后续的 JSP 页面中使用 request.setAttribute("complaints",complaints); + // 转发请求到 JSP 页面 request.getRequestDispatcher("/WEB-INF/complaint/complaintsList.jsp").forward(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } } +//package web.servlet.complaints; +// +//import domain.Complaint; +//import service.ComplaintService; +//import service.impl.ComplaintServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.util.List; +///** +// * 投诉列表处理的Servlet +// */ +//@WebServlet("/complaintListServlet") +//public class ComplaintListServlet extends HttpServlet { +// // 处理 POST 请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为 utf-8 +// request.setCharacterEncoding("utf-8"); +// // 创建投诉服务对象 +// ComplaintService service = new ComplaintServiceImpl(); +// // 查询所有投诉信息 +// List complaints = service.findAll(); +// // 将查询到的投诉信息存入请求属性,以便在后续的 JSP 页面中使用 +// request.setAttribute("complaints",complaints); +// // 转发请求到 JSP 页面 +// request.getRequestDispatcher("/WEB-INF/complaint/complaintsList.jsp").forward(request,response); +// } +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/complaints/ComplaintServlet.java b/src/web/servlet/complaints/ComplaintServlet.java index 1ab7053..0f9eda3 100644 --- a/src/web/servlet/complaints/ComplaintServlet.java +++ b/src/web/servlet/complaints/ComplaintServlet.java @@ -18,10 +18,15 @@ import java.util.List; public class ComplaintServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置请求编码为UTF-8,以支持中文字符的正确处理 + // 设置请求的字符编码为utf-8 request.setCharacterEncoding("utf-8"); + // 创建ComplaintService实例 ComplaintService service = new ComplaintServiceImpl(); + // 调用findAll方法获取所有投诉信息 List complaints = service.findAll(); + // 将投诉信息存入request对象中 request.setAttribute("complaints",complaints); + // 将请求转发到complaintsList.jsp页面 request.getRequestDispatcher("/WEB-INF/complaint/complaintsList.jsp").forward(request,response); } /** @@ -36,3 +41,46 @@ public class ComplaintServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.complaints; +// +//import domain.Complaint; +//import service.ComplaintService; +//import service.impl.ComplaintServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.util.List; +///** +// * 投诉处理的Servlet +// */ +//@WebServlet("/complaintServlet") +//public class ComplaintServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为UTF-8,以支持中文字符的正确处理 +// // 设置请求的字符编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 创建ComplaintService实例 +// ComplaintService service = new ComplaintServiceImpl(); +// // 调用findAll方法获取所有投诉信息 +// List complaints = service.findAll(); +// // 将投诉信息存入request对象中 +// request.setAttribute("complaints",complaints); +// // 将请求转发到complaintsList.jsp页面 +// request.getRequestDispatcher("/WEB-INF/complaint/complaintsList.jsp").forward(request,response); +// } +// /** +// * 处理GET请求,调用POST请求处理方法。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/DeleteFileServlet.java b/src/web/servlet/file/DeleteFileServlet.java index 623ea85..5245d18 100644 --- a/src/web/servlet/file/DeleteFileServlet.java +++ b/src/web/servlet/file/DeleteFileServlet.java @@ -21,10 +21,15 @@ public class DeleteFileServlet extends HttpServlet { * @throws ServletException 如果处理请求时发生错误。 * @throws IOException 如果输入或输出异常发生。 */ + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取请求参数filename String fileName = request.getParameter("filename"); + // 获取上传文件的路径 File file = new File(this.getServletContext().getRealPath("upload")+File.separator+fileName); + // 如果文件存在,则删除 if (file.exists()) { file.delete(); } @@ -35,3 +40,45 @@ public class DeleteFileServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.file; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.File; +//import java.io.IOException; +///** +// * 删除文件的Servlet +// */ +//@WebServlet("/deleteFileServlet") +//public class DeleteFileServlet extends HttpServlet { +// +// /** +// * 处理POST请求,执行文件删除操作。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 获取请求参数filename +// String fileName = request.getParameter("filename"); +// // 获取上传文件的路径 +// File file = new File(this.getServletContext().getRealPath("upload")+File.separator+fileName); +// // 如果文件存在,则删除 +// if (file.exists()) { +// file.delete(); +// } +// request.getRequestDispatcher("/fileListServlet").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/DownloadServlet.java b/src/web/servlet/file/DownloadServlet.java index 6019987..5e62baf 100644 --- a/src/web/servlet/file/DownloadServlet.java +++ b/src/web/servlet/file/DownloadServlet.java @@ -27,18 +27,27 @@ public class DownloadServlet extends HttpServlet { * @throws ServletException 如果处理请求时发生错误。 * @throws IOException 如果输入或输出异常发生。 */ + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 获取请求参数filename String filename = request.getParameter("filename"); + // 判断filename是否为../或/ if (filename.equalsIgnoreCase("../") || filename.equalsIgnoreCase("/")) { + // 如果是,则转发到error.jsp页面 request.getRequestDispatcher("error.jsp").forward(request, response); } + // 设置响应头content-Type为application/octet-stream response.addHeader("content-Type", "application/octet-stream"); + // 获取请求头User-Agent String agent = request.getHeader("User-Agent"); + // 判断User-Agent是否包含chrome if (agent.toLowerCase().indexOf("chrome") > 0) { + // 如果包含,则设置响应头content-Disposition为attachment;filename,并将filename进行UTF-8和ISO8859-1编码 response.addHeader("content-Disposition", "attachment;filename=" + new String(filename.getBytes("UTF-8"), "ISO8859-1")); } else { + // 如果不包含,则设置响应头content-Disposition为attachment;filename,并将filename进行UTF-8编码 response.addHeader("content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8")); } InputStream in = getServletContext().getResourceAsStream("/upload/" + filename); @@ -51,16 +60,24 @@ public class DownloadServlet extends HttpServlet { out.close(); in.close(); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取管理员对象 Admin admin= (Admin)session.getAttribute("admin"); + // 从会话中获取教师对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生查找文件列表页面 if (student != null && admin == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/student/sFindFileList.jsp").forward(request, response); + // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员查找文件列表页面 } else if (admin != null && student == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/admin/aFindFileList.jsp").forward(request, response); + // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师查找文件列表页面 } else if (teacher != null && admin == null && student == null) { request.getRequestDispatcher("/WEB-INF/teacher/tFindFileList.jsp").forward(request, response); + // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -70,3 +87,92 @@ public class DownloadServlet extends HttpServlet { doPost(request, response); } } +//package web.servlet.file; +// +//import domain.Admin; +//import domain.Student; +//import domain.Teacher; +// +//import javax.servlet.ServletException; +//import javax.servlet.ServletOutputStream; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.io.InputStream; +//import java.net.URLEncoder; +///** +// * 文件下载的Servlet +// */ +//@WebServlet("/downloadServlet") +//public class DownloadServlet extends HttpServlet { +// /** +// * 处理POST请求,执行文件下载操作。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 获取请求参数filename +// String filename = request.getParameter("filename"); +// // 判断filename是否为../或/ +// if (filename.equalsIgnoreCase("../") || filename.equalsIgnoreCase("/")) { +// // 如果是,则转发到error.jsp页面 +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// // 设置响应头content-Type为application/octet-stream +// response.addHeader("content-Type", "application/octet-stream"); +// +// // 获取请求头User-Agent +// String agent = request.getHeader("User-Agent"); +// +// // 判断User-Agent是否包含chrome +// if (agent.toLowerCase().indexOf("chrome") > 0) { +// // 如果包含,则设置响应头content-Disposition为attachment;filename,并将filename进行UTF-8和ISO8859-1编码 +// response.addHeader("content-Disposition", "attachment;filename=" + new String(filename.getBytes("UTF-8"), "ISO8859-1")); +// } else { +// // 如果不包含,则设置响应头content-Disposition为attachment;filename,并将filename进行UTF-8编码 +// response.addHeader("content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8")); +// } +// InputStream in = getServletContext().getResourceAsStream("/upload/" + filename); +// ServletOutputStream out = response.getOutputStream(); +// byte[] bs = new byte[1024]; +// int len = -1; +// while ((len = in.read(bs)) != -1) { +// out.write(bs, 0, len); +// } +// out.close(); +// in.close(); +// +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取学生对象 +// Student student= (Student)session.getAttribute("student"); +// // 从会话中获取管理员对象 +// Admin admin= (Admin)session.getAttribute("admin"); +// // 从会话中获取教师对象 +// Teacher teacher= (Teacher)session.getAttribute("teacher"); +// // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生查找文件列表页面 +// if (student != null && admin == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/student/sFindFileList.jsp").forward(request, response); +// // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员查找文件列表页面 +// } else if (admin != null && student == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/admin/aFindFileList.jsp").forward(request, response); +// // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师查找文件列表页面 +// } else if (teacher != null && admin == null && student == null) { +// request.getRequestDispatcher("/WEB-INF/teacher/tFindFileList.jsp").forward(request, response); +// // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request, response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/FileListServlet.java b/src/web/servlet/file/FileListServlet.java index 1c378d3..d2f6ead 100644 --- a/src/web/servlet/file/FileListServlet.java +++ b/src/web/servlet/file/FileListServlet.java @@ -20,23 +20,38 @@ import java.util.List; @WebServlet("/fileListServlet") public class FileListServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取上传文件的目录 File dir = new File(this.getServletContext().getRealPath("upload")); + // 如果目录不存在且不是目录 if (!dir.exists() && !dir.isDirectory()) { + // 输出提示信息 System.out.println(this.getServletContext().getRealPath("upload") + "目录不存在,需要创建"); // 创建目录- dir.mkdir(); } + // 获取目录下的所有文件 File[] arrs = dir.listFiles(); + // 创建一个List来存储文件信息 List fileLists = new ArrayList(); + // 遍历所有文件 for(File f:arrs){ + // 获取文件大小 long l = f.length(); + // 将文件大小转换为可读的格式 String fileSize = getPrintSize(l); + // 创建一个FileClass对象 FileClass file = new FileClass(); + // 设置文件名 file.setFileName(f.getName()); + // 设置文件路径 file.setFilePath(f.getAbsolutePath()); + // 设置文件大小 file.setFileSize(fileSize); + // 将文件信息添加到List中 fileLists.add(file); } request.setAttribute("fileLists",fileLists); @@ -44,14 +59,20 @@ public class FileListServlet extends HttpServlet { HttpSession session = request.getSession(); Student student= (Student)session.getAttribute("student"); + // 从session中获取admin对象 Admin admin= (Admin)session.getAttribute("admin"); + // 从session中获取teacher对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果student对象不为空,admin对象为空,teacher对象为空,则跳转到student的文件列表页面 if (student != null && admin == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/student/sFindFileList.jsp").forward(request, response); + // 如果admin对象不为空,student对象为空,teacher对象为空,则跳转到admin的文件列表页面 } else if (admin != null && student == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/admin/aFindFileList.jsp").forward(request, response); + // 如果teacher对象不为空,admin对象为空,student对象为空,则跳转到teacher的文件列表页面 } else if (teacher != null && admin == null && student == null) { request.getRequestDispatcher("/WEB-INF/teacher/tFindFileList.jsp").forward(request, response); + // 否则跳转到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -86,3 +107,112 @@ public class FileListServlet extends HttpServlet { } } } +//package web.servlet.file; +// +//import domain.Admin; +//import domain.FileClass; +//import domain.Student; +//import domain.Teacher; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.File; +//import java.io.IOException; +//import java.math.BigDecimal; +//import java.math.RoundingMode; +//import java.util.ArrayList; +//import java.util.List; +// +//@WebServlet("/fileListServlet") +//public class FileListServlet extends HttpServlet { +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 获取上传文件的目录 +// File dir = new File(this.getServletContext().getRealPath("upload")); +// // 如果目录不存在且不是目录 +// if (!dir.exists() && !dir.isDirectory()) { +// // 输出提示信息 +// System.out.println(this.getServletContext().getRealPath("upload") + "目录不存在,需要创建"); +// // 创建目录- +// dir.mkdir(); +// } +// // 获取目录下的所有文件 +// File[] arrs = dir.listFiles(); +// // 创建一个List来存储文件信息 +// List fileLists = new ArrayList(); +// // 遍历所有文件 +// for(File f:arrs){ +// // 获取文件大小 +// long l = f.length(); +// // 将文件大小转换为可读的格式 +// String fileSize = getPrintSize(l); +// // 创建一个FileClass对象 +// FileClass file = new FileClass(); +// // 设置文件名 +// file.setFileName(f.getName()); +// // 设置文件路径 +// file.setFilePath(f.getAbsolutePath()); +// // 设置文件大小 +// file.setFileSize(fileSize); +// // 将文件信息添加到List中 +// fileLists.add(file); +// } +// request.setAttribute("fileLists",fileLists); +// +// HttpSession session = request.getSession(); +// Student student= (Student)session.getAttribute("student"); +// +// // 从session中获取admin对象 +// Admin admin= (Admin)session.getAttribute("admin"); +// // 从session中获取teacher对象 +// Teacher teacher= (Teacher)session.getAttribute("teacher"); +// // 如果student对象不为空,admin对象为空,teacher对象为空,则跳转到student的文件列表页面 +// if (student != null && admin == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/student/sFindFileList.jsp").forward(request, response); +// // 如果admin对象不为空,student对象为空,teacher对象为空,则跳转到admin的文件列表页面 +// } else if (admin != null && student == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/admin/aFindFileList.jsp").forward(request, response); +// // 如果teacher对象不为空,admin对象为空,student对象为空,则跳转到teacher的文件列表页面 +// } else if (teacher != null && admin == null && student == null) { +// request.getRequestDispatcher("/WEB-INF/teacher/tFindFileList.jsp").forward(request, response); +// // 否则跳转到错误页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +// +// public static String getPrintSize(long size) { +// // 如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义- +// double value = (double) size; +// if (value < 1024) { +// return String.valueOf(value) + "B"; +// } else { +// value = new BigDecimal(value / 1024).setScale(2, BigDecimal.ROUND_DOWN).doubleValue(); +// } +// // 如果原字节数除于1024之后,少于1024,则可以直接以KB作为单位- +// // 因为还没有到达要使用另一个单位的时候 +// // 接下去以此类推 +// if (value < 1024) { +// return String.valueOf(value) + "KB"; +// } else { +// value = new BigDecimal(value / 1024).setScale(2, BigDecimal.ROUND_DOWN).doubleValue(); +// } +// if (value < 1024) { +// return String.valueOf(value) + "MB"; +// } else { +// // 否则如果要以GB为单位的,先除于1024再作同样的处理 +// value = new BigDecimal(value / 1024).setScale(2, BigDecimal.ROUND_DOWN).doubleValue(); +// return String.valueOf(value) + "GB"; +// } +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/FileServlet.java b/src/web/servlet/file/FileServlet.java index ecce88f..80aac30 100644 --- a/src/web/servlet/file/FileServlet.java +++ b/src/web/servlet/file/FileServlet.java @@ -35,3 +35,40 @@ public class FileServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.file; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +///** +// * 文件处理的Servlet,用于转发到文件上传页面 +// */ +//@WebServlet("/fileServlet") +//public class FileServlet extends HttpServlet { +// /** +// * 处理POST请求,转发到文件上传页面。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.getRequestDispatcher("/WEB-INF/admin/uploadFile.jsp").forward(request,response); +// } +// +// /** +// * 处理GET请求,直接调用POST请求处理方法。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/ShowPhotoServlet.java b/src/web/servlet/file/ShowPhotoServlet.java index 0c0fd31..70e1b0c 100644 --- a/src/web/servlet/file/ShowPhotoServlet.java +++ b/src/web/servlet/file/ShowPhotoServlet.java @@ -34,18 +34,23 @@ public class ShowPhotoServlet extends HttpServlet { Student student = (Student) session.getAttribute("student"); Teacher teacher = (Teacher) session.getAttribute("teacher"); Photo p; + // 判断当前用户是学生还是教师 if (student != null) { + // 如果是学生,则根据学生id查询照片 PhotoService service = new PhotoServiceImpl(); p = service.findPhotoByPhotoId(student.getS_id()); }else{ + // 如果是教师,则根据教师id查询照片 PhotoService service = new PhotoServiceImpl(); p = service.findPhotoByPhotoId(teacher.getT_id()); } String imagePath = ""; + // 如果没有查询到照片,则使用默认照片 if (p == null) { imagePath = this.getServletContext().getRealPath("/photos/") + "0.jpg"; System.out.println(imagePath); } else { + // 如果查询到照片,则使用查询到的照片 String photoName = p.getPhotoName(); imagePath = this.getServletContext().getRealPath("/photos/") + photoName; System.out.println(imagePath); @@ -72,14 +77,20 @@ public class ShowPhotoServlet extends HttpServlet { imageIn.close();// 关闭文件流 } - if (imagePath.toLowerCase().endsWith(".gif"))// 不使用编码处理文件流的情况: + if (imagePath.toLowerCase().endsWith(".gif")) + // 不使用编码处理文件流的情况: { response.setContentType(GIF); - ServletContext context = getServletContext();// 得到背景对象 - InputStream imageIn = context.getResourceAsStream(imagePath);// 文件流 - BufferedInputStream bis = new BufferedInputStream(imageIn);// 输入缓冲流 - BufferedOutputStream bos = new BufferedOutputStream(output);// 输出缓冲流 - byte data[] = new byte[4096];// 缓冲字节数 + ServletContext context = getServletContext(); + // 得到背景对象 + InputStream imageIn = context.getResourceAsStream(imagePath); + // 文件流 + BufferedInputStream bis = new BufferedInputStream(imageIn); + // 输入缓冲流 + BufferedOutputStream bos = new BufferedOutputStream(output); + // 输出缓冲流 + byte data[] = new byte[4096]; + // 缓冲字节数 int size = 0; size = bis.read(data); while (size != -1) { @@ -97,3 +108,113 @@ public class ShowPhotoServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.file; +// +//import com.sun.image.codec.jpeg.JPEGCodec; +//import com.sun.image.codec.jpeg.JPEGImageDecoder; +//import com.sun.image.codec.jpeg.JPEGImageEncoder; +//import domain.Photo; +//import domain.Student; +//import domain.Teacher; +//import service.PhotoService; +//import service.impl.PhotoServiceImpl; +// +//import javax.servlet.ServletContext; +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.awt.image.BufferedImage; +//import java.io.*; +//import java.net.ServerSocket; +// +//@WebServlet("/showPhotoServlet") +//public class ShowPhotoServlet extends HttpServlet { +// private static final String GIF = "image/gif;charset=GB2312";// 设定输出的类型 +// +// private static final String JPG = "image/jpeg;charset=GB2312"; +// +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// String spec = request.getParameter("spec");// 输出图片的类型的标志 +// +// request.setCharacterEncoding("utf-8"); +// HttpSession session = request.getSession(); +// Student student = (Student) session.getAttribute("student"); +// Teacher teacher = (Teacher) session.getAttribute("teacher"); +// Photo p; +// // 判断当前用户是学生还是教师 +// if (student != null) { +// // 如果是学生,则根据学生id查询照片 +// PhotoService service = new PhotoServiceImpl(); +// p = service.findPhotoByPhotoId(student.getS_id()); +// }else{ +// // 如果是教师,则根据教师id查询照片 +// PhotoService service = new PhotoServiceImpl(); +// p = service.findPhotoByPhotoId(teacher.getT_id()); +// } +// String imagePath = ""; +// // 如果没有查询到照片,则使用默认照片 +// if (p == null) { +// imagePath = this.getServletContext().getRealPath("/photos/") + "0.jpg"; +// System.out.println(imagePath); +// } else { +// // 如果查询到照片,则使用查询到的照片 +// String photoName = p.getPhotoName(); +// imagePath = this.getServletContext().getRealPath("/photos/") + photoName; +// System.out.println(imagePath); +// } +// +// +// response.reset(); +// +// OutputStream output = response.getOutputStream();// 得到输出流 +// if (imagePath.toLowerCase().endsWith(".jpg"))// 使用编码处理文件流的情况: +// { +// response.setContentType(JPG);// 设定输出的类型 +// // 得到图片的真实路径- +// +// // 得到图片的文件流- +// InputStream imageIn = new FileInputStream(new File(imagePath)); +// // 得到输入的编码器,将文件流进行jpg格式编码- +// JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(imageIn); +// // 得到编码后的图片对象- +// BufferedImage image = decoder.decodeAsBufferedImage(); +// // 得到输出的编码器 +// JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output); +// encoder.encode(image);// 对图片进行输出编码 +// imageIn.close();// 关闭文件流 +// } +// +// if (imagePath.toLowerCase().endsWith(".gif")) +// // 不使用编码处理文件流的情况: +// { +// response.setContentType(GIF); +// ServletContext context = getServletContext(); +// // 得到背景对象 +// InputStream imageIn = context.getResourceAsStream(imagePath); +// // 文件流 +// BufferedInputStream bis = new BufferedInputStream(imageIn); +// // 输入缓冲流 +// BufferedOutputStream bos = new BufferedOutputStream(output); +// // 输出缓冲流 +// byte data[] = new byte[4096]; +// // 缓冲字节数 +// int size = 0; +// size = bis.read(data); +// while (size != -1) { +// bos.write(data, 0, size); +// size = bis.read(data); +// } +// bis.close(); +// bos.flush();// 清空输出缓冲流 +// bos.close(); +// } +// output.close(); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/UploadImageServlet.java b/src/web/servlet/file/UploadImageServlet.java index c105e8c..83ae140 100644 --- a/src/web/servlet/file/UploadImageServlet.java +++ b/src/web/servlet/file/UploadImageServlet.java @@ -26,14 +26,22 @@ import java.util.List; @WebServlet("/uploadImageServlet") public class UploadImageServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 获取当前会话 HttpSession session = request.getSession(); + // 获取当前会话中的学生对象 Student student = (Student) session.getAttribute("student"); + // 获取当前会话中的教师对象 Teacher teacher = (Teacher) session.getAttribute("teacher"); + // 获取当前会话中的管理员对象 Admin admin = (Admin) session.getAttribute("admin"); + // 定义一个字符串变量,用于存储用户ID String id = ""; + // 如果当前会话中有学生对象 if (student != null) { + // 将学生ID赋值给id变量 id = student.getS_id(); } @@ -79,6 +87,7 @@ public class UploadImageServlet extends HttpServlet { filename = filename.substring(filename.lastIndexOf("\\") + 1); // System.out.print(filename); + // 判断文件名后缀是否为JPG、JPEG、gif、GIF、jpg、jpeg if (filename.substring(filename.lastIndexOf(".") + 1).equals("JPG") || filename.substring(filename.lastIndexOf(".") + 1).equals("JPEG") || filename.substring(filename.lastIndexOf(".") + 1).equals("gif") @@ -101,6 +110,7 @@ public class UploadImageServlet extends HttpServlet { } else { //必须是图片才能上传否则失败 request.setAttribute("update_msg", "上传失败,只能上传类型为jpg或GIF的图像文件!"+String.format("%tT",new Date())); // request.getRequestDispatcher("/WEB-INF/index.jsp").forward(request, response); + // 转发到studentAddPhoto.jsp页面 request.getRequestDispatcher("/WEB-INF/student/studentAddPhoto.jsp").forward(request, response); return; } @@ -109,9 +119,13 @@ public class UploadImageServlet extends HttpServlet { e.printStackTrace(); } + // 创建Photo对象 Photo photo = new Photo(); + // 设置photoId photo.setPhotoId(id); + // 设置photoName photo.setPhotoName(newFileName); + // 创建PhotoService对象 PhotoService service = new PhotoServiceImpl(); @@ -130,3 +144,149 @@ public class UploadImageServlet extends HttpServlet { request.getRequestDispatcher("/WEB-INF/student/studentAddPhoto.jsp").forward(request, response); } } +//package web.servlet.file; +// +//import domain.Admin; +//import domain.Photo; +//import domain.Student; +//import domain.Teacher; +//import org.apache.commons.fileupload.FileItem; +//import org.apache.commons.fileupload.FileUploadException; +//import org.apache.commons.fileupload.disk.DiskFileItemFactory; +//import org.apache.commons.fileupload.servlet.ServletFileUpload; +//import service.PhotoService; +//import service.impl.PhotoServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.File; +//import java.io.FileOutputStream; +//import java.io.IOException; +//import java.io.InputStream; +//import java.util.Date; +//import java.util.List; +// +//@WebServlet("/uploadImageServlet") +//public class UploadImageServlet extends HttpServlet { +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 获取当前会话中的学生对象 +// Student student = (Student) session.getAttribute("student"); +// // 获取当前会话中的教师对象 +// Teacher teacher = (Teacher) session.getAttribute("teacher"); +// // 获取当前会话中的管理员对象 +// Admin admin = (Admin) session.getAttribute("admin"); +// // 定义一个字符串变量,用于存储用户ID +// String id = ""; +// // 如果当前会话中有学生对象 +// if (student != null) { +// // 将学生ID赋值给id变量 +// id = student.getS_id(); +// } +// +// request.setAttribute("message", ""); +// request.setAttribute("path", ""); +// String filename = null; +// String newFileName = null; +// // 设置上传图片的保存路径- +// String savePath = this.getServletContext().getRealPath("/photos"); +// File file = new File(savePath); +// // 判断上传文件的保存目录是否存在- +// if (!file.exists() && !file.isDirectory()) { +// System.out.println(savePath + "目录不存在,需要创建"); +// // 创建目录 +// file.mkdir(); +// } +// DiskFileItemFactory factory = new DiskFileItemFactory(); +// // 2、创建一个文件上传解析器- +// ServletFileUpload upload = new ServletFileUpload(factory); +// upload.setHeaderEncoding("UTF-8"); +// // 3、判断提交上来的数据是否是上传表单的数据- +// if (!ServletFileUpload.isMultipartContent(request)) { +// // 按照传统方式获取数据- +// return; +// } +// try { +// List list = upload.parseRequest(request); +// System.out.println(list.toString());// 文件的路径 以及保存的路径- +// for (FileItem item : list) { +// filename = item.getName();// 获得一个项的文件名称- +// try { +// newFileName = id + filename.substring(filename.lastIndexOf(".")); +// filename = id + filename.substring(filename.lastIndexOf(".")); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// if (filename == null || filename.trim().equals("")) {// 如果為空則跳過 +// continue; +// } +// // 報錯 需要過濾文件名稱 java.io.FileNotFoundException: +// // G:\测试02\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\FaceUp\WEB-INF\images\C:\Users\Ray\Pictures\2.jpeg +// // (文件名、目录名或卷标语法不正确。) +// +// filename = filename.substring(filename.lastIndexOf("\\") + 1); +//// System.out.print(filename); +// // 判断文件名后缀是否为JPG、JPEG、gif、GIF、jpg、jpeg +// if (filename.substring(filename.lastIndexOf(".") + 1).equals("JPG") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("JPEG") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("gif") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("GIF") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("jpg") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("jpeg")) { +// InputStream in = item.getInputStream();// 獲得上傳的輸入流 +// FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);// 指定web-inf目錄下的images文件 +// request.setAttribute("path", "photos"+"\\" + filename); +// +// int len = 0; +// byte buffer[] = new byte[1024]; +// while ((len = in.read(buffer)) > 0)// 每次讀取 +// { +// out.write(buffer, 0, len); +// } +// in.close(); +// out.close(); +// item.delete(); +// } else { //必须是图片才能上传否则失败 +// request.setAttribute("update_msg", "上传失败,只能上传类型为jpg或GIF的图像文件!"+String.format("%tT",new Date())); +//// request.getRequestDispatcher("/WEB-INF/index.jsp").forward(request, response); +// // 转发到studentAddPhoto.jsp页面 +// request.getRequestDispatcher("/WEB-INF/student/studentAddPhoto.jsp").forward(request, response); +// return; +// } +// } +// } catch (FileUploadException e) { +// e.printStackTrace(); +// } +// +// // 创建Photo对象 +// Photo photo = new Photo(); +// // 设置photoId +// photo.setPhotoId(id); +// // 设置photoName +// photo.setPhotoName(newFileName); +// // 创建PhotoService对象 +// PhotoService service = new PhotoServiceImpl(); +// +// +// Photo photo1= service.findPhotoByPhotoId(id); +// if (photo1==null) { +// service.addPhoto(photo); +// }else { +// service.updatePhoto(photo); +// } +// request.setAttribute("update_msg", "上传成功!"+String.format("%tT",new Date())); +//// request.getRequestDispatcher("/WEB-INF/index.jsp").forward(request, response); +// request.getRequestDispatcher("/WEB-INF/student/studentAddPhoto.jsp").forward(request, response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.getRequestDispatcher("/WEB-INF/student/studentAddPhoto.jsp").forward(request, response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/file/UploadServlet.java b/src/web/servlet/file/UploadServlet.java index cabb805..8912952 100644 --- a/src/web/servlet/file/UploadServlet.java +++ b/src/web/servlet/file/UploadServlet.java @@ -29,16 +29,25 @@ public class UploadServlet extends HttpServlet { * @throws ServletException 如果处理请求时发生错误。 * @throws IOException 如果输入或输出异常发生。 */ + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 设置响应编码为utf-8 response.setCharacterEncoding("utf-8"); + // 设置响应内容类型为text/html,编码为utf-8 response.setContentType("text/html; charset=utf-8"); + // 判断请求是否为文件上传 boolean isMultipart=ServletFileUpload.isMultipartContent(request); + // 如果是文件上传 if (isMultipart) { + // 创建一个文件项工厂 FileItemFactory factory = new DiskFileItemFactory(); + // 创建一个文件上传对象 ServletFileUpload upload = new ServletFileUpload(factory); + // 设置文件上传对象的编码为utf-8 upload.setHeaderEncoding("utf-8"); // upload.setProgressListener(new ProgressListener(){ @@ -54,11 +63,17 @@ public class UploadServlet extends HttpServlet { // }); try { + // 解析请求,获取上传的文件项 List items = upload.parseRequest(request); + // 获取文件项的迭代器 Iterator it = items.iterator(); + // 遍历文件项 while (it.hasNext()) { + // 获取下一个文件项 FileItem item = it.next(); + // 获取文件项的名称 String itemname = item.getFieldName(); + // 初始化学号和姓名 int sno = -1; String sname = null; @@ -74,21 +89,31 @@ public class UploadServlet extends HttpServlet { } else { String filename = item.getName(); //String path=request.getSession().getServletContext().getRealPath("upload"); + // 获取上传文件的路径 String path = this.getServletContext().getRealPath("upload"); + // 判断上传文件的扩展名是否为jsp、htm或html if (filename.substring(filename.lastIndexOf(".") + 1).equals("jsp") || filename.substring(filename.lastIndexOf(".") + 1).equals("htm") || filename.substring(filename.lastIndexOf(".") + 1).equals("html")) { + // 如果是,则转发到错误页面 request.getRequestDispatcher("error.jsp").forward(request, response); } else { + // 如果不是,则打印上传文件的路径 System.out.println(path); + // 创建文件对象 File file = new File(path); + // 如果文件不存在且不是目录,则创建目录 if (!file.exists() && !file.isDirectory()) { file.mkdir(); } + // 将上传的文件写入到指定路径 item.write(new File(path, filename)); + // 设置上传成功的属性 request.setAttribute("news", filename + " 上传成功!"); + // 转发到上传成功页面 request.getRequestDispatcher("/WEB-INF/admin/uploadFile.jsp").forward(request, response); // response.sendRedirect("fileUploadIndexServlet"); + // 打印上传成功的消息 System.out.println(filename + "上传成功!!!"); } @@ -107,11 +132,17 @@ public class UploadServlet extends HttpServlet { /** * 表示文件上传或下载过程中的信息类 */ + // 定义一个ProcessInfo类,用于存储进程信息 class ProcessInfo{ + // 总大小 public long totalSize = 1; + // 已读大小 public long readSize = 0; + // 显示信息 public String show = ""; + // 项目数量 public int itemNum = 0; + // 速率 public int rate = 0; } @@ -119,3 +150,155 @@ public class UploadServlet extends HttpServlet { doPost(request, response); } } +//package web.servlet.file; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.io.File; +//import java.util.Iterator; +//import java.util.List; +//import org.apache.commons.fileupload.FileItem; +//import org.apache.commons.fileupload.FileItemFactory; +//import org.apache.commons.fileupload.FileUploadException; +//import org.apache.commons.fileupload.ProgressListener; +//import org.apache.commons.fileupload.disk.DiskFileItemFactory; +//import org.apache.commons.fileupload.servlet.ServletFileUpload; +///** +// * 文件上传的Servlet +// */ +//@WebServlet("/uploadServlet") +//public class UploadServlet extends HttpServlet { +// +// /** +// * 处理POST请求,用于执行文件上传操作。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 设置响应编码为utf-8 +// response.setCharacterEncoding("utf-8"); +// // 设置响应内容类型为text/html,编码为utf-8 +// response.setContentType("text/html; charset=utf-8"); +// +// +// // 判断请求是否为文件上传 +// boolean isMultipart=ServletFileUpload.isMultipartContent(request); +// // 如果是文件上传 +// if (isMultipart) { +// // 创建一个文件项工厂 +// FileItemFactory factory = new DiskFileItemFactory(); +// // 创建一个文件上传对象 +// ServletFileUpload upload = new ServletFileUpload(factory); +// // 设置文件上传对象的编码为utf-8 +// upload.setHeaderEncoding("utf-8"); +// +//// upload.setProgressListener(new ProgressListener(){ +//// public void update(long pBytesRead, long pContentLength, int pItems) { +//// ProcessInfo pri = new ProcessInfo(); +//// pri.itemNum = pItems; +//// pri.readSize = pBytesRead; +//// pri.totalSize = pContentLength; +//// pri.show = pBytesRead+"/"+pContentLength+" byte"; +//// pri.rate = Math.round(new Float(pBytesRead) / new Float(pContentLength)*100); +//// hs.setAttribute("proInfo", pri); +//// } +//// }); +// +// try { +// // 解析请求,获取上传的文件项 +// List items = upload.parseRequest(request); +// // 获取文件项的迭代器 +// Iterator it = items.iterator(); +// // 遍历文件项 +// while (it.hasNext()) { +// // 获取下一个文件项 +// FileItem item = it.next(); +// // 获取文件项的名称 +// String itemname = item.getFieldName(); +// // 初始化学号和姓名 +// int sno = -1; +// String sname = null; +// +// if (item.isFormField()) { +// if (itemname.equals("sno")) { +// sno = Integer.parseInt(item.getString("utf-8")); +// } else if (itemname.equals("sname")) { +// sname = item.getString("utf-8"); +// sname = item.getName(); +// } else { +// System.out.println("其他字段"); +// } +// } else { +// String filename = item.getName(); +// //String path=request.getSession().getServletContext().getRealPath("upload"); +// // 获取上传文件的路径 +// String path = this.getServletContext().getRealPath("upload"); +// // 判断上传文件的扩展名是否为jsp、htm或html +// if (filename.substring(filename.lastIndexOf(".") + 1).equals("jsp") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("htm") +// || filename.substring(filename.lastIndexOf(".") + 1).equals("html")) { +// // 如果是,则转发到错误页面 +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } else { +// // 如果不是,则打印上传文件的路径 +// System.out.println(path); +// // 创建文件对象 +// File file = new File(path); +// // 如果文件不存在且不是目录,则创建目录 +// if (!file.exists() && !file.isDirectory()) { +// file.mkdir(); +// } +// // 将上传的文件写入到指定路径 +// item.write(new File(path, filename)); +// // 设置上传成功的属性 +// request.setAttribute("news", filename + " 上传成功!"); +// // 转发到上传成功页面 +// request.getRequestDispatcher("/WEB-INF/admin/uploadFile.jsp").forward(request, response); +//// response.sendRedirect("fileUploadIndexServlet"); +// // 打印上传成功的消息 +// System.out.println(filename + "上传成功!!!"); +// +// } +// return; +// } +// +// } +// } catch (FileUploadException e) { +// e.printStackTrace(); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// } +// +// /** +// * 表示文件上传或下载过程中的信息类 +// */ +// // 定义一个ProcessInfo类,用于存储进程信息 +// class ProcessInfo{ +// // 总大小 +// public long totalSize = 1; +// // 已读大小 +// public long readSize = 0; +// // 显示信息 +// public String show = ""; +// // 项目数量 +// public int itemNum = 0; +// // 速率 +// public int rate = 0; +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request, response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/login/LogoutServlet.java b/src/web/servlet/login/LogoutServlet.java index 6dd439f..aa9df49 100644 --- a/src/web/servlet/login/LogoutServlet.java +++ b/src/web/servlet/login/LogoutServlet.java @@ -20,13 +20,21 @@ public class LogoutServlet extends HttpServlet { * @throws ServletException 如果处理请求时发生错误。 * @throws IOException 如果输入或输出异常发生。 */ + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为UTF-8 request.setCharacterEncoding("UTF-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 移除会话中的student属性 session.removeAttribute("student"); + // 移除会话中的teacher属性 session.removeAttribute("teacher"); + // 移除会话中的admin属性 session.removeAttribute("admin"); + // 使会话失效 session.invalidate(); + // 重定向到index.jsp页面 response.sendRedirect("index.jsp"); } diff --git a/src/web/servlet/login/RegisterServlet.java b/src/web/servlet/login/RegisterServlet.java index cd6c844..9c93829 100644 --- a/src/web/servlet/login/RegisterServlet.java +++ b/src/web/servlet/login/RegisterServlet.java @@ -24,32 +24,56 @@ public class RegisterServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取当前用户的会话 HttpSession session = request.getSession(); + // 获取用户输入的学生ID String studentid = request.getParameter("studentid"); + // 获取用户输入的密码 String password = request.getParameter("password"); + // 获取用户输入的确认密码 String repassword = request.getParameter("repassword"); + // 获取用户输入的验证码 String vcode = request.getParameter("verifycode"); + //从session中获取服务器生成的验证码 String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER"); - session.removeAttribute("CHECKCODE_SERVER");//确保验证一次性 + session.removeAttribute("CHECKCODE_SERVER"); + //确保验证一次性 + // 判断验证码是否正确 if (!vcode.equalsIgnoreCase(checkcode_server)){ + // 如果验证码错误,将错误信息、用户输入的信息存入request中 request.setAttribute("msg","验证码错误"); + // 将用户输入的学号存入request中 request.setAttribute("studentid",studentid); + // 将用户输入的密码存入request中 request.setAttribute("password",password); + // 将用户输入的确认密码存入request中 request.setAttribute("repassword",repassword); + // 将请求转发到register.jsp页面 request.getRequestDispatcher("register.jsp").forward(request,response); + // 返回 return; }else { Student student = new Student(); + // 设置学生id student.setS_id(studentid); + // 设置学生密码 student.setS_password(password); + // 打印学生id System.out.println(studentid); + // 打印学生密码 System.out.println(password); + // 创建学生服务对象 StudentService service= new StudentServiceImpl(); + // 调用注册方法 service.register(student); + // 设置注册成功信息 request.setAttribute("msg","注册成功"); + // 清空学生id request.setAttribute("studentid",""); + // 清空学生密码 request.setAttribute("password",""); + // 清空确认密码 request.setAttribute("repassword",""); + // 转发到注册页面 request.getRequestDispatcher("register.jsp").forward(request,response); } @@ -59,3 +83,88 @@ public class RegisterServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.login; +// +//import domain.Student; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.*; +//import java.io.IOException; +///** +// * 用户注册的Servlet +// */ +//@WebServlet("/registerServlet") +//public class RegisterServlet extends HttpServlet { +// /** +// * 处理POST请求,实现用户注册功能。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 获取当前用户的会话 +// HttpSession session = request.getSession(); +// // 获取用户输入的学生ID +// String studentid = request.getParameter("studentid"); +// // 获取用户输入的密码 +// String password = request.getParameter("password"); +// // 获取用户输入的确认密码 +// String repassword = request.getParameter("repassword"); +// // 获取用户输入的验证码 +// String vcode = request.getParameter("verifycode"); +// +// //从session中获取服务器生成的验证码 +// String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER"); +// session.removeAttribute("CHECKCODE_SERVER"); +// //确保验证一次性 +// // 判断验证码是否正确 +// if (!vcode.equalsIgnoreCase(checkcode_server)){ +// // 如果验证码错误,将错误信息、用户输入的信息存入request中 +// request.setAttribute("msg","验证码错误"); +// // 将用户输入的学号存入request中 +// request.setAttribute("studentid",studentid); +// // 将用户输入的密码存入request中 +// request.setAttribute("password",password); +// // 将用户输入的确认密码存入request中 +// request.setAttribute("repassword",repassword); +// // 将请求转发到register.jsp页面 +// request.getRequestDispatcher("register.jsp").forward(request,response); +// // 返回 +// return; +// }else { +// Student student = new Student(); +// // 设置学生id +// student.setS_id(studentid); +// // 设置学生密码 +// student.setS_password(password); +// // 打印学生id +// System.out.println(studentid); +// // 打印学生密码 +// System.out.println(password); +// // 创建学生服务对象 +// StudentService service= new StudentServiceImpl(); +// // 调用注册方法 +// service.register(student); +// // 设置注册成功信息 +// request.setAttribute("msg","注册成功"); +// // 清空学生id +// request.setAttribute("studentid",""); +// // 清空学生密码 +// request.setAttribute("password",""); +// // 清空确认密码 +// request.setAttribute("repassword",""); +// // 转发到注册页面 +// request.getRequestDispatcher("register.jsp").forward(request,response); +// +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/notify/AddNotifyServlet.java b/src/web/servlet/notify/AddNotifyServlet.java index 86d93c3..5b96379 100644 --- a/src/web/servlet/notify/AddNotifyServlet.java +++ b/src/web/servlet/notify/AddNotifyServlet.java @@ -37,3 +37,42 @@ public class AddNotifyServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.notify; +// +//import domain.Notify; +//import org.apache.commons.beanutils.BeanUtils; +//import service.NotifyService; +//import service.impl.NotifyServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.lang.reflect.InvocationTargetException; +//import java.text.SimpleDateFormat; +//import java.util.Date; +//import java.util.List; +//import java.util.Map; +// +//@WebServlet("/addNotifyServlet") +//public class AddNotifyServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.setCharacterEncoding("utf-8"); +// +// //获取参数- +// Notify notify = new Notify(); +// notify.setNotifyInfo((String) request.getParameter("notifyInfo")); +// Date d = new Date(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// notify.setNotifyDate(sdf.format(d)); +// NotifyService service = new NotifyServiceImpl(); +// service.addNotify(notify); +//// response.sendRedirect("/notifyListServlet"); +// request.getRequestDispatcher("/notifyListServlet").forward(request,response); +// } +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/notify/DeleteNotifyServlet.java b/src/web/servlet/notify/DeleteNotifyServlet.java index 9242efa..f8e818e 100644 --- a/src/web/servlet/notify/DeleteNotifyServlet.java +++ b/src/web/servlet/notify/DeleteNotifyServlet.java @@ -38,3 +38,43 @@ public class DeleteNotifyServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.notify; +// +//import domain.Student; +//import service.NotifyService; +//import service.impl.NotifyServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +///** +// * 删除通知的Servlet +// */ +//@WebServlet("/deleteNotifyServlet") +//public class DeleteNotifyServlet extends HttpServlet { +// /** +// * 处理POST请求,删除指定ID的通知。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求的字符编码为UTF-8,以支持中文字符的正确处理 +// request.setCharacterEncoding("utf-8"); +// HttpSession session = request.getSession(); +// String notifyid = request.getParameter("id"); +// NotifyService service = new NotifyServiceImpl(); +// service.deleteNotifyById(notifyid); +// request.getRequestDispatcher("/notifyListServlet").forward(request,response); +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/notify/NotifyListServlet.java b/src/web/servlet/notify/NotifyListServlet.java index 902096a..9995648 100644 --- a/src/web/servlet/notify/NotifyListServlet.java +++ b/src/web/servlet/notify/NotifyListServlet.java @@ -37,3 +37,42 @@ public class NotifyListServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.notify; +// +//import domain.Notify; +//import service.NotifyService; +//import service.impl.NotifyServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.util.List; +///** +// * 显示通知列表的Servlet +// */ +//@WebServlet("/notifyListServlet") +//public class NotifyListServlet extends HttpServlet { +// /** +// * 处理POST请求,获取所有通知并转发到通知列表页面。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求的字符编码为UTF-8,以支持中文字符的正确处理 +// request.setCharacterEncoding("utf-8"); +// // 创建通知服务的实例,以便获取通知数据 +// NotifyService service = new NotifyServiceImpl(); +// List notifys = service.findAll(); +// request.setAttribute("notifys",notifys); +// request.getRequestDispatcher("/WEB-INF/notify/notifyList.jsp").forward(request,response); +// } +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/notify/NotifyListToServlet.java b/src/web/servlet/notify/NotifyListToServlet.java index 8ed17fb..3ce9607 100644 --- a/src/web/servlet/notify/NotifyListToServlet.java +++ b/src/web/servlet/notify/NotifyListToServlet.java @@ -36,13 +36,19 @@ public class NotifyListToServlet extends HttpServlet { List notifys = service.findAll(); request.setAttribute("notifys",notifys); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取教师对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果会话中存在学生对象且不存在教师对象,则转发到学生通知列表页面 if (student != null && teacher == null) { request.getRequestDispatcher("/WEB-INF/notify/notifyListToStudent.jsp").forward(request,response); + // 如果会话中存在教师对象且不存在学生对象,则转发到教师通知列表页面 } else if (teacher != null && student == null) { request.getRequestDispatcher("/WEB-INF/notify/notifyListToTeacher.jsp").forward(request,response); + // 如果会话中既不存在学生对象也不存在教师对象,则转发到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -53,3 +59,64 @@ public class NotifyListToServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.notify; +// +//import domain.Admin; +//import domain.Notify; +//import domain.Student; +//import domain.Teacher; +//import service.NotifyService; +//import service.impl.NotifyServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.List; +///** +// * 转发到通知列表的Servlet +// */ +//@WebServlet("/notifyListToServlet") +//public class NotifyListToServlet extends HttpServlet { +// /** +// * 处理POST请求,获取所有通知并转发到通知列表页面。 +// * +// * @param request HTTP请求对象,包含客户端发送的数据。 +// * @param response HTTP响应对象,用于生成返回给客户端的响应。 +// * @throws ServletException 如果处理请求时发生错误。 +// * @throws IOException 如果输入或输出异常发生。 +// */ +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求的字符编码为UTF-8,以支持中文字符的正确处理 +// request.setCharacterEncoding("utf-8"); +// // 创建通知服务的实例,以便获取通知数据 +// NotifyService service = new NotifyServiceImpl(); +// List notifys = service.findAll(); +// request.setAttribute("notifys",notifys); +// +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取学生对象 +// Student student= (Student)session.getAttribute("student"); +// // 从会话中获取教师对象 +// Teacher teacher= (Teacher)session.getAttribute("teacher"); +// // 如果会话中存在学生对象且不存在教师对象,则转发到学生通知列表页面 +// if (student != null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/notify/notifyListToStudent.jsp").forward(request,response); +// // 如果会话中存在教师对象且不存在学生对象,则转发到教师通知列表页面 +// } else if (teacher != null && student == null) { +// request.getRequestDispatcher("/WEB-INF/notify/notifyListToTeacher.jsp").forward(request,response); +// // 如果会话中既不存在学生对象也不存在教师对象,则转发到错误页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/notify/NotifyServlet.java b/src/web/servlet/notify/NotifyServlet.java index 0c6d904..4e9fea8 100644 --- a/src/web/servlet/notify/NotifyServlet.java +++ b/src/web/servlet/notify/NotifyServlet.java @@ -22,3 +22,27 @@ public class NotifyServlet extends HttpServlet { doPost(request, response); } } +//package web.servlet.notify; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +// +//@WebServlet("/notifyServlet") +//public class NotifyServlet extends HttpServlet { +// +// // 处理POST请求的方法 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 将请求转发到指定的JSP页面 +// request.getRequestDispatcher("/WEB-INF/notify/addNotify.jsp").forward(request, response); +// } +// +// // 处理GET请求的方法 +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 将GET请求转发到doPost方法进行处理 +// doPost(request, response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/page/FindStudentByPageServlet.java b/src/web/servlet/page/FindStudentByPageServlet.java index 3d80aeb..fdbac74 100644 --- a/src/web/servlet/page/FindStudentByPageServlet.java +++ b/src/web/servlet/page/FindStudentByPageServlet.java @@ -35,23 +35,36 @@ public class FindStudentByPageServlet extends HttpServlet { //获取条件查询参数- Map condition = request.getParameterMap(); + //创建StudentService对象 StudentService service = new StudentServiceImpl(); + //调用findStudentByPage方法,传入当前页码、每页显示的行数和查询条件,返回PageBean对象 PageBean pb = service.findStudentByPage(currentPage,rows,condition); + //将PageBean对象存入request域中 request.setAttribute("pb",pb); + //将查询条件存入request域中 request.setAttribute("condition",condition);//存入查询条件- + //设置request的字符编码为utf-8 request.setCharacterEncoding("utf-8"); + //获取session对象 HttpSession session = request.getSession(); + //从session中获取Student对象 Student student= (Student)session.getAttribute("student"); + // 从session中获取admin对象 Admin admin= (Admin)session.getAttribute("admin"); + // 从session中获取teacher对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果student对象不为空,admin对象为空,teacher对象为空,则跳转到student的查找学生列表页面 if (student != null && admin == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/student/sFindStudentList.jsp").forward(request, response); + // 如果admin对象不为空,student对象为空,teacher对象为空,则跳转到admin的查找学生列表页面 } else if (admin != null && student == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/admin/aFindStudentList.jsp").forward(request, response); + // 如果teacher对象不为空,admin对象为空,student对象为空,则跳转到teacher的查找学生列表页面 } else if (teacher != null && admin == null && student == null) { request.getRequestDispatcher("/WEB-INF/teacher/tFindStudentList.jsp").forward(request, response); + // 否则跳转到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -61,3 +74,79 @@ public class FindStudentByPageServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.page; +// +//import domain.Admin; +//import domain.PageBean; +//import domain.Student; +//import domain.Teacher; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.Map; +// +//@WebServlet("/findStudentByPageServlet") +//public class FindStudentByPageServlet extends HttpServlet { +// // 处理POST请求的方法- +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求的字符编码为UTF-8,以支持中文字符- +// request.setCharacterEncoding("utf-8"); +// String currentPage = request.getParameter("currentPage");//当前页码 +// String rows = request.getParameter("rows");//每页显示条数 +// +// if (currentPage == null || "".equals(currentPage)) { +// currentPage = "1"; +// } +// if (rows == null || "".equals(rows)) { +// rows = "5"; +// } +// +// //获取条件查询参数- +// Map condition = request.getParameterMap(); +// +// //创建StudentService对象 +// StudentService service = new StudentServiceImpl(); +// //调用findStudentByPage方法,传入当前页码、每页显示的行数和查询条件,返回PageBean对象 +// PageBean pb = service.findStudentByPage(currentPage,rows,condition); +// +// //将PageBean对象存入request域中 +// request.setAttribute("pb",pb); +// //将查询条件存入request域中 +// request.setAttribute("condition",condition);//存入查询条件- +// //设置request的字符编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// //获取session对象 +// HttpSession session = request.getSession(); +// //从session中获取Student对象 +// Student student= (Student)session.getAttribute("student"); +// +// // 从session中获取admin对象 +// Admin admin= (Admin)session.getAttribute("admin"); +// // 从session中获取teacher对象 +// Teacher teacher= (Teacher)session.getAttribute("teacher"); +// // 如果student对象不为空,admin对象为空,teacher对象为空,则跳转到student的查找学生列表页面 +// if (student != null && admin == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/student/sFindStudentList.jsp").forward(request, response); +// // 如果admin对象不为空,student对象为空,teacher对象为空,则跳转到admin的查找学生列表页面 +// } else if (admin != null && student == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/admin/aFindStudentList.jsp").forward(request, response); +// // 如果teacher对象不为空,admin对象为空,student对象为空,则跳转到teacher的查找学生列表页面 +// } else if (teacher != null && admin == null && student == null) { +// request.getRequestDispatcher("/WEB-INF/teacher/tFindStudentList.jsp").forward(request, response); +// // 否则跳转到错误页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/DeleteSelectStudentServlet.java b/src/web/servlet/student/DeleteSelectStudentServlet.java index 7679d0c..69776be 100644 --- a/src/web/servlet/student/DeleteSelectStudentServlet.java +++ b/src/web/servlet/student/DeleteSelectStudentServlet.java @@ -34,3 +34,39 @@ public class DeleteSelectStudentServlet extends HttpServlet { doPost(request, response); } } +//package web.servlet.student; +// +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +// +//@WebServlet("/deleteSelectStudentServlet") +//// 删除选定学生的Servlet +//public class DeleteSelectStudentServlet extends HttpServlet { +// +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 获取选定学生的ID数组 +// String[] sids = request.getParameterValues("sid"); +// +// // 创建学生服务的实例 +// StudentService service = new StudentServiceImpl(); +// +// // 调用服务方法删除选定的学生 +// service.deleteSelectStudent(sids); +// +// // 重定向到查找学生的页面 +// response.sendRedirect(request.getContextPath() + "/findStudentByPageServlet"); +// } +// +// // 处理GET请求,直接调用doPost方法 +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request, response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/DeleteStudentServlet.java b/src/web/servlet/student/DeleteStudentServlet.java index 22c4011..dfac786 100644 --- a/src/web/servlet/student/DeleteStudentServlet.java +++ b/src/web/servlet/student/DeleteStudentServlet.java @@ -45,3 +45,50 @@ public class DeleteStudentServlet extends HttpServlet { doPost(request, response); } } +//package web.servlet.student; +// +//import service.NotifyService; +//import service.StudentService; +//import service.impl.NotifyServiceImpl; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +// +//@WebServlet("/deleteStudentServlet") +//// 删除学生的Servlet +//public class DeleteStudentServlet extends HttpServlet { +// +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求的字符编码为UTF-8 +// request.setCharacterEncoding("utf-8"); +// +// // 获取当前会话 +// HttpSession session = request.getSession(); +// +// // 获取要删除的学生ID +// String studentid = request.getParameter("s_id"); +// +// // 创建学生服务的实例 +// StudentService service = new StudentServiceImpl(); +// +// // 调用服务方法通过学生ID删除学生 +// service.deleteStudentById(studentid); +// +// // 重定向到查找学生的页面 +// response.sendRedirect("findStudentByPageServlet"); +// // 如果需要使用转发,可以使用下面的代码 +// // request.getRequestDispatcher("/findStudentByPageServlet").forward(request, response); +// } +// +// // 处理GET请求,直接调用doPost方法 +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request, response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/DoSelectCourseServlet.java b/src/web/servlet/student/DoSelectCourseServlet.java index e68505b..3f93251 100644 --- a/src/web/servlet/student/DoSelectCourseServlet.java +++ b/src/web/servlet/student/DoSelectCourseServlet.java @@ -71,3 +71,76 @@ public class DoSelectCourseServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.student; +// +//import domain.Course; +//import domain.SelectCourse; +//import domain.Student; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.Date; +//import java.util.List; +// +//@WebServlet("/doSelectCourseServlet") +//public class DoSelectCourseServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// request.setCharacterEncoding("utf-8"); +// HttpSession session = request.getSession(); +// Student student= (Student)session.getAttribute("student"); +// String courseid = request.getParameter("id"); +// //存不存在已选该课 +// //1 +// //2 +// //3 +// //4 +// //5 +// //6 +// //7 +// //8 +// //9 +// //0 +// boolean flag = false; +// +// //判断是否已选 +// StudentService studentService = new StudentServiceImpl(); +// List selectcourses = studentService.findAllSelectCourse(student.getS_id()); +// for (SelectCourse s:selectcourses) { +// if (s.getC_id().equals(courseid)) { +// flag = true; +// break; +// } +// } +// if (flag == true) { +// +// request.setAttribute("select_msg", "你已选了该课程!" + String.format("%tT", new Date())); +// request.getRequestDispatcher("studentOptionalCourseServlet").forward(request, response); +//// response.sendRedirect("studentOptionalCourseServlet"); +// } else { +// //获取到当前学生id +// String studentid = student.getS_id(); +// +// //获取当前行的课程id courseid +// +// //调用学生添加选课服务s_id c_id score select_course添加 +// StudentService Service = new StudentServiceImpl(); +// Service.addSelectCourse(studentid,courseid); +// +// //完成后给提示跳转 +// request.setAttribute("select_msg", "选课成功!" + String.format("%tT", new Date())); +// request.getRequestDispatcher("studentOptionalCourseServlet").forward(request, response); +// } +// +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/StudentInfomationUpdateServlet.java b/src/web/servlet/student/StudentInfomationUpdateServlet.java index 44e3b82..5ed7781 100644 --- a/src/web/servlet/student/StudentInfomationUpdateServlet.java +++ b/src/web/servlet/student/StudentInfomationUpdateServlet.java @@ -21,15 +21,25 @@ public class StudentInfomationUpdateServlet extends HttpServlet { request.setCharacterEncoding("utf-8"); //保存输入内容- + // 获取学生ID String sid = request.getParameter("student-id"); + // 获取学生姓名 String name = request.getParameter("student-name"); + // 获取学生性别 String sex = request.getParameter("student-sex"); + // 获取学生年龄 String age = request.getParameter("student-age"); + // 获取学生电话 String phone = request.getParameter("student-phone"); + // 获取学生邮箱 String email = request.getParameter("student-email"); + // 获取学生地址 String address = request.getParameter("student-address"); + // 获取学生所在学院 String college = request.getParameter("selectCollege"); + // 获取学生所在系 String department = request.getParameter("selectDepartment"); + // 获取学生所在班级 String cclass = request.getParameter("selectClass"); //String sid = request.getParameter("student-id"); // String name = request.getParameter("student-name"); @@ -53,15 +63,25 @@ public class StudentInfomationUpdateServlet extends HttpServlet { // response.sendRedirect("studentInfomationServlet"); }else { //封装学生对象- + // 设置学生ID updateStudent.setS_id(sid); + // 设置学生姓名 updateStudent.setS_name(name); + // 设置学生性别 updateStudent.setS_sex(sex); + // 设置学生年龄 updateStudent.setS_age(age); + // 设置学生电话 updateStudent.setS_phone(phone); + // 设置学生邮箱 updateStudent.setS_email(email); + // 设置学生地址 updateStudent.setS_address(address); + // 设置学生学院 updateStudent.setS_college(college); + // 设置学生系别 updateStudent.setS_department(department); + // 设置学生班级 updateStudent.setS_class(cclass); //updateStudent.setS_id(sid); // updateStudent.setS_name(name); @@ -94,3 +114,119 @@ public class StudentInfomationUpdateServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.student; +// +//import domain.Student; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.text.SimpleDateFormat; +//import java.util.Date; +// +//@WebServlet("/studentInfomationUpdateServlet") +//public class StudentInfomationUpdateServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// +// request.setCharacterEncoding("utf-8"); +// +// //保存输入内容- +// // 获取学生ID +// String sid = request.getParameter("student-id"); +// // 获取学生姓名 +// String name = request.getParameter("student-name"); +// // 获取学生性别 +// String sex = request.getParameter("student-sex"); +// // 获取学生年龄 +// String age = request.getParameter("student-age"); +// // 获取学生电话 +// String phone = request.getParameter("student-phone"); +// // 获取学生邮箱 +// String email = request.getParameter("student-email"); +// // 获取学生地址 +// String address = request.getParameter("student-address"); +// // 获取学生所在学院 +// String college = request.getParameter("selectCollege"); +// // 获取学生所在系 +// String department = request.getParameter("selectDepartment"); +// // 获取学生所在班级 +// String cclass = request.getParameter("selectClass"); +// //String sid = request.getParameter("student-id"); +// // String name = request.getParameter("student-name"); +// // String sex = request.getParameter("student-sex"); +// // String age = request.getParameter("student-age"); +// // String phone = request.getParameter("student-phone"); +// // String email = request.getParameter("student-email"); +// // String address = request.getParameter("student-address"); +// // String college = request.getParameter("selectCollege"); +// // String department = request.getParameter("selectDepartment"); +// // String cclass = request.getParameter("selectClass"); +// +// Student updateStudent = new Student(); +// +// +// //判断输入位数是否大于数据库位数- +// if (name.length() > 4 || phone.length() > 11 || email.length()>24 || address.length() > 24 || age.length()>2 || name.contains("<") || phone.contains("<") || email.contains("<") || address.contains("<") || age.contains("<")) { +// request.setAttribute("update_msg","格式错误,请重新提交!"+String.format("%tT",new Date())); +// +// request.getRequestDispatcher("/WEB-INF/student/sInformation.jsp").forward(request, response); +//// response.sendRedirect("studentInfomationServlet"); +// }else { +// //封装学生对象- +// // 设置学生ID +// updateStudent.setS_id(sid); +// // 设置学生姓名 +// updateStudent.setS_name(name); +// // 设置学生性别 +// updateStudent.setS_sex(sex); +// // 设置学生年龄 +// updateStudent.setS_age(age); +// // 设置学生电话 +// updateStudent.setS_phone(phone); +// // 设置学生邮箱 +// updateStudent.setS_email(email); +// // 设置学生地址 +// updateStudent.setS_address(address); +// // 设置学生学院 +// updateStudent.setS_college(college); +// // 设置学生系别 +// updateStudent.setS_department(department); +// // 设置学生班级 +// updateStudent.setS_class(cclass); +// //updateStudent.setS_id(sid); +// // updateStudent.setS_name(name); +// // updateStudent.setS_sex(sex); +// // updateStudent.setS_age(age); +// // updateStudent.setS_phone(phone); +// // updateStudent.setS_email(email); +// // updateStudent.setS_address(address); +// // updateStudent.setS_college(college); +// // updateStudent.setS_department(department); +// // updateStudent.setS_class(cclass); +// +// //调用studentUpdata服务- +// StudentService service= new StudentServiceImpl(); +// service.updateInfo(updateStudent); +// +// HttpSession session = request.getSession(); +// +// Student s = service.findStudentById(updateStudent); +// session.setAttribute("student",s); +// +// //成功则返回并给提示- +// request.setAttribute("update_msg", "修改成功!"+String.format("%tT",new Date())); +// request.setAttribute("student",updateStudent); +// request.getRequestDispatcher("/WEB-INF/student/sInformation.jsp").forward(request, response); +// } +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/StudentListServlet.java b/src/web/servlet/student/StudentListServlet.java index 03dfffa..9bd21d1 100644 --- a/src/web/servlet/student/StudentListServlet.java +++ b/src/web/servlet/student/StudentListServlet.java @@ -26,16 +26,24 @@ public class StudentListServlet extends HttpServlet { request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取管理员对象 Admin admin= (Admin)session.getAttribute("admin"); + // 从会话中获取教师对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生列表页面 if (student != null && admin == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/student/studentList.jsp").forward(request, response); + // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员查找学生列表页面 } else if (admin != null && student == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/admin/aFindStudentList.jsp").forward(request, response); + // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师查找学生列表页面 } else if (teacher != null && admin == null && student == null) { request.getRequestDispatcher("/WEB-INF/teacher/tFindStudentList.jsp").forward(request, response); + // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -58,3 +66,71 @@ public class StudentListServlet extends HttpServlet { this.doPost(request,response); } } +//package web.servlet.student; +// +//import domain.Admin; +//import domain.Student; +//import domain.Teacher; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.List; +// +//@WebServlet("/studentListServlet") +//public class StudentListServlet extends HttpServlet { +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// //调用StudentService完成查询- +// StudentService studentService = new StudentServiceImpl(); +// List students = studentService.findAll(); +// //将list存入request域- +// request.setAttribute("students",students); +// +// request.setCharacterEncoding("utf-8"); +// +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取学生对象 +// Student student= (Student)session.getAttribute("student"); +// // 从会话中获取管理员对象 +// Admin admin= (Admin)session.getAttribute("admin"); +// // 从会话中获取教师对象 +// Teacher teacher= (Teacher)session.getAttribute("teacher"); +// // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生列表页面 +// if (student != null && admin == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/student/studentList.jsp").forward(request, response); +// // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员查找学生列表页面 +// } else if (admin != null && student == null && teacher == null) { +// request.getRequestDispatcher("/WEB-INF/admin/aFindStudentList.jsp").forward(request, response); +// // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师查找学生列表页面 +// } else if (teacher != null && admin == null && student == null) { +// request.getRequestDispatcher("/WEB-INF/teacher/tFindStudentList.jsp").forward(request, response); +// // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// } +// // HttpSession session = request.getSession(); +// // Student student= (Student)session.getAttribute("student"); +// // Admin admin= (Admin)session.getAttribute("admin"); +// // Teacher teacher= (Teacher)session.getAttribute("teacher"); +// // if (student != null && admin == null && teacher == null) { +// // request.getRequestDispatcher("/WEB-INF/student/studentList.jsp").forward(request, response); +// // } else if (admin != null && student == null && teacher == null) { +// // request.getRequestDispatcher("/WEB-INF/admin/aFindStudentList.jsp").forward(request, response); +// // } else if (teacher != null && admin == null && student == null) { +// // request.getRequestDispatcher("/WEB-INF/teacher/tFindStudentList.jsp").forward(request, response); +// // } else { +// // request.getRequestDispatcher("error.jsp").forward(request, response); +// // } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// this.doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/StudentOptionalCourseServlet.java b/src/web/servlet/student/StudentOptionalCourseServlet.java index f71c8d8..b73c793 100644 --- a/src/web/servlet/student/StudentOptionalCourseServlet.java +++ b/src/web/servlet/student/StudentOptionalCourseServlet.java @@ -18,10 +18,15 @@ import java.util.List; @WebServlet("/studentOptionalCourseServlet") public class StudentOptionalCourseServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取管理员对象 Admin admin =(Admin)session.getAttribute("admin"); //调用StudentService完成查询- @@ -31,10 +36,13 @@ public class StudentOptionalCourseServlet extends HttpServlet { request.setAttribute("optionalcourses",optionalcourses); //转发到list.jsp- + // 如果student不为空且admin为空,则跳转到studentOptionalCourse.jsp页面 if (student != null && admin == null) { request.getRequestDispatcher("/WEB-INF/student/studentOptionalCourse.jsp").forward(request,response); + // 如果admin不为空且student为空,则跳转到allStudentOptionalCourse.jsp页面 } else if (admin != null && student == null) { request.getRequestDispatcher("/WEB-INF/admin/allStudentOptionalCourse.jsp").forward(request, response); + // 否则跳转到error.jsp页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } @@ -52,3 +60,65 @@ public class StudentOptionalCourseServlet extends HttpServlet { this.doPost(request,response); } } +//package web.servlet.student; +// +//import domain.Admin; +//import domain.Course; +//import domain.SelectCourse; +//import domain.Student; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.List; +// +//@WebServlet("/studentOptionalCourseServlet") +//public class StudentOptionalCourseServlet extends HttpServlet { +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取学生对象 +// Student student= (Student)session.getAttribute("student"); +// // 从会话中获取管理员对象 +// Admin admin =(Admin)session.getAttribute("admin"); +// +// //调用StudentService完成查询- +// StudentService studentService = new StudentServiceImpl(); +// List optionalcourses = studentService.findAllOptionalCourse(); +// //将list存入request域- +// request.setAttribute("optionalcourses",optionalcourses); +// //转发到list.jsp- +// +// // 如果student不为空且admin为空,则跳转到studentOptionalCourse.jsp页面 +// if (student != null && admin == null) { +// request.getRequestDispatcher("/WEB-INF/student/studentOptionalCourse.jsp").forward(request,response); +// // 如果admin不为空且student为空,则跳转到allStudentOptionalCourse.jsp页面 +// } else if (admin != null && student == null) { +// request.getRequestDispatcher("/WEB-INF/admin/allStudentOptionalCourse.jsp").forward(request, response); +// // 否则跳转到error.jsp页面 +// } else { +// request.getRequestDispatcher("error.jsp").forward(request, response); +// } +// //if (student != null && admin == null) { +// // request.getRequestDispatcher("/WEB-INF/student/studentOptionalCourse.jsp").forward(request,response); +// // } else if (admin != null && student == null) { +// // request.getRequestDispatcher("/WEB-INF/admin/allStudentOptionalCourse.jsp").forward(request, response); +// // } else { +// // request.getRequestDispatcher("error.jsp").forward(request, response); +// // } +// +// } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// this.doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/StudentPasswordUpdateServlet.java b/src/web/servlet/student/StudentPasswordUpdateServlet.java index 5c6fac5..6d5990d 100644 --- a/src/web/servlet/student/StudentPasswordUpdateServlet.java +++ b/src/web/servlet/student/StudentPasswordUpdateServlet.java @@ -19,30 +19,46 @@ public class StudentPasswordUpdateServlet extends HttpServlet { // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置请求的字符编码为UTF-8,以支持中文 + // 设置请求的字符编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 获取学生id String studentid = student.getS_id(); + // 获取新密码 String newpassword = request.getParameter("student-newpassword"); + // 获取确认新密码 String ennewpassword = request.getParameter("student-ennewpassword"); + // 定义正则表达式,匹配3-12位字母、数字、下划线 String regex = "^[\\w]{3,12}$"; + // 判断新密码是否符合正则表达式 + // 判断新密码是否符合正则表达式 boolean flag = newpassword.matches(regex); + // 如果不符合,则设置错误信息,并跳转到修改密码页面 if (!flag) { request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date())); request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); + // 如果新密码和确认密码不一致,则设置错误信息,并跳转到修改密码页面 } else if (!newpassword.equals(ennewpassword)) { request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date())); request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); + // 如果新密码和确认密码一致,则调用服务层更新密码 } else { StudentService service= new StudentServiceImpl(); service.updatePassword(studentid,newpassword); + // 根据学号查询学生信息 Student newStudent = service.findStudentById(student); + // 更新学生信息 student = newStudent; + // 将学生信息存入session session.setAttribute("student",student); + // 设置成功信息,并跳转到修改密码页面 request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date())); request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); } @@ -82,3 +98,103 @@ public class StudentPasswordUpdateServlet extends HttpServlet { doPost(request,response); } } +//package web.servlet.student; +// +//import domain.Student; +//import service.StudentService; +//import service.impl.StudentServiceImpl; +// +//import javax.servlet.ServletException; +//import javax.servlet.annotation.WebServlet; +//import javax.servlet.http.HttpServlet; +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import javax.servlet.http.HttpSession; +//import java.io.IOException; +//import java.util.Date; +// +//@WebServlet("/studentPasswordUpdateServlet") +//// 学生密码更新Servlet +//public class StudentPasswordUpdateServlet extends HttpServlet { +// // 处理POST请求 +// protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// // 设置请求的字符编码为UTF-8,以支持中文 +// // 设置请求的字符编码为utf-8 +// request.setCharacterEncoding("utf-8"); +// // 获取当前会话 +// HttpSession session = request.getSession(); +// // 从会话中获取学生对象 +// Student student= (Student)session.getAttribute("student"); +// +// // 获取学生id +// String studentid = student.getS_id(); +// // 获取新密码 +// String newpassword = request.getParameter("student-newpassword"); +// // 获取确认新密码 +// String ennewpassword = request.getParameter("student-ennewpassword"); +// // 定义正则表达式,匹配3-12位字母、数字、下划线 +// String regex = "^[\\w]{3,12}$"; +// // 判断新密码是否符合正则表达式 +// // 判断新密码是否符合正则表达式 +// boolean flag = newpassword.matches(regex); +// // 如果不符合,则设置错误信息,并跳转到修改密码页面 +// if (!flag) { +// request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date())); +// request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); +// // 如果新密码和确认密码不一致,则设置错误信息,并跳转到修改密码页面 +// } else if (!newpassword.equals(ennewpassword)) { +// request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date())); +// request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); +// // 如果新密码和确认密码一致,则调用服务层更新密码 +// } else { +// +// StudentService service= new StudentServiceImpl(); +// service.updatePassword(studentid,newpassword); +// +// // 根据学号查询学生信息 +// Student newStudent = service.findStudentById(student); +// // 更新学生信息 +// student = newStudent; +// // 将学生信息存入session +// session.setAttribute("student",student); +// +// // 设置成功信息,并跳转到修改密码页面 +// request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date())); +// request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); +// } +// +// } +// // request.setCharacterEncoding("utf-8"); +// // HttpSession session = request.getSession(); +// // Student student= (Student)session.getAttribute("student"); +// // +// // String studentid = student.getS_id(); +// // String newpassword = request.getParameter("student-newpassword"); +// // String ennewpassword = request.getParameter("student-ennewpassword"); +// // String regex = "^[\\w]{3,12}$"; +// // boolean flag = newpassword.matches(regex); +// // if (!flag) { +// // request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date())); +// // request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); +// // } else if (!newpassword.equals(ennewpassword)) { +// // request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date())); +// // request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); +// // } else { +// // +// // StudentService service= new StudentServiceImpl(); +// // service.updatePassword(studentid,newpassword); +// // +// // Student newStudent = service.findStudentById(student); +// // student = newStudent; +// // session.setAttribute("student",student); +// // +// // request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date())); +// // request.getRequestDispatcher("/WEB-INF/student/studentUpdatePassword.jsp").forward(request, response); +// // } +// // +// // } +// +// protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { +// doPost(request,response); +// } +//} \ No newline at end of file diff --git a/src/web/servlet/student/StudentSelectCourseListServlet.java b/src/web/servlet/student/StudentSelectCourseListServlet.java index c48cc88..9ec56ca 100644 --- a/src/web/servlet/student/StudentSelectCourseListServlet.java +++ b/src/web/servlet/student/StudentSelectCourseListServlet.java @@ -18,11 +18,16 @@ import java.util.List; @WebServlet("/studentSelectCourseListServlet") public class StudentSelectCourseListServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取管理员对象 Admin admin =(Admin)session.getAttribute("admin"); //调用StudentService完成查询- @@ -32,12 +37,15 @@ public class StudentSelectCourseListServlet extends HttpServlet { //将list存入request域- request.setAttribute("selectcourses",selectcourses); //转发到list.jsp- + // 如果学生不为空,则跳转到学生选课列表页面 request.getRequestDispatcher("/WEB-INF/student/studentSelectCourseList.jsp").forward(request,response); } else if (admin != null && student == null) { + // 如果管理员不为空,学生为空,则查询所有学生的选课列表,并跳转到管理员查看所有学生选课列表页面 List selectcourses = studentService.findSelectCourseAllStudent(); request.setAttribute("selectcourses", selectcourses); request.getRequestDispatcher("/WEB-INF/admin/allStudentSelectCourseList.jsp").forward(request, response); } else { + // 否则,跳转到错误页面 request.getRequestDispatcher("error.jsp").forward(request, response); } diff --git a/src/web/servlet/teacher/AddOptionalCourseServlet.java b/src/web/servlet/teacher/AddOptionalCourseServlet.java index b9d730e..0caaa69 100644 --- a/src/web/servlet/teacher/AddOptionalCourseServlet.java +++ b/src/web/servlet/teacher/AddOptionalCourseServlet.java @@ -33,15 +33,24 @@ public class AddOptionalCourseServlet extends HttpServlet { CourseService service = new CourseServiceImpl(); Course course = service.findSelectCourseByCourseId(cid); + // 判断课程是否为空 if (course != null) { + // 设置请求属性,提示课程ID冲突 request.setAttribute("update_msg","课程ID冲突,请重新添加!"+String.format("%tT",new Date())); + // 转发到添加可选课程页面 request.getRequestDispatcher("/WEB-INF/teacher/addOptionalCourse.jsp").forward(request,response); }else { + // 创建新的课程对象 Course newCourse = new Course(); + // 设置课程ID newCourse.setC_id(cid); + // 设置课程名称 newCourse.setC_name(cname); + // 设置课程信息 newCourse.setC_info(cinfo); + // 设置教师ID newCourse.setT_id(teacher.getT_id()); + // 设置教师名称 newCourse.setT_name(teacher.getT_name()); service.addOptionalCourse(newCourse); diff --git a/src/web/servlet/teacher/TeacherListServlet.java b/src/web/servlet/teacher/TeacherListServlet.java index e306050..df6a70c 100644 --- a/src/web/servlet/teacher/TeacherListServlet.java +++ b/src/web/servlet/teacher/TeacherListServlet.java @@ -26,17 +26,26 @@ public class TeacherListServlet extends HttpServlet { //将list存入request域- request.setAttribute("teachers",teachers); + // 设置请求的字符编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取学生对象 Student student= (Student)session.getAttribute("student"); + // 从会话中获取管理员对象 Admin admin= (Admin)session.getAttribute("admin"); + // 从会话中获取教师对象 Teacher teacher= (Teacher)session.getAttribute("teacher"); + // 如果会话中存在学生对象,且不存在管理员对象和教师对象,则跳转到学生查找教师列表页面 if (student != null && admin == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/student/sFindTeacherList.jsp").forward(request, response); + // 如果会话中存在管理员对象,且不存在学生对象和教师对象,则跳转到管理员查找教师列表页面 } else if (admin != null && student == null && teacher == null) { request.getRequestDispatcher("/WEB-INF/admin/aFindTeacherList.jsp").forward(request, response); + // 如果会话中存在教师对象,且不存在学生对象和管理员对象,则跳转到教师查找教师列表页面 } else if (teacher != null && admin == null && student == null) { request.getRequestDispatcher("/WEB-INF/teacher/tFindTeacherList.jsp").forward(request, response); + // 如果会话中不存在学生对象、管理员对象和教师对象,则跳转到错误页面 } else { request.getRequestDispatcher("error.jsp").forward(request, response); } diff --git a/src/web/servlet/teacher/TeacherOptionalCourseServlet.java b/src/web/servlet/teacher/TeacherOptionalCourseServlet.java index a4b323f..493c001 100644 --- a/src/web/servlet/teacher/TeacherOptionalCourseServlet.java +++ b/src/web/servlet/teacher/TeacherOptionalCourseServlet.java @@ -19,10 +19,15 @@ import java.util.List; @WebServlet("/teacherOptionalCourseServlet") public class TeacherOptionalCourseServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取教师对象 Teacher t = (Teacher) session.getAttribute("teacher"); + // 如果教师对象不为空 if (t != null) { //调用StudentService完成查询- TeacherService service = new TeacherServiceImpl(); diff --git a/src/web/servlet/teacher/TeacherPasswordUpdateServlet.java b/src/web/servlet/teacher/TeacherPasswordUpdateServlet.java index 6da82ef..489e433 100644 --- a/src/web/servlet/teacher/TeacherPasswordUpdateServlet.java +++ b/src/web/servlet/teacher/TeacherPasswordUpdateServlet.java @@ -20,32 +20,54 @@ import java.util.Date; public class TeacherPasswordUpdateServlet extends HttpServlet { //2 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 从会话中获取教师对象 Teacher teacher = (Teacher)session.getAttribute("teacher"); + // 获取教师ID String teacherid = teacher.getT_id(); //3 + // 获取新密码 String newpassword = request.getParameter("teacher-newpassword"); + // 获取确认新密码 String ennewpassword = request.getParameter("teacher-ennewpassword"); + // 定义密码格式正则表达式 String regex = "^[\\w]{3,12}$"; + // 判断新密码是否符合格式 boolean flag = newpassword.matches(regex); + // 如果新密码不符合格式 if (!flag) { + // 设置错误信息 request.setAttribute("update_msg", "密码格式错误,重新提交!"+String.format("%tT",new Date())); + // 转发到修改密码页面 request.getRequestDispatcher("/WEB-INF/teacher/teacherUpdatePassword.jsp").forward(request, response); + // 如果新密码和确认新密码不一致 } else if (!newpassword.equals(ennewpassword)) { + // 设置错误信息 request.setAttribute("update_msg", "密码确认错误,请重新提交!" + String.format("%tT", new Date())); + // 转发到修改密码页面 request.getRequestDispatcher("/WEB-INF/teacher/teacherUpdatePassword.jsp").forward(request, response); + // 如果新密码和确认新密码一致 } else { + // 创建TeacherService对象 TeacherService service= new TeacherServiceImpl(); + // 调用updatePassword方法,更新密码 service.updatePassword(teacherid,newpassword); + // 根据teacherid查找新的Teacher对象 Teacher newTeacher = service.findTeacherById(teacher); + // 将新的Teacher对象赋值给teacher teacher = newTeacher; + // 将teacher对象存入session中 session.setAttribute("teacher",teacher); + // 设置update_msg属性,提示修改成功 request.setAttribute("update_msg", "修改成功!" + String.format("%tT", new Date())); + // 转发到teacherUpdatePassword.jsp页面 request.getRequestDispatcher("/WEB-INF/teacher/teacherUpdatePassword.jsp").forward(request, response); } diff --git a/src/web/servlet/teacher/UpdateOptionalCourseScoreServlet.java b/src/web/servlet/teacher/UpdateOptionalCourseScoreServlet.java index 9dfe576..6205248 100644 --- a/src/web/servlet/teacher/UpdateOptionalCourseScoreServlet.java +++ b/src/web/servlet/teacher/UpdateOptionalCourseScoreServlet.java @@ -25,30 +25,44 @@ import java.util.Date; //啊 public class UpdateOptionalCourseScoreServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取请求参数 String cid = request.getParameter("cid"); //咦 String sid = request.getParameter("sid"); String sScore = request.getParameter("student-score"); + // 创建学生服务对象 StudentService service = new StudentServiceImpl(); + // 创建课程服务对象 CourseService service1 = new CourseServiceImpl(); + // 创建选课服务对象 SelectCourseService service2 = new SelectCourseServiceImpl(); + // 根据课程id和学生id更新学生成绩 service2.upDateScoreByCidAndSid(cid,sid,sScore); + //创建一个Student对象 Student student = new Student(); + //设置Student对象的id student.setS_id(sid); + //根据Student对象的id查找学生信息 Student s = service.findStudentById(student); + //根据课程id查找选课信息 Course c = service1.findSelectCourseByCourseId(cid); + //根据课程id和学生id查找成绩信息 SelectCourse sc = service2.findScoreByCourseIdAndStudentId(cid,sid); //什么 + //将学生信息、选课信息和成绩信息存入request对象中 request.setAttribute("s",s); request.setAttribute("c",c); request.setAttribute("sc",sc); + //设置修改分数成功的提示信息 request.setAttribute("update_msg","修改分数成功!"+String.format("%tT",new Date())); + //转发到updateOptionalCourseScore.jsp页面 request.getRequestDispatcher("/WEB-INF/teacher/updateOptionalCourseScore.jsp").forward(request,response); } diff --git a/src/web/servlet/teacher/UpdateScoreServlet.java b/src/web/servlet/teacher/UpdateScoreServlet.java index db0f7c6..ea0f0c5 100644 --- a/src/web/servlet/teacher/UpdateScoreServlet.java +++ b/src/web/servlet/teacher/UpdateScoreServlet.java @@ -22,24 +22,38 @@ import java.io.IOException; public class UpdateScoreServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //中文 + // 设置请求的字符编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取请求参数cid String cid = request.getParameter("cid"); + // 获取请求参数sid String sid = request.getParameter("sid"); + // 创建StudentService对象 StudentService service = new StudentServiceImpl(); + // 创建Student对象 Student student = new Student(); + // 设置Student对象的s_id属性 student.setS_id(sid); + // 根据Student对象的s_id属性查找学生信息 + // 根据学生id查找学生信息 Student s = service.findStudentById(student); + // 创建CourseServiceImpl对象 CourseService service1 = new CourseServiceImpl(); + // 根据课程id查找选课信息 Course c = service1.findSelectCourseByCourseId(cid); + // 创建SelectCourseServiceImpl对象 SelectCourseService service2 = new SelectCourseServiceImpl(); + // 根据课程id和学生id查找成绩信息 SelectCourse sc = service2.findScoreByCourseIdAndStudentId(cid,sid); + // 将学生信息、选课信息和成绩信息存入request对象中 request.setAttribute("s",s); request.setAttribute("c",c); request.setAttribute("sc",sc); + // 转发到updateOptionalCourseScore.jsp页面 request.getRequestDispatcher("/WEB-INF/teacher/updateOptionalCourseScore.jsp").forward(request,response); } diff --git a/src/web/servlet/teacher/UpdateTeacherInfoServlet.java b/src/web/servlet/teacher/UpdateTeacherInfoServlet.java index f6daffb..bf77df4 100644 --- a/src/web/servlet/teacher/UpdateTeacherInfoServlet.java +++ b/src/web/servlet/teacher/UpdateTeacherInfoServlet.java @@ -16,19 +16,29 @@ import java.util.Date; @WebServlet("/updateTeacherInfoServlet") public class UpdateTeacherInfoServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取教师ID String tid = request.getParameter("teacher-id"); + // 获取教师姓名 String name = request.getParameter("teacher-name"); + // 获取教师性别 String sex = request.getParameter("teacher-sex"); + // 获取教师学历 String education = request.getParameter("teacher-education"); + // 获取教师职称 String title = request.getParameter("teacher-title"); Teacher updateTeacher = new Teacher(); //判断输入位数是否大于数据库位数- + //判断输入的姓名、学历、职称是否合法 if (name.length() > 4 || education.length() > 20 || title.length()>24 || name.contains("<") || education.contains("<") || title.contains("<")) { + //将错误信息存入request对象中 request.setAttribute("update_msg","格式错误,请重新提交!"+String.format("%tT",new Date())); + //转发到updateTeacherServlet页面 request.getRequestDispatcher("updateTeacherServlet?tid="+tid).forward(request, response); }else { //封装教师对象- diff --git a/src/web/servlet/teacher/UpdateTeacherOptionalCourseServlet.java b/src/web/servlet/teacher/UpdateTeacherOptionalCourseServlet.java index 0ae3b62..59adf6b 100644 --- a/src/web/servlet/teacher/UpdateTeacherOptionalCourseServlet.java +++ b/src/web/servlet/teacher/UpdateTeacherOptionalCourseServlet.java @@ -18,12 +18,19 @@ public class UpdateTeacherOptionalCourseServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); // HttpSession session = request.getSession();- + // 获取请求参数中的课程ID String cid = (String)request.getParameter("cid"); + // 创建TeacherService对象 TeacherService service = new TeacherServiceImpl(); + // 根据课程ID查找可选课程 Course c = service.findOptionalCourseByCourseId(cid); + // 将课程对象存入请求属性中 request.setAttribute("course",c); + // 输出课程ID System.out.println(c.getC_id()); + // 输出课程名称 System.out.println(c.getC_name()); + // 输出课程信息 System.out.println(c.getC_info()); request.getRequestDispatcher("/WEB-INF/teacher/updateTeacherOptionalCourseInfo.jsp").forward(request,response); diff --git a/src/web/servlet/teacher/UpdateTeacherServlet.java b/src/web/servlet/teacher/UpdateTeacherServlet.java index c8b619c..1b2c3d8 100644 --- a/src/web/servlet/teacher/UpdateTeacherServlet.java +++ b/src/web/servlet/teacher/UpdateTeacherServlet.java @@ -23,15 +23,24 @@ import java.util.List; @WebServlet("/updateTeacherServlet") //1 public class UpdateTeacherServlet extends HttpServlet { + // 处理POST请求 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + // 设置请求编码为utf-8 request.setCharacterEncoding("utf-8"); + // 获取当前会话 HttpSession session = request.getSession(); + // 获取请求参数中的教师id String teacherid = request.getParameter("tid"); + // 创建教师对象 Teacher teacher = new Teacher(); + // 设置教师id teacher.setT_id(teacherid); + // 创建教师服务对象 TeacherService service = new TeacherServiceImpl(); + // 根据教师id查找教师信息 Teacher newTeacher = service.findTeacherById(teacher); + // 将教师信息存入请求属性中 request.setAttribute("teacher",newTeacher); CDCService service2 = new CDCServiceImpl(); @@ -40,6 +49,7 @@ public class UpdateTeacherServlet extends HttpServlet { List departmentList = service2.findAllDepartment(); List classList = service2.findAllClass(); + //将collegeList、departmentList、classList放入session中 session.setAttribute("collegeLists",collegeList); session.setAttribute("departmentLists",departmentList); session.setAttribute("classLists",classList);