📄 addsubmissionservlet.java
字号:
/*
* 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.*;
/**
*
* @author Balasubramaniam
* @version
*/
public class AddSubmissionServlet extends HttpServlet {
//String endpoint = "http://172.23.96.22:8180/axis/com/sixtwenty";
String endpoint = "http://localhost:8080/axis/services/submit";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter ();
try {
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"));
String ipAddress = (String)request.getSession().getAttribute("ipAddress");
if (ipAddress == null) ipAddress = "Unknown";
String username = (String)request.getSession().getAttribute("username");
if (action.equals("submit")) {
String projId = new String(request.getParameter("projId"));
request.getSession().setAttribute("projId", projId);
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/submitassignment.jsp");
requestDispatcher.forward(request, response);
return;
}
if (action.equals("save")) {
String projectId = (String)request.getSession().getAttribute("projId");
//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();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
//throw new ServletException("fileName: " + fileName);
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);
request.getSession().setAttribute("listOfSubmitFiles", submitFiles);
} else {
submitFiles.addElement(sf);
request.getSession().setAttribute("listOfSubmitFiles", submitFiles);
}
}
}
RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("/jsp/submitassignment.jsp");
requestDispatcher.forward(request, response);
return;
}
if (action.equals("complete")) {
String projId = (String)request.getSession().getAttribute("projId");
Vector<SubmitFiles> sflist = (Vector<SubmitFiles>)request.getSession().getAttribute("listOfSubmitFiles");
request.getSession().setAttribute("listOfSubmitFiles", new Vector<SubmitFiles>());
if (sflist != null) {
//throw new ServletException(sflist.elementAt(0).getFilename());
//SubmitFiles[] sub_files = ((SubmitFiles[])(sflist.toArray()));
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());
}
java.util.Date date = new java.util.Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
Submissions subs = new Submissions(submitFilesArray, "", ipAddress, submitFilesArray.length, cal, username);
//throw new ServletException("test");
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 + -