JavaWeb大作业作业提交系统院系:计算机科学与工程学院专业:软件工程班级:2009级(2)班学号:******************指导老师:***目录作业提交系统 (3)简介: (3)一.需求分析: (3)二.系统设计 (6)2.1 系统模块结构图 (6)2.2 功能模块设计 (6)2.2.1教师模块 (7)2,2.2学生模块 (7)三.代码设计 (7)四.总结 (15)作业提交系统简介:本系统用的是jsp+javabean+servlet模式一.需求分析:系统针对人群:学生,老师。
功能要求:用户能够根据自己的需求,随时更改自己的用户名要和密码信息。
学生能够提交作业,查看自己的作业成绩。
老师能够从系统中调出学生所提交的作业进行批改,可以将成绩发送出去。
图1 组织结构图图2 业务总体流程图前台主要的用户是学生和教师,用户通过验证自己的用户名和密码,进入系统,如果密码不对则返回登陆系统界面。
也可以随时改变自己的用户名和密码。
学生进入系统,然后将自己的作业提交给系统,并可以随时查看自己的成绩。
教师用户也通过用户名和密码登陆到系统,然后将学生提交的作业进行批改,将成绩发布出去。
图3 系统流程图二.系统设计2.1 系统模块结构图系统结构模块主要分两大模块,教师模块和学生模块,其结构如图4所示。
2.2 功能模块设计在线作业提交批改系统从功能上可分为教师管理程序、学生管理程序,教师管理程序部分主要实现学生信息的添加、课程信息的添加、上传下载作业和评定成绩的管理,学生管理程序部分主要实现了学生对作业的下载和上传。
系统主要功能模块具体描述如下:2.2.1教师模块主要包括查看查看学生模块,添加作业模块,查看作业模块,发表成绩模块。
发表作业模块,主要功能:教师自己布置的作业上传到系统。
查看学生模块,主要功能:查看教师添加的所有学生的详细信息,还可以修改学生信息,删除学生信息。
查看作业模块,主要功能:查看学生所提交的作业,并可以下载到本地电脑。
2,2.2学生模块主要包括学生管理,主要功能:查看教师布置的作业,并下载作业,完成作业后提交到服务器。
三.代码设计主要的编码如下:注册的servlet:zhuce.javaimport java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import mons.fileupload.*;import mons.fileupload.disk.DiskFileItemFactory; import mons.fileupload.servlet.ServletFileUpload; public class FileUploadServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();String id=request.getParameter("id");String username=request.getParameter("name");String pass1 =request.getParameter("pass1");String banji=request.getParameter("banji");String pass2 =request.getParameter("pass2");String sex =request.getParameter("select");System.out.print(id+username+pass1);DbDao db = new DbDao("shiyan");{String user = request.getParameter("select");Statement st = db.con2.createStatement();int rs =0;rs = st.executeUpdate("insert into student values('"+344+"','"+username+"','"+pass1+"','"+banji+"','"+sex+"')");if(rs>=1){response.sendRedirect("success.jsp");}else{RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/shiyan/LoginFailure.jsp" );rd.forward(request,response);}catch(Exception e){e.printStackTrace();}}登陆bean:Login.javaString name=(String)request.getParameter("name");String password=(String)request.getParameter("pass");request.getSession().setAttribute("name",name);request.getSession().setAttribute("pass",password);HttpSession session = request.getSession();DbDao db = new DbDao("shiyan");session.setAttribute("DbDao", db);try{Statement st = db.con2.createStatement();ResultSet rs = null;rs = st.executeQuery("select * from student where stuname ='"+name+"'and password='"+password+"'");if(rs.next()){String stuname = rs.getString("banji");session.setAttribute("stuname", name);session.setAttribute("banji", stuname);session.setAttribute("shiyan", rsx);response.sendRedirect("../main/mainframe.htm");}else{RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/shiyan/LoginFailure.jsp" );rd.forward(request,response);}提交作业的servletpackage com.ch13.servlet;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import mons.fileupload.*;import mons.fileupload.disk.DiskFileItemFactory; import mons.fileupload.servlet.ServletFileUpload; public class FileUploadServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {PrintWriter out = response.getWriter();out.println("<HTML>");out.println("<BODY>");out.println("<H3>FileUplad : Servlet Sample</H3>");out.println("<HR>");try {//实例化一个硬盘文件工厂,用来配置上传组件ServletFileUploadDiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb//用以上工厂实例化上传组件ServletFileUpload upload = new ServletFileUpload(factory);upload.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB// 设置上传的地址String uploadPath = this.getServletContext().getRealPath("/upload");List items = upload.parseRequest(request);// 得到所有的上传文件Iterator it = items.iterator();//逐条处理while (it.hasNext()) {//得到当前文件FileItem fi = (FileItem) it.next();//检查当前项目是普通表单项目还是上传文件if (fi.isFormField()) {//如果是普通表单项目,显示表单内容。