package servlet;
import java.io.IOException;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.json.JSONObject;
import dao.CollegeDao;
import dao.CourseDao;
import dao.StudentCourseDao;
import dao.StudentDao;
import dao.TeacherDao;
import entity.College;
import entity.Course;
import entity.PageBean;
import entity.Student;
import entity.StudentCourse;
import entity.TeaCourse;
import entity.Teacher;
import util.DbUtil;
import util.PageUtil;
import util.ResponseUtil;
import util.StringUtil;
public class TeacherServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
private DbUtil dbUtil=new DbUtil();
private TeacherDao teacherDao=new TeacherDao();
private CourseDao courseDao = new CourseDao();
private StudentCourseDao studentCourseDao=new StudentCourseDao();
private CollegeDao collegeDao = new CollegeDao();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String action=request.getParameter("action");
if("list".equals(action)){
this.list(request, response);
}else if("preSave".equals(action)){
this.preSave(request, response);
}else if("save".equals(action)){
this.save(request, response);
}else if("delete".equals(action)){
this.delete(request, response);
}else if("showInfo".equals(action)){
this.showInfo(request, response);
}else if("scoreInfo".equals(action)){
this.scoreInfo(request,response);
}else if("updateScore".equals(action)){
this.updateScore(request,response);
}else if("preSelect".equals(action)){
this.preSelect(request,response);
}else if("selectCourse".equals(action)){
this.selectCourse(request,response);
}else if("unSelectCourse".equals(action)){
this.unSelectCourse(request, response);
}else if("update".equals(action)){
this.update(request, response);
}else if("scoreAdd".equals(action)){
this.scoreAdd(request, response);
}
}
private void preSelect(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
Connection con=null;
String id=request.getParameter("id");
try{
con=dbUtil.getCon();
List<Course> courseList=courseDao.courseList(con, null, null,id);
List<TeaCourse> myCourseList=studentCourseDao.findCourseByTeaId(con, id);
List<Integer> myCourseIdList=new ArrayList<Integer>();
for(TeaCourse sc:myCourseList){
myCourseIdList.add(sc.getCourseId());
}
List<Course> selectCourseList=new ArrayList<Course>();
for(Course c:courseList){
if(!myCourseIdList.contains(c.getId())){
selectCourseList.add(c);
}
}
request.setAttribute("selectCourseList", selectCourseList);
request.setAttribute("myCourseList", myCourseList);
request.setAttribute("id", id);
request.setAttribute("modeName", "分配课程");
request.setAttribute("mainPage", "teacher/selectCourse.jsp");
request.getRequestDispatcher("main.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void selectCourse(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String courseIds=request.getParameter("courseIds");
String id=request.getParameter("id");
String cIds[]=courseIds.split(",");
Connection con=null;
try{
con=dbUtil.getCon();
for(int i=0;i<cIds.length;i++){
TeaCourse sc=new TeaCourse();
sc.setTeaId(Integer.parseInt(id));
sc.setCourseId(Integer.parseInt(cIds[i]));
studentCourseDao.addTeaCourse(con, sc);
}
JSONObject result = new JSONObject();
result.put("success", true);
result.put("id", id);
ResponseUtil.write(result, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void unSelectCourse(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String scIds=request.getParameter("scIds");
String id=request.getParameter("id");
String scIdsStr[]=scIds.split(",");
Connection con=null;
boolean flag=true;
try{
con=dbUtil.getCon();
JSONObject result = new JSONObject();
for(int i=0;i<scIdsStr.length;i++){
if(studentCourseDao.hasStuWithCourseId(con, scIdsStr[i])){
flag=false;
}else{
studentCourseDao.deleteTeaCourse(con, scIdsStr[i]);
}
}
result.put("success", flag);
result.put("id", id);
ResponseUtil.write(result, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void list(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
HttpSession session=request.getSession();
String page=request.getParameter("page");
String s_userName=request.getParameter("s_userName");
Teacher s_teacher=new Teacher();
if(StringUtil.isEmpty(page)){
page="1";
s_teacher.setUserName(s_userName);
session.setAttribute("s_teacher", s_teacher);
}else{
s_teacher=(Teacher) session.getAttribute("s_teacher");
}
PageBean pageBean=new PageBean(Integer.parseInt(page),3);
Connection con=null;
try{
con=dbUtil.getCon();
List<Teacher> teacherList=teacherDao.teacherList(con, pageBean, s_teacher);
int total=teacherDao.teacherCount(con, s_teacher);
String pageCode=PageUtil.getPagation(request.getContextPath()+"/teacher?action=list", total, Integer.parseInt(page), 3);
request.setAttribute("pageCode", pageCode);
request.setAttribute("modeName", "教师信息管理");
request.setAttribute("teacherList", teacherList);
request.setAttribute("mainPage", "teacher/list.jsp");
request.getRequestDispatcher("main.jsp").forward(request, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void preSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
Connection con=null;
try{
con=dbUtil.getCon();
if(StringUtil.isNotEmpty(id)){
request.setAttribute("actionName", "教师信息修改");
Teacher teacher=teacherDao.loadTeacherById(con, id);
request.setAttribute("teacher", teacher);
}else{
request.setAttribute("actionName", "教师信息添加");
}
List<College> collegeList=collegeDao.collegeList(con, null, null);
request.setAttribute("collegeList", collegeList);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
request.setAttribute("mainPage", "teacher/save.jsp");
request.setAttribute("modeName", "教师信息管理");
request.getRequestDispatcher("main.jsp").forward(request, response);
}
private void save(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
String userName=request.getParameter("
project3.7z
需积分: 0 11 浏览量
2024-06-22
22:26:13
上传
评论
收藏 2.28MB 7Z 举报
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
2401_85607999
- 粉丝: 0
- 资源: 1
最新资源
- 基于Arm和Qt的智能车载系统
- YOLOv5是一种流行的目标检测模型,它是YOLO(You Only Look Once)系列的最新版本 以下是关于YOLOv5
- -贪心算法问题实验:题目1 贪心算法解决TSP问题.docx
- 以下是一个简单的Python爬虫案例,用来从网页上获取信息 这个例子使用了Python的requests库进行HTTP请求和Be
- test your name
- asdasdasdadasdasds
- Navicat是一个流行的数据库管理工具,支持多种数据库管理系统(如MySQL、MariaDB、SQL Server、SQLit
- 神经网络(Neural Network)是一种模仿人脑神经系统工作方式设计的数学模型或计算模型 它由大量的人工神经元(Artif
- 硬件开发指的是设计、制造和测试物理电子设备或组件的过程 这些设备可以是各种电子产品的核心,从微处理器到传感器,再到整个计算机系统
- 高分项目,基于STM32开发的NUCLEO板设计彩色LED照明灯(纯cubeMX开发,内含完整源码+SmartLED
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)