📄 addsubmissionservlet.java.svn-base
字号:
/*
* AddSubmissionServlet.java
* Created on October 18, 2006, 11:49 PM
*/
package com.sixtwenty.servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.ArrayList;
import java.util.*;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import java.net.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.*;
import org.apache.commons.fileupload.disk.*;
import org.apache.commons.fileupload.servlet.*;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import com.sixtwenty.SubmitFiles;
import com.sixtwenty.Submissions;
import com.sixtwenty.Submit;
import com.sixtwenty.SubmitServiceLocator;
import com.sixtwenty.*;
/**
* This servlet allows the student's to submit the assignments
* @author grp-e
*/
public class AddSubmissionServlet extends HttpServlet {
//String endpoint = "http://172.23.96.22:8180/axis/services/submit";
String endpoint = "http://localhost:8080/axis/services/submit";
/**
* Handles the get request
* @param request
* @param response
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doPost(request, response);
}
/**
* Handles the post request
* @param request
* @param response
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter ();
try {
Submit submit = null;
try {
//Instantiate the SubmitServiceLocator
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"));
String ipAddress = (String)request.getSession().getAttribute("ipAddress"); //The ip address
if (ipAddress == null) ipAddress = "Unknown";
String username = (String)request.getSession().getAttribute("username"); //The username
if (action.equals("submit")) {
String projId = new String(request.getParameter("projId")); //The project id
//set the project id in session
request.getSession().setAttribute("projId", projId);
//Forwarding it to next jsp
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/submitassignment.jsp");
requestDispatcher.forward(request, response);
return;
}
if (action.equals("save")) {
String projectId = (String)request.getSession().getAttribute("projId"); //The project id
//Preparing to submit the file
//File Upload processing
FileUpload fup = new FileUpload();
// Create a factory for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Parse the request
List items = upload.parseRequest(request);
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// Process a file upload
if (!item.isFormField()) {
String fieldName = item.getFieldName(); //The field name
String fileName = item.getName(); //The file name
String contentType = item.getContentType(); //The content type
boolean isInMemory = item.isInMemory(); //check whether the item is in memory
long sizeInBytes = item.getSize(); //The size in bytes
//Get the file input stream
InputStream uploadedStream = item.getInputStream();
byte[] contents = new byte[(int)sizeInBytes];
uploadedStream.read(contents, 0, (int)sizeInBytes);
SubmitFiles sf = new SubmitFiles(contents, fileName, (int)sizeInBytes, username);
Vector<SubmitFiles> submitFiles = (Vector<SubmitFiles>)request.getSession().getAttribute("listOfSubmitFiles");
// If it is the first file we add
if (submitFiles == null) {
submitFiles = new Vector<SubmitFiles>();
submitFiles.addElement(sf);
//set the submitFiles in the session
request.getSession().setAttribute("listOfSubmitFiles", submitFiles);
} else {
submitFiles.addElement(sf);
//set the submitFiles in the session
request.getSession().setAttribute("listOfSubmitFiles", submitFiles);
}
}
}
//Forwarding to next jsp
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/submitassignment.jsp");
requestDispatcher.forward(request, response);
return;
}
if (action.equals("complete")) {
String projId = (String)request.getSession().getAttribute("projId"); //The project id
Vector<SubmitFiles> sflist = (Vector<SubmitFiles>)request.getSession().getAttribute("listOfSubmitFiles");
//Get the list of SubmitFiles from session
request.getSession().setAttribute("listOfSubmitFiles", new Vector<SubmitFiles>());
if (sflist != null) {
//Populate the array of SubmitFiles
SubmitFiles[] submitFilesArray = new SubmitFiles[sflist.size()];
for (int i=0; i < sflist.size(); i++) {
submitFilesArray[i] = new SubmitFiles();
submitFilesArray[i].setFileContents(sflist.elementAt(i).getFileContents());
submitFilesArray[i].setFilename(sflist.elementAt(i).getFilename());
submitFilesArray[i].setFileuser(sflist.elementAt(i).getFileuser());
submitFilesArray[i].setFilesize(sflist.elementAt(i).getFilesize());
}
//set the time
java.util.Date date = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
//Create a Submissions object
Submissions subs = new Submissions(submitFilesArray, "", ipAddress, submitFilesArray.length, cal, username);
//call to the remote method addSubmission
submit.addSubmission(projId, subs, Calendar.getInstance());
}
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/listOfProjects");
requestDispatcher.forward(request, response);
return;
}
} catch (Exception e) {
out.println(e.toString());
}
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "This servlet is invoked to add submission";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -