package forAction;
import java.io.IOException;
import java.util.Enumeration;
import java.util.List;
import com.jspsmart.upload.*;
import javax.activation.MimetypesFileTypeMap;
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 javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;
import org.apache.commons.io.FileUtils;
import forDao.CourseDao;
import forDao.CoursewareDao;
import forDao.Stu_courseDao;
import forDao.Stu_homeworkDao;
import forDao.StudentDao;
import forDao.Tea_homeworkDao;
import forDao.TeacherDao;
import forXml.Course;
import forXml.Stu_course;
import forXml.Stu_homework;
import forXml.Student;
import forXml.Tea_homework;
import forXml.pkeyStu_course;
import forXml.pkeyTea_homework;
public class teaManage extends HttpServlet {
public teaManage() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
SmartUpload su = new SmartUpload();
Request req = su.getRequest();// 由于multipart/form-data的传输原因,使用smartupload产生的req
PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);
su.initialize(pageContext);
try {
su.upload();
String modify_self=req.getParameter("modify_self");
if(modify_self!=null) {
TeacherDao tea=new TeacherDao();
String id=(String)request.getSession().getAttribute("id");
String old=req.getParameter("old");
String now=req.getParameter("now");
String script=new String();
if(tea.modifyPassword(id, old, now)==true) script = "<script>alert('修改密码成功,请重新登录');location.href='/CMS/index.jsp'</script>";
else script = "<script>alert('修改失败,请重新输入');location.href='/CMS/mainTeacher.jsp'</script>";
response.getWriter().println(script);
return ;
}
else {
CourseDao course=new CourseDao();
StudentDao student=new StudentDao();
Stu_homeworkDao stu_homework=new Stu_homeworkDao();
Tea_homeworkDao tea_homework=new Tea_homeworkDao();
Stu_courseDao stu_course=new Stu_courseDao();
String tea_id=(String)request.getSession().getAttribute("id");
List<Course> cl=course.getbyTea_id(tea_id);
for(int i=0; i<cl.size(); i++) {
Course tmp=cl.get(i);
String cno=tmp.getCourse_no();
String upc=req.getParameter("upc"+i);
String dnc=req.getParameter("dnc"+i);
String rel=req.getParameter("rel"+i);
if(upc!=null) {
File file=su.getFiles().getFile(i);
if(file.isMissing()) {
String script = "<script>alert('未选择文件!');location.href='/CMS/mainTeacher.jsp'</script>";
response.getWriter().println(script);
}
else {
String savePath = getServletContext().getRealPath("/")+"WEB-INF/courseware";
java.io.File f = new java.io.File(savePath);
if (!f.exists() && !f.isDirectory()) f.mkdir();
String filename=file.getFileName();
String ext=file.getFileExt();
file.saveAs("/WEB-INF/courseware/"+cno+"."+ext);
CoursewareDao cw=new CoursewareDao();
cw.modifyFile_title(cno, filename);
String script = "<script>alert('上传成功!');location.href='/CMS/mainTeacher.jsp'</script>";
response.getWriter().println(script);
}
return ;
}
else if(dnc!=null) {
CoursewareDao cw=new CoursewareDao();
String filename=cw.getbyCourse_no(cno).getFile_title();
String dir1=getServletContext().getRealPath("/")+"WEB-INF/courseware/"+cno+filename.substring(filename.lastIndexOf("."));
String dir2=getServletContext().getRealPath("/")+"WEB-INF/courseware/"+filename;
java.io.File file1=new java.io.File(dir1);
if(!file1.exists()) {
String script = "<script>alert('文件已失效');location.href='/CMS/mainStudent.jsp'</script>";
response.getWriter().println(script);
return ;
}
java.io.File file2=new java.io.File(dir2);
FileUtils.copyFile(file1, file2);
su.setContentDisposition(null);//设定contentDisposition为null以禁止浏览器自动打开文件,保证点击链接后是下载文件
su.downloadFile(dir2);// 下载文件,保证Web应用下的目录下有文件
file2.delete();
return ;
}
else if(rel!=null) {
String hno=tea_homework.getNext();
tea_homework.addOne(cno, hno);
List<Stu_course> scs=stu_course.getbyCourse_no(cno);
for(int j=0; j<scs.size(); j++) {
String stu_id=scs.get(j).getPkey().getStu_id();
stu_homework.addOne(cno, hno, stu_id);
}
String script = "<script>alert('发布作业成功!');location.href='/CMS/mainTeacher.jsp'</script>";
response.getWriter().println(script);
return ;
}
List<Tea_homework> thk=tea_homework.getbyCourse_no(cno);
for(int k=0; k<thk.size(); k++) {
pkeyTea_homework pkey=thk.get(k).getPkey();
String hno=pkey.getHomework_no();
List<Stu_homework> shk=stu_homework.getbyHomework_no(hno);
for(int j=0; j<shk.size (); j++) {
Stu_homework hk=shk.get(j);
String filename=(hk.getFilename()==null ? null : hk.getFilename().toString());
String stu_id=hk.getPkey().getStu_id();
int num=i*thk.size()*shk.size()+k*shk.size()+j;
String str1="dnhwk"+num;
String str2="upo"+num;
if(req.getParameter(str1)!=null) {
String dir=getServletContext().getRealPath("/")+"WEB-INF/homework/"+filename;
su.setContentDisposition(null);
su.downloadFile(dir);
return ;
}
else if(req.getParameter(str2)!=null) {
String op=req.getParameter("op"+num);
stu_homework.modifyOpinion(cno, stu_id, hno, op);
String script = "<script>alert('批改成功!');location.href='/CMS/mainTeacher.jsp'</script>";
response.getWriter().println(script);
return ;
}
}
}
List<Stu_course> scl=stu_course.getbyCourse_no(cno);
for(int j=0; j<scl.size (); j++) {
Stu_course scs=scl.get(j);
pkeyStu_course pkey=scs.getPkey();
int num=i*scl.size()+j;
String str="sgd"+num;
if(req.getParameter(str)!=null) {
String grade=req.getParameter("gd"+num), script=new String();
stu_course.modifyGrade(pkey, Double.valueOf(grade));
script = "<script>alert('评分成功!');location.href='/CMS/mainTeacher.jsp'</script>";
response.ge
没有合适的资源?快使用搜索试试~ 我知道了~
javaweb课程资源管理系统.zip
共130个文件
java:30个
class:30个
jsp:23个
需积分: 36 23 下载量 81 浏览量
2019-12-08
18:36:44
上传
评论 8
收藏 6.76MB ZIP 举报
温馨提示
a)构架 该系统采用表示层、业务逻辑层、数据访问层三层构架。 1、在系统主页面,用户可以通过已有的账号密码进行登录,验证成功则进入个人信息页面;也可以进行忘记密码之后的重置操作,验证成功则完成重置并返回系统主页面再次登录。 2、在个人信息页面,用户可以修改当前账号密码,验证成功则完成修改则返回系统主页面。在此之外,不同身份的用户可以有不同的操作。 管理员:查看现有帐号信息,对帐号进行增、删等操作。 教师:查看课程信息,包括预览、下载课件,查看作业情况(提交、批改意见、评分)等;修改课程信息,包括上传、重传课件,下载作业,提交作业批改意见、评分,发布新作业要求,更新系统公告等。 学生:查看课程信息,包括预览、下载课件,查看作业情况(提交、批改意见、评分)等;修改课程信息,包括上传、重传作业等。 b)系统流程 1、表示层效果采用HTML5、CSS等语言和前端框架jQuery,实现用户交互界面。交互界面包括用户登录界面,个人信息展示页面,课程、课件、作业查看页面等。 2、业务逻辑层利用Servlet,JSP来处理来自前端的请求,获取数据库数据,并作出相应的处理,将处理数据提交到前端,显示给用户。 3、数据访问层利用Hibernate架构操作数据库,通过应用程序经过Hiberante持久层来访问数据库。数据访问层的关键是确定表结构和表属性,便于业务逻辑层进行对数据库的查询,良好的数据库结构,对数据操作有很大的用处。 c)系统结构
资源推荐
资源详情
资源评论
收起资源包目录
javaweb课程资源管理系统.zip (130个子文件)
teaManage.class 10KB
stuManage.class 8KB
Stu_courseDao.class 8KB
Stu_homeworkDao.class 8KB
admManage.class 7KB
Tea_homeworkDao.class 5KB
TeacherDao.class 5KB
StudentDao.class 5KB
CourseDao.class 5KB
AdminDao.class 4KB
CoursewareDao.class 4KB
checkIdentity.class 3KB
filterAdmin.class 2KB
filterStudent.class 2KB
filterTeacher.class 2KB
filterAll.class 2KB
resetPassword.class 2KB
testHibernate.class 2KB
Teacher.class 2KB
Student.class 2KB
pkeyStu_homework.class 2KB
pkeyTea_homework.class 1KB
pkeyStu_course.class 1KB
Admin.class 1KB
Stu_course.class 1KB
Stu_homework.class 999B
Course.class 895B
Courseware.class 734B
Trans.class 626B
Tea_homework.class 546B
.classpath 3KB
org.eclipse.wst.common.component 468B
org.eclipse.wst.jsdt.ui.superType.container 49B
文档.docx 323KB
hibernate3.jar 3.95MB
javassist-3.12.0.GA.jar 618KB
commons-collections-3.1.jar 546KB
mysql-connector-java-5.0.8-bin.jar 528KB
antlr-2.7.6.jar 433KB
dom4j-1.6.1.jar 307KB
ehcache-1.2.4.jar 207KB
commons-io-1.4.jar 106KB
hibernate-jpa-2.0-api-1.0.1.Final.jar 100KB
commons-logging-1.1.1.jar 59KB
commons-fileupload-1.2.2.jar 58KB
commons-logging-api-1.1.jar 44KB
slf4j-api-1.7.25.jar 40KB
jspsmartupload.jar 15KB
jta-1.1.jar 11KB
slf4j-nop-1.7.25.jar 4KB
teaManage.java 8KB
testHibernate.java 7KB
stuManage.java 7KB
Stu_homeworkDao.java 7KB
admManage.java 6KB
Stu_courseDao.java 6KB
StudentDao.java 4KB
TeacherDao.java 4KB
Tea_homeworkDao.java 4KB
CourseDao.java 3KB
AdminDao.java 3KB
CoursewareDao.java 3KB
checkIdentity.java 2KB
pkeyStu_homework.java 2KB
resetPassword.java 2KB
pkeyTea_homework.java 1KB
filterStudent.java 1KB
filterTeacher.java 1KB
filterAdmin.java 1KB
filterAll.java 1KB
pkeyStu_course.java 1KB
Teacher.java 1KB
Student.java 1KB
Admin.java 610B
Stu_course.java 537B
Stu_homework.java 508B
Course.java 470B
Courseware.java 375B
Trans.java 241B
Tea_homework.java 210B
.jsdtscope 522B
studentHomework.jsp 6KB
teacherHwk.jsp 6KB
adminListTea.jsp 5KB
adminListStu.jsp 5KB
teacherGrade.jsp 4KB
studentCourse.jsp 4KB
mainTeacher.jsp 4KB
teacherCourse.jsp 3KB
index.jsp 3KB
forgetPassword.jsp 3KB
mainAdmin.jsp 3KB
mainStudent.jsp 2KB
adminListAll.jsp 2KB
footer.jsp 1KB
studentModify_self.jsp 1KB
teacherModify_self.jsp 1KB
adminModify_self.jsp 1KB
filterStudent.jsp 498B
filterTeacher.jsp 498B
共 130 条
- 1
- 2
资源评论
济源IT小伙一枚
- 粉丝: 139
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功