📄 lecturerservlet.java
字号:
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 + -