package com.xuanke.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 com.xuanke.dao.CourseDao;
import com.xuanke.dao.StudentCourseDao;
import com.xuanke.dao.StudentDao;
import com.xuanke.model.Course;
import com.xuanke.model.PageBean;
import com.xuanke.model.Student;
import com.xuanke.model.StudentCourse;
import com.xuanke.model.User;
import com.xuanke.util.DbUtil;
import com.xuanke.util.PageUtil;
import com.xuanke.util.ResponseUtil;
import com.xuanke.util.StringUtil;
import net.sf.json.JSONObject;
/**
* 学生Servlet类
* @author Administrator
*
*/
public class StudentServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
private DbUtil dbUtil=new DbUtil();
private StudentDao studentDao=new StudentDao();
private StudentCourseDao studentCourseDao=new StudentCourseDao();
private CourseDao courseDao=new CourseDao();
@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("courseList".equals(action)){
this.courseList(request, response);
}else if("showInfo".equals(action)){
this.showInfo(request,response);
}else if("showScore".equals(action)){
this.showScore(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);
}
}
/**
* 显示数据
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
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");
Student s_student=new Student();
if(StringUtil.isEmpty(page)){
page="1";
s_student.setUserName(s_userName);
session.setAttribute("s_student", s_student);
}else{
s_student=(Student) session.getAttribute("s_student");
}
PageBean pageBean=new PageBean(Integer.parseInt(page),3);
Connection con=null;
try{
con=dbUtil.getCon();
List<Student> studentList=studentDao.studentList(con, pageBean, s_student);
int total=studentDao.studentCount(con, s_student);
String pageCode=PageUtil.getPagation(request.getContextPath()+"/student?action=list", total, Integer.parseInt(page), 3);
request.setAttribute("pageCode", pageCode);
request.setAttribute("modeName", "学生信息管理");
request.setAttribute("studentList", studentList);
request.setAttribute("mainPage", "student/list.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();
}
}
}
/**
* 添加修改预操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void preSave(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
if(StringUtil.isNotEmpty(id)){
request.setAttribute("actionName", "学生信息修改");
Connection con=null;
try{
con=dbUtil.getCon();
Student student=studentDao.loadStudentById(con, id);
request.setAttribute("student", student);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}else{
request.setAttribute("actionName", "学生信息添加");
}
request.setAttribute("mainPage", "student/save.jsp");
request.setAttribute("modeName", "学生信息管理");
request.getRequestDispatcher("main.jsp").forward(request, response);
}
/**
* 添加修改操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void save(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
String userName=request.getParameter("userName");
String password=request.getParameter("password");
String trueName=request.getParameter("trueName");
String stuNo=request.getParameter("stuNo");
String professional=request.getParameter("professional");
Student student=new Student(userName,password,trueName,stuNo,professional);
Connection con=null;
try{
con=dbUtil.getCon();
if(StringUtil.isNotEmpty(id)){ // 修改
student.setId(Integer.parseInt(id));
studentDao.studentUpdate(con, student);
}else{
studentDao.studentAdd(con, student);
}
response.sendRedirect("student?action=list");
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 删除操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void delete(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String id=request.getParameter("id");
Connection con=null;
try{
con=dbUtil.getCon();
JSONObject result = new JSONObject();
if(studentCourseDao.existStudentByStuId(con, id)){
result.put("success", false);
}else{
studentDao.studentDelete(con, id);
result.put("success", true);
}
ResponseUtil.write(result, response);
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 查询学生的课程
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void courseList(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
HttpSession session=request.getSession();
User currentUser=(User) session.getAttribute("currentUser");
Connection con=null;
try{
con=dbUtil.getCon();
List<StudentCourse> courseList=studentCourseDao.findCourseByStudentId(con, currentUser.getUserId());
request.setAttribute("courseList", courseList);
request.setAttribute("modeName", "查看课程信息");
request.setAttribute("mainPage", "student/courseList.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();
}
}
}
/**
* 查看个人信息
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
一、项目简介 本项目是一套基于Servlet+jsp实现学生选课系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试,确保可以运行! 二、技术实现 后端:javaWeb,servlet,MySQL 前端:css,bootstrap,jquery,jsp 开发工具环境:IDEA/Eclipse,Navicat,jdk1.8 二、功能介绍 系统中涉及系统管理员,教师,学生三种权限; 主要功能有: 系统管理员:学生信息管理,教师信息管理,课程信息管理; 教师:查看课程、查看学生、成绩录入、个人信息查看; 学生:课程信息查看、选择课程、成绩查询、个人信息查看;
资源推荐
资源详情
资源评论
收起资源包目录
javaWeb学生选课管理系统(完整源码+数据库) (112个子文件)
StudentServlet.class 12KB
TeacherServlet.class 10KB
CourseServlet.class 7KB
StudentDao.class 6KB
TeacherDao.class 5KB
StudentCourseDao.class 5KB
CourseDao.class 5KB
UserServlet.class 4KB
LoginFilter.class 2KB
StudentCourse.class 2KB
Student.class 2KB
ManagerDao.class 2KB
PageUtil.class 2KB
DbUtil.class 2KB
Teacher.class 2KB
Course.class 2KB
User.class 1KB
Manager.class 1KB
ResponseUtil.class 947B
PageBean.class 821B
StringUtil.class 640B
ManagerServlet.class 383B
.classpath 725B
org.eclipse.wst.common.component 440B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 134KB
bootstrap.min.css 111KB
bootstrap-theme.css 22KB
bootstrap-theme.min.css 19KB
xsxk.css 204B
Thumbs.db 18KB
glyphicons-halflings-regular.eot 20KB
commons-collections-3.1.jar 546KB
mysql-connector-java-3.1.12-bin.jar 436KB
standard.jar 384KB
commons-lang-2.4.jar 256KB
commons-beanutils-1.8.0.jar 226KB
json-lib-2.2.3-jdk15.jar 145KB
ezmorph-1.0.6.jar 84KB
commons-logging-1.1.3.jar 61KB
commons-logging-1.0.4.jar 37KB
jstl.jar 20KB
StudentServlet.java 13KB
TeacherServlet.java 11KB
CourseServlet.java 6KB
StudentDao.java 6KB
StudentCourseDao.java 5KB
TeacherDao.java 5KB
CourseDao.java 4KB
UserServlet.java 4KB
StudentCourse.java 1KB
PageUtil.java 1KB
Student.java 1KB
LoginFilter.java 1KB
Course.java 1KB
Teacher.java 1KB
DbUtil.java 1KB
User.java 1KB
ManagerDao.java 944B
Manager.java 767B
PageBean.java 582B
StringUtil.java 513B
ResponseUtil.java 390B
ManagerServlet.java 259B
body_052.jpg 29KB
body_05.jpg 24KB
body_032.jpg 11KB
body_03.jpg 9KB
body_06.jpg 4KB
btn1.jpg 2KB
btn2.jpg 2KB
jquery-1.11.2.min.js 94KB
jquery.min.js 71KB
bootstrap.js 66KB
bootstrap.min.js 35KB
npm.js 484B
.jsdtscope 503B
login.jsp 4KB
selectCourse.jsp 3KB
save.jsp 3KB
save.jsp 3KB
save.jsp 3KB
list.jsp 2KB
list.jsp 2KB
list.jsp 2KB
menu.jsp 2KB
scoreInfo.jsp 2KB
info.jsp 2KB
main.jsp 2KB
info.jsp 2KB
showScore.jsp 868B
studentList.jsp 721B
courseList.jsp 662B
courseList.jsp 661B
forlogin.jsp 559B
head.jsp 551B
foot.jsp 191B
default.jsp 175B
bootstrap.css.map 358KB
bootstrap-theme.css.map 42KB
共 112 条
- 1
- 2
资源评论
- m0_747136312023-12-27资源不错,很实用,内容全面,介绍详细,很好用,谢谢分享。
飞翔的佩奇
- 粉丝: 3561
- 资源: 800
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功