⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lecturerservlet.java.svn-base

📁 远程学生作业提交系统,所用技术JSP,Servelet,Ajax,Web Services,MySql
💻 SVN-BASE
字号:
package com.sixtwenty.servlet;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.ArrayList;
import java.util.Calendar;
import com.sixtwenty.*;


public class LecturerServlet extends HttpServlet
{
	public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
	{

		Submit submit = null;

                try {
                    SubmitServiceLocator ssl = new SubmitServiceLocator();
                    submit = ssl.getsubmit();
                } catch(Exception e) {
                    throw new ServletException(e.toString());
                }

                // Get the type of action to do
		String action = new String(request.getParameter("action"));

		// To get the staff identifier
		String staffId = (String)request.getSession().getAttribute("username");

		// If we don't know the staff's identifier => access error
		if (staffId == null || staffId.equals("")) {
                    RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/errorpage.jsp");
		    requestDispatcher.forward(request, response);
		    return;
                }

                if (action.equalsIgnoreCase("listproject"))
		{
			Projects[] listOfProject = null;
			listOfProject = submit.getProjectStaff(staffId);
			request.getSession().setAttribute("listOfProject", listOfProject);
                        RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/listprojectstaff.jsp");
			requestDispatcher.forward(request, response);
		}

		if (action.equalsIgnoreCase("submissions"))
		{
			String projId = new String(request.getParameter("projId"));
                        Submissions[] listOfSubmissions = null;
                        listOfSubmissions = submit.getProjectSubmissions(projId);
			request.getSession().setAttribute("listOfSubmission", listOfSubmissions);
                        RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/submissionsStaff.jsp");
			requestDispatcher.forward(request, response);
		}

		if (action.equalsIgnoreCase("download"))
		{
			String subId = new String(request.getParameter("subId"));
                        String filename = new String(request.getParameter("filename"));
                        Submissions subm = submit.getSubmission(subId);

                        response.setContentType("applicatioin/bin");
                        // Set the file name
                        response.setHeader("Content-disposition", "attachment; filename=" + filename);
                        // Get the output stream handler to stream bytes to the browser
                        ServletOutputStream os = response.getOutputStream();

                        byte[] fileContents; // The file contents to stream

                        int i = 0;
                        boolean find = subm.getSub_files()[0].getFilename().equals(filename);
                        while (i < subm.getSub_files().length && !find) {
                              i++;
                              find = subm.getSub_files()[i].getFilename().equals(filename);
                        }

                        if (!find)
                            throw new ServletException("fn: " + filename + " subId= " + subId + " i: " + (i));
                        fileContents = subm.getSub_files()[i].getFileContents();

                        os.write(fileContents, 0, fileContents.length);

		}

		if (action.equalsIgnoreCase("openandclose"))
		{
			String projectid = request.getParameter("projId");
                        String status = submit.getProjectStatus(projectid);
                        request.getSession().setAttribute("status", status);
			Calendar openDate = submit.getProjectOpendate(projectid);
			request.getSession().setAttribute("openDate", openDate);
			Calendar closeDate = submit.getProjectClosedate(projectid);
			request.getSession().setAttribute("closeDate", closeDate);
			Projects project = submit.getProjectByID(projectid);
			request.getSession().setAttribute("project", project);
			RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/openandcloseproject.jsp");
			requestDispatcher.forward(request, response);
		}

		if (action.equalsIgnoreCase("setopenandclose"))
		{
                        String projectid = request.getParameter("projId");
			String opentime = request.getParameter("opentime");
			String closetime = request.getParameter("closetime");
			String status = request.getParameter("status");
			boolean asOpendate = false;
			boolean asClosedate = false;

                        String time = opentime;
                        if (opentime != null && !opentime.equals("") && !opentime.equals("None") && !opentime.equals("\\s")) {
		            String[] result = time.split("\\s");
		            String[] date = result[0].split("-");
		            Calendar projTimeOpen = Calendar.getInstance();
		            //throw new ServletException(String.valueOf(date[0])+" "+String.valueOf(date[1])+" "+String.valueOf(date[2])+" "+String.valueOf(times[0])+" "+String.valueOf(times[1]));
                            projTimeOpen.set( projTimeOpen.YEAR, Integer.parseInt(date[0]));
                            projTimeOpen.set( projTimeOpen.MONTH, Integer.parseInt(date[1])-1);
                            projTimeOpen.set( projTimeOpen.DATE, Integer.parseInt(date[2]));
                            submit.setProjectOpendate(projectid, projTimeOpen);
                            asOpendate = true;
                        } else {
                            submit.setProjectOpendate(projectid, null);
                        }

                        time = closetime;
                        if (closetime != null && !closetime.equals("") && !closetime.equals("None") && !closetime.equals("\\s")) {
		            String[] result = time.split("\\s");
    		            String[] date = result[0].split("-");
		            Calendar projTimeClose = Calendar.getInstance();
                            projTimeClose.set( projTimeClose.YEAR, Integer.parseInt(date[0]));
                            projTimeClose.set( projTimeClose.MONTH, Integer.parseInt(date[1])-1);
                            projTimeClose.set( projTimeClose.DATE, Integer.parseInt(date[2]));
                            submit.setProjectClosedate(projectid, projTimeClose);
                            asClosedate = true;
                        } else {
                            submit.setProjectClosedate(projectid, null);
                        }

                        submit.setProjectStatus(projectid, status);

                        Projects[] listOfProject = null;
			listOfProject = submit.getProjectList();
			request.getSession().setAttribute("listOfProject", listOfProject);
			RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/listprojectstaff.jsp");
			requestDispatcher.forward(request, response);
		}

		if (action.equalsIgnoreCase("createproject"))
		{
                        Subjects[] listOfSubjects = null;
			listOfSubjects = submit.getSubjectList();
			request.getSession().setAttribute("listsubjects", listOfSubjects);
			RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/createproject.jsp");
			requestDispatcher.forward(request, response);
		}

		if (action.equalsIgnoreCase("addproject"))
		{
			String subjCode = new String(request.getParameter("subjCode"));
			String year = new String(request.getParameter("year"));
			String semester = new String(request.getParameter("semester"));
			String projName = request.getParameter("projName");
			String projDesc = new String(request.getParameter("projDesc"));
			String projURL = new String(request.getParameter("projURL"));

			submit.addProject(subjCode, year, semester, projName, projDesc, projURL);

			Projects[] listOfProject = null;

			listOfProject = submit.getProjectStaff(staffId);

			request.getSession().setAttribute("listOfProject", listOfProject);

			RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/listprojectstaff.jsp");

			requestDispatcher.forward(request, response);
		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
	{

		doGet(request, response);

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -