作者主页:源码空间站2022
简介: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.数据库:MySql 5.7版本;
技术栈
HTML+CSS+JavaScript+jsp+mysql
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/login.jsp 登录
运行截图
前台页面
管理端页面
相关代码
地址管理控制器
public class AttendanceServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException{
doPost(request, response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{
String method = request.getParameter("method");
if("toAttendanceServletListView".equals(method)){
try {
request.getRequestDispatcher("view/attendanceList.jsp").forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if("AddAttendance".equals(method)){
AddAttendance(request,response);
}else if("AttendanceList".equals(method)){
attendanceList(request,response);
}else if("DeleteAttendance".equals(method)){
deleteAttendance(request,response);
}else if("getStudentSelectedCourseList".equals(method)){
getStudentSelectedCourseList(request, response);
}
}
private void deleteAttendance(HttpServletRequest request,
HttpServletResponse response) throws IOException {
// TODO Auto-generated method stub
int id = Integer.parseInt(request.getParameter("id"));
AttendanceDao attendanceDao = new AttendanceDao();
String msg = "success";
if(!attendanceDao.deleteAttendance(id)){
msg = "error";
}
attendanceDao.closeCon();
response.getWriter().write(msg);
}
private void attendanceList(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
int studentId = request.getParameter("studentid") == null ? 0 : Integer.parseInt(request.getParameter("studentid").toString());
int courseId = request.getParameter("courseid") == null ? 0 : Integer.parseInt(request.getParameter("courseid").toString());
String type = request.getParameter("type");
String date = request.getParameter("date");
Integer currentPage = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
Integer pageSize = request.getParameter("rows") == null ? 999 : Integer.parseInt(request.getParameter("rows"));
Attendance attendance = new Attendance();
//获取当前登录用户类型
int userType = Integer.parseInt(request.getSession().getAttribute("userType").toString());
if(userType == 2){
//如果是学生,只能查看自己的信息
Student currentUser = (Student)request.getSession().getAttribute("user");
studentId = currentUser.getId();
}
attendance.setCourseId(courseId);
attendance.setStudentId(studentId);
attendance.setDate(date);
attendance.setType(type);
AttendanceDao attendanceDao = new AttendanceDao();
List<Attendance> attendanceList = attendanceDao.getSelectedCourseList(attendance, new Page(currentPage, pageSize));
int total = attendanceDao.getAttendanceListTotal(attendance);
attendanceDao.closeCon();
response.setCharacterEncoding("UTF-8");
Map<String, Object> ret = new HashMap<String, Object>();
ret.put("total", total);
ret.put("rows", attendanceList);
try {
String from = request.getParameter("from");
if("combox".equals(from)){
response.getWriter().write(JSONArray.fromObject(attendanceList).toString());
}else{
response.getWriter().write(JSONObject.fromObject(ret).toString());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void AddAttendance(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
int studentId = request.getParameter("studentid") == null ? 0 : Integer.parseInt(request.getParameter("studentid").toString());
int courseId = request.getParameter("courseid") == null ? 0 : Integer.parseInt(request.getParameter("courseid").toString());
String type = request.getParameter("type").toString();
AttendanceDao attendanceDao = new AttendanceDao();
Attendance attendance = new Attendance();
attendance.setCourseId(courseId);
attendance.setStudentId(studentId);
attendance.setType(type);
attendance.setDate(DateFormatUtil.getFormatDate(new Date(), "yyyy-MM-dd"));
String msg = "success";
response.setCharacterEncoding("UTF-8");
if(attendanceDao.isAttendanced(studentId, courseId, type,DateFormatUtil.getFormatDate(new Date(), "yyyy-MM-dd"))){
msg = "已签到,请勿重复签到!";
}else if(!attendanceDao.addAttendance(attendance)){
msg = "系统内部出错。请联系管理员!";
}
try {
response.getWriter().write(msg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void getStudentSelectedCourseList(HttpServletRequest request,
HttpServletResponse response) {
// TODO Auto-generated method stub
int studentId = request.getParameter("student_id") == null ? 0 : Integer.parseInt(request.getParameter("student_id").toString());
SelectedCourse selectedCourse = new SelectedCourse();
selectedCourse.setStudentId(studentId);
SelectedCourseDao selectedCourseDao = new SelectedCourseDao();
List<SelectedCourse> selectedCourseList = selectedCourseDao.getSelectedCourseList(selectedCourse, new Page(1, 999));
selectedCourseDao.closeCon();
String courseId = "";
for(SelectedCourse sc : selectedCourseList){
courseId += sc.getCourseId()+ ",";
}
courseId = courseId.substring(0,courseId.length()-1);
CourseDao courseDao = new CourseDao();
List<Course> courseList = courseDao.getCourse(courseId);
courseDao.closeCon();
response.setCharacterEncoding("UTF-8");
try {
response.getWriter().write(JSONArray.fromObject(courseList).toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
信息管理控制器
public class MessageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public MessageServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String method = request.getParameter("method");
if("toMessageView".equals(method)){
toMessageView(request,response);
}else if("getMessageList".equals(method)){
getMessageList(request,response);
}else if("AddMsg".equals(method)){
AddMsg(request,response);
}else if("DeleteMessage".equals(method)){
DeleteMessage(request,response);
}
}
private void DeleteMessage(HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
String[] ids = request.getParameterValues("ids[]");
String idStr = "";
for(String id:ids){
idStr += id+",";
}
idStr = idStr.substring(0,idStr.length()-1);
MsgDao mDao = new MsgDao();
if(mDao.deleteMsg(idStr)){
try {
response.getWriter().write("success");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
mDao.closeCon();
}
}
}
private void AddMsg(HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
String msg = request.getParameter("msg");
int userType = Integer.parseInt(request.getSession().getAttribute("userType").toString());
Msg msg1 = new Msg();
if(userType == 2){
Student currentUser = (Student)request.getSession().getAttribute("user");
msg1.setPeople(currentUser.getName());
}
msg1.setMsg(msg);
MsgDao mDao = new MsgDao();
if(mDao.addMsg(msg1)){
try {
response.getWriter().write("success");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
mDao.closeCon();
}
}
}
private void getMessageList(HttpServletRequest request, HttpServletResponse response) {
Integer currentPage = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
Integer pageSize = request.getParameter("rows") == null ? 999 : Integer.parseInt(request.getParameter("rows"));
int userType = Integer.parseInt(request.getSession().getAttribute("userType").toString());
Msg motion = new Msg();
MsgDao mDao = new MsgDao();
List<Msg> clazzList = mDao.getMsgList(motion, new Page(currentPage, pageSize));
int total = mDao.getMsgListTotal(motion);
mDao.closeCon();
response.setCharacterEncoding("UTF-8");
Map<String, Object> ret = new HashMap<String, Object>();
ret.put("total", total);
ret.put("rows", clazzList);
try {
String from = request.getParameter("from");
if("combox".equals(from)){
response.getWriter().write(JSONArray.fromObject(clazzList).toString());
}else{
response.getWriter().write(JSONObject.fromObject(ret).toString());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void toMessageView(HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
try {
request.getRequestDispatcher("view/message.jsp").forward(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
图片处理控制器
public class PhotoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public PhotoServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String method = request.getParameter("method");
if("getPhoto".equals(method)){
getPhoto(request, response);
}else if("SetPhoto".equals(method)){
uploadPhoto(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
private void uploadPhoto(HttpServletRequest request,HttpServletResponse response){
//图片上传
int sid = request.getParameter("sid") == null ? 0 : Integer.parseInt(request.getParameter("sid"));
int tid = request.getParameter("tid") == null ? 0 : Integer.parseInt(request.getParameter("tid"));
FileUpload fileUpload = new FileUpload(request);
fileUpload.setFileFormat("jpg");
fileUpload.setFileFormat("png");
fileUpload.setFileFormat("jpeg");
fileUpload.setFileFormat("gif");
fileUpload.setFileSize(2048);
response.setCharacterEncoding("UTF-8");
try {
InputStream uploadInputStream = fileUpload.getUploadInputStream();
if(sid !=0){
Student student = new Student();
student.setId(sid);
student.setPhoto(uploadInputStream);
StudentDao studentDao = new StudentDao();
if(studentDao.setStudentPhoto(student)){
response.getWriter().write("<div id='message'>上传成功!</div>");
}else{
response.getWriter().write("<div id='message'>上传失败!</div>");
}
}
if(tid != 0){
Teacher teacher = new Teacher();
teacher.setId(tid);
teacher.setPhoto(uploadInputStream);
TeacherDao teacherDao = new TeacherDao();
if(teacherDao.setTeacherPhoto(teacher)){
response.getWriter().write("<div id='message'>上传成功!</div>");
}else{
response.getWriter().write("<div id='message'>上传失败!</div>");
}
}
} catch (ProtocolException e) {
try {
response.getWriter().write("<div id='message'>上传协议错误!</div>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} catch (NullFileException e) {
try {
response.getWriter().write("<div id='message'>上传的文件为空!</div>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} catch (SizeException e) {
try {
response.getWriter().write("<div id='message'>上传文件大小不能超过"+fileUpload.getFileSize()+"!</div>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} catch (FileFormatException e) {
try {
response.getWriter().write("<div id='message'>上传文件格式不正确,请上传 "+fileUpload.getFileFormat()+" 格式的文件!</div>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} catch (IOException e) {
try {
response.getWriter().write("<div id='message'>读取文件出错!</div>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} catch (FileUploadException e) {
try {
response.getWriter().write("<div id='message'>上传文件失败!</div>");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
}
private void getPhoto(HttpServletRequest request,HttpServletResponse response) {
// TODO Auto-generated method stub
//File file = new File();
int sid = request.getParameter("sid") == null ? 0 : Integer.parseInt(request.getParameter("sid"));
int tid = request.getParameter("tid") == null ? 0 : Integer.parseInt(request.getParameter("tid"));
if(sid != 0){
//学生
StudentDao studentDao = new StudentDao();
Student student = studentDao.getStudent(sid);
studentDao.closeCon();
if(student != null){
InputStream photo = student.getPhoto();
if(photo != null){
try {
byte[] b = new byte[photo.available()];
photo.read(b);
response.getOutputStream().write(b,0,b.length);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
}
}
}
if(tid != 0){
//教师
TeacherDao teacherDao = new TeacherDao();
Teacher teacher = teacherDao.getTeacher(tid);
teacherDao.closeCon();
if(teacher != null){
InputStream photo = teacher.getPhoto();
if(photo != null){
try {
byte[] b = new byte[photo.available()];
photo.read(b);
response.getOutputStream().write(b,0,b.length);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return;
}
}
}
String path = request.getSession().getServletContext().getRealPath("");
File file = new File(path+"\\file\\logo.jpg");
try {
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[fis.available()];
fis.read(b);
response.getOutputStream().write(b,0,b.length);
fis.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如果也想学习本系统,下面领取。关注并回复:095jsp