作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
本系统分为三个角色:管理员、老师和学生
管理员功能如下:登录、班级信息管理、教师信息管理、教室信息管理、课程录入、课程排课、用户管理、专业信息管理、自动排课
老师功能如下:登录,查询排课
学生功能如下:登录,查询排课
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;
6.数据库:MySql 5.7/8.0等版本均可;
技术栈
1. 后端:Spring Struts Hibernate
2. 前端:JSP+css+javascript+jQuery
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,配置项目;
3.将项目中WebRoot/WEB-INF/applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
4.登录地址:http://localhost:8080/schedule/login.jsp
5、登录账号:管理员 admin/123 老师 ls/123 学生 xs/123
运行截图
学生角色
老师角色
管理员角色
相关代码
courseAction
package com.action;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import com.dao.CommonDAO;
import com.dao.CourseDAO;
import com.model.Classes;
import com.model.Classroom;
import com.model.Course;
import com.model.Professional;
import com.model.Schedule;
import com.model.Teacher;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class courseAction extends ActionSupport
{
ArrayList kecheng = new ArrayList();
ArrayList banji = new ArrayList();
ArrayList jiaoshi = new ArrayList();
ArrayList laoshi = new ArrayList();
String no;
String suc;
private CommonDAO commonDAO;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getSuc() {
return suc;
}
public void setSuc(String suc) {
this.suc = suc;
}
public CommonDAO getCommonDAO() {
return commonDAO;
}
public void setCommonDAO(CommonDAO commonDAO) {
this.commonDAO = commonDAO;
}
//添加专业
public String professionalAdd()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String professionalname=request.getParameter("professionalname");
Professional p=new Professional();
p.setProfessionalname(professionalname);
commonDAO.save(p);
suc="";
return "success";
}
//修改专业
public String professionalEdit()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String professionalname=request.getParameter("professionalname");
String professionalid=request.getParameter("id");
Professional p=new Professional();
p.setProfessionalid(Integer.valueOf(professionalid));
p.setProfessionalname(professionalname);
commonDAO.update(p);
suc="";
return "success";
}
//添加班级
public String classesAdd()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String professionalid=request.getParameter("professionalid");
String grade=request.getParameter("grade");
String classesname=request.getParameter("classesname");
String count=request.getParameter("count");
Classes c=new Classes();
c.setClassesname(classesname);
c.setProfessionalid(Integer.valueOf(professionalid));
c.setGrade(grade);
c.setCount(count);
commonDAO.save(c);
suc="";
return "success";
}
//修改班级
public String classesEdit()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String classesid=request.getParameter("id");
String professionalid=request.getParameter("professionalid");
String grade=request.getParameter("grade");
String classesname=request.getParameter("classesname");
String count=request.getParameter("count");
Classes c=new Classes();
c.setClassesid(Integer.valueOf(classesid));
c.setClassesname(classesname);
c.setProfessionalid(Integer.valueOf(professionalid));
c.setGrade(grade);
c.setCount(count);
commonDAO.update(c);
suc="";
return "success";
}
//添加班级
public String classroomAdd()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String classroomname=request.getParameter("classroomname");
String count=request.getParameter("count");
Classroom c=new Classroom();
c.setClassroomname(classroomname);
c.setCount(count);
commonDAO.save(c);
suc="";
return "success";
}
//修改班级
public String classroomEdit()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String classroomid=request.getParameter("id");
String classroomname=request.getParameter("classroomname");
String count=request.getParameter("count");
Classroom c=new Classroom();
c.setClassroomid(Integer.valueOf(classroomid));
c.setClassroomname(classroomname);
c.setCount(count);
commonDAO.update(c);
suc="";
return "success";
}
//添加课程
public String courseAdd()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String coursename=request.getParameter("coursename");
String studyweek=request.getParameter("studyweek");
String classtime=request.getParameter("classtime");
String professionalid=request.getParameter("professionalid");
String grade=request.getParameter("grade");
String publicclass=request.getParameter("publicclass");
String begintime=request.getParameter("begintime");
String endtime=request.getParameter("endtime");
Course c=new Course();
c.setCoursename(coursename);
c.setStudyweek(studyweek);
c.setClasstime(classtime);
c.setProfessionalid(Integer.valueOf(professionalid));
c.setGrade(grade);
c.setPublicclass(publicclass);
c.setBegintime(begintime);
c.setEndtime(endtime);
commonDAO.save(c);
suc="";
return "success";
}
//修改课程
public String courseEdit()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String courseid=request.getParameter("id");
String coursename=request.getParameter("coursename");
String studyweek=request.getParameter("studyweek");
String classtime=request.getParameter("classtime");
String professionalid=request.getParameter("professionalid");
String grade=request.getParameter("grade");
String publicclass=request.getParameter("publicclass");
String begintime=request.getParameter("begintime");
String endtime=request.getParameter("endtime");
Course c=new Course();
c.setCourseid(Integer.valueOf(courseid));
c.setCoursename(coursename);
c.setStudyweek(studyweek);
c.setClasstime(classtime);
c.setProfessionalid(Integer.valueOf(professionalid));
c.setGrade(grade);
c.setPublicclass(publicclass);
c.setBegintime(begintime);
c.setEndtime(endtime);
commonDAO.update(c);
suc="";
return "success";
}
//添加教师
public String teacherAdd()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String teachername=request.getParameter("teachername");
String courseid=request.getParameter("courseid");
Teacher t=new Teacher();
t.setTeachername(teachername);
t.setCourseid(Integer.valueOf(courseid));
commonDAO.save(t);
suc="";
return "success";
}
//修改教师
public String teacherEdit()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String teacherid=request.getParameter("id");
String teachername=request.getParameter("teachername");
String courseid=request.getParameter("courseid");
Teacher t=new Teacher();
t.setTeacherid(Integer.valueOf(teacherid));
t.setTeachername(teachername);
t.setCourseid(Integer.valueOf(courseid));
commonDAO.update(t);
suc="";
return "success";
}
public String courseplanEdit()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
String scheduleId=request.getParameter("id");
Schedule ns=(Schedule)commonDAO.findById(Integer.parseInt(scheduleId), "Schedule");
String professionalid=request.getParameter("professionalid");
String teacherid=request.getParameter("teacherid");
String classroomid=request.getParameter("classroomid");
ns.setProfessionalid(Integer.parseInt(professionalid));
ns.setTeacherid(Integer.parseInt(teacherid));
ns.setClassroomid(Integer.parseInt(classroomid));
commonDAO.update(ns);
suc="";
return "success";
}
public void coursePlan()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response=(HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);
String zhuanye = request.getParameter("professionalid");
String nianji = request.getParameter("grade");
ArrayList kecheng = this.getKecheng(zhuanye,nianji);
ArrayList banji = this.getBanji(zhuanye,nianji);
ArrayList jiaoshi = this.getJiaoshi();
ArrayList laoshi = this.getLaoshi();
String[] begin = null;
String[] end = null;
int[] beginInt = new int[3];
int[] endInt = new int[3];
int[][] xy = new int[5][6];
for(int i = 0;i < kecheng.size();i++){
boolean bool = true;
int flag = 0;
int a = 0;//总共的教学周
int b = 0;//每周的课时数
ArrayList al = (ArrayList)kecheng.get(i);
begin = al.get(6).toString().split("-");
end = al.get(7).toString().split("-");
for(int j = 0;j < begin.length;j++){
beginInt[j] = Integer.parseInt(begin[j]);
endInt[j] = Integer.parseInt(end[j]);
}
Calendar c = Calendar.getInstance();
c.set(beginInt[0],beginInt[1]-1,beginInt[2]);
c.add(Calendar.DATE,-1);
while(bool){
c.add(Calendar.DATE,1);
flag++;
if(c.get(Calendar.MONTH)+1 == endInt[1] && c.get(Calendar.DATE) == endInt[2]){
bool = false;
}
}
if(flag%5 == 0){
a = flag/5;
}else{
a = flag/5+1;
}
if(Integer.parseInt(al.get(3).toString())%a == 0){
b = Integer.parseInt(al.get(3).toString())/a;
}else{
b = Integer.parseInt(al.get(3).toString())/a+1;
}
for(int n = 0;n < 6;n++){
for(int w = 0;w < 5;w++){
if(xy[w][n] == 0){
xy[w][n] = Integer.parseInt(al.get(0).toString());
}else{
continue;
}
b--;
if(b == 0){
break;
}
}
if(b == 0){
break;
}
}
}
ArrayList paike = new ArrayList();
for(int i = 0;i < banji.size();i++){
ArrayList all = new ArrayList();
ArrayList allRow = new ArrayList();
ArrayList banjiRow = (ArrayList)banji.get(i);
int flag = 0;
for(int x = 0;x < 5;x++){
for(int y = 0;y < 6;y++){
if(xy[x][y+1] != 0){
flag = xy[x][y];
xy[x][y] = xy[x][y+1];
xy[x][y+1] = flag;
}else{
break;
}
}
}
for(int x = 0;x < 5;x++){
ArrayList allCol = new ArrayList();
for(int y = 0;y < 6;y++){
allCol.add(""+xy[x][y]);
}
allRow.add(allCol);
}
all.add(allRow);
all.add(banjiRow);
paike.add(all);
}
request.setAttribute("zhuanyeid",zhuanye);
request.setAttribute("nianji",nianji);
request.setAttribute("paike",paike);
request.setAttribute("kecheng",kecheng);
RequestDispatcher rd=request.getRequestDispatcher("courseplanauto.jsp");
try {
rd.forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
public void coursePlanSave()
{
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response=(HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);
ArrayList save = (ArrayList)request.getSession().getAttribute("save");
String a = request.getParameter("a");
String b = request.getParameter("b");
String c = request.getParameter("c");
String[] laoshiid = new String[save.size()];
String[] jiaoshiid = new String[save.size()];
int flag1 = 0;
int flag2 = 0;
for(int i = 0;i < Integer.parseInt(a);i++){
for(int j = 0;j <Integer.parseInt(b);j++){
for(int m = 0;m < Integer.parseInt(c);m++){
if(request.getParameter("laoshi"+i+""+j+""+m) != null && !request.getParameter("laoshi"+i+""+j+""+m).equals("")){
laoshiid[flag1] = request.getParameter("laoshi"+i+""+j+""+m);
flag1++;
}
if(request.getParameter("jiaoshi"+i+""+j+""+m) != null && !request.getParameter("jiaoshi"+i+""+j+""+m).equals("")){
jiaoshiid[flag2] = request.getParameter("jiaoshi"+i+""+j+""+m);
flag2++;
}
}
}
}
int flag = this.saveKebiao(save,laoshiid,jiaoshiid);
if(flag == 1){
request.setAttribute("chenggong","1");
}
if(flag == 2){
request.setAttribute("chongfu","1");
}
RequestDispatcher rd=request.getRequestDispatcher("courseplanauto.jsp");
try {
rd.forward(request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
public ArrayList getKecheng(String zhuanye,String nianji){
try {
String hql="select a,b from Course a,Professional b where a.professionalid=b.professionalid and a.professionalid='"+zhuanye+"' and a.grade='"+nianji+"'";
List<Object[]> list=commonDAO.findByHql(hql);
for(int i=0;i<list.size();i++){
ArrayList alRow = new ArrayList();
Course c = (Course)list.get(i)[0];
Professional p=(Professional)list.get(i)[1];
alRow.add(c.getCourseid());
alRow.add(c.getCoursename());
alRow.add(c.getStudyweek());
alRow.add(c.getClasstime());
alRow.add(c.getPublicclass());
alRow.add(c.getGrade());
alRow.add(c.getBegintime());
alRow.add(c.getEndtime());
alRow.add(p.getProfessionalid());
alRow.add(p.getProfessionalname());
kecheng.add(alRow);
}
} catch (Exception e) {
e.printStackTrace();
}
return kecheng;
}
public ArrayList getBanji(String zhuanye,String nianji){
try {
banji=new ArrayList();
String hql=" from Classes where professionalid='"+zhuanye+"' and grade='"+nianji+"'";
List<Classes> list=commonDAO.findByHql(hql);
for(int i=0;i<list.size();i++){
Classes c=list.get(i);
ArrayList alRow = new ArrayList();
alRow.add(c.getClassesid());
alRow.add(c.getClassesname());
alRow.add(c.getGrade());
alRow.add(c.getProfessionalid());
alRow.add(c.getCount());
banji.add(alRow);
}
} catch (Exception e) {
e.printStackTrace();
}
return banji;
}
public ArrayList getJiaoshi(){
try {
String hql=" from Classroom ";
List<Classroom> list=commonDAO.findByHql(hql);
jiaoshi=new ArrayList();
for(int i=0;i<list.size();i++){
Classroom c=list.get(i);
ArrayList alRow = new ArrayList();
alRow.add(c.getClassroomid());
alRow.add(c.getClassroomname());
alRow.add(c.getCount());
jiaoshi.add(alRow);
}
} catch (Exception e) {
e.printStackTrace();
}
return jiaoshi;
}
public ArrayList getLaoshi(){
try {
laoshi=new ArrayList();
String hql=" from Teacher ";
List<Teacher> list=commonDAO.findByHql(hql);
for(int i=0;i<list.size();i++){
Teacher t=list.get(i);
ArrayList alRow = new ArrayList();
alRow.add(t.getTeacherid());
alRow.add(t.getTeachername());
alRow.add(t.getCourseid());
laoshi.add(alRow);
}
} catch (Exception e) {
e.printStackTrace();
}
return laoshi;
}
public int saveKebiao(ArrayList save,String[] laoshiid,String[] jiaoshiid){
int temp = 0;
try {
int i;
for(i = 0;i < save.size();i++){
ArrayList saveRow = (ArrayList)save.get(i);
String sql=" from Schedule where professionalid='"+saveRow.get(0)+"' and grade='"+saveRow.get(1)+"' and week='"+saveRow.get(2)+"' and kejie='"+saveRow.get(3)+"' and courseid='"+saveRow.get(4)+"' and classesid='"+saveRow.get(5)+"' and teacherid='"+laoshiid[i]+"' and classroomid='"+jiaoshiid[i]+"'";
List<Teacher> list=commonDAO.findByHql(sql);
if(list.size()>0){
temp = 2;
break;
}else{
Schedule s =new Schedule();
//s.setScheduleid(Integer.parseInt((String)saveRow.get(0)));
s.setProfessionalid(Integer.parseInt((String)saveRow.get(0)));
s.setGrade(String.valueOf(saveRow.get(1)));
s.setWeek(Integer.parseInt((String)saveRow.get(2)));
s.setKejie(Integer.parseInt((String)saveRow.get(3)));
s.setCourseid(Integer.parseInt((String) saveRow.get(4)));
s.setClassesid((Integer) saveRow.get(5));
s.setTeacherid(Integer.parseInt(laoshiid[i]));
s.setClassroomid(Integer.parseInt(jiaoshiid[i]));
commonDAO.save(s);
}
}
if(i == save.size()){
temp = 1;
}
} catch (Exception e) {
e.printStackTrace();
}
return temp;
}
}
如果也想学习本系统,下面领取。关注并回复:132ssh