www.pudn.com > exam.rar > HandPaper.java
package kaoshi.student.action;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.upload.*;
import kaoshi.bean.*;
public class HandPaper extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
//检查上传文件是否超限
Boolean maxLengthExceeded = (Boolean)request.getAttribute(
MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
if ((maxLengthExceeded != null) && (maxLengthExceeded.booleanValue())) {
request.setAttribute("errorMessage", "上传文件长度太大");
return mapping.findForward("prompt");
}
DynaActionForm paperForm = (DynaActionForm)form;
String sid = (String)paperForm.get("sid");
String nm = (String)paperForm.get("nm");
String ip = request.getRemoteAddr();
ServletContext application = request.getSession().getServletContext();
ExamHall kaochang = (ExamHall)application.getAttribute("kaochang");
if (!kaochang.isValidPaper(sid, ip)) {
request.setAttribute("errorMessage", "无效试卷");
return mapping.findForward("prompt");
}
//生成答题卡文件并判分
String path = application.getRealPath("/WEB-INF/result");
FileWriter fw = new FileWriter(path + "/" + sid + ".htm");
fw.write("学号: "+sid+"
姓名: "+nm+"
生成时间: "+
new Date()+"
");
fw.write("| 题号 | 答案 | 对错 | "+qid+" | "+s+" | "+correct+" | "); } fw.write("