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

📄 testpaperservlet.java

📁 远程电子考试系统
💻 JAVA
字号:
package fangsoft.testcenter.web.servlet;

import java.text.SimpleDateFormat;

import java.util.Date;
import java.util.List;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import fangsoft.testcenter.model.CertTest;
import fangsoft.testcenter.model.Choice;
import fangsoft.testcenter.model.PracticeTest;
import fangsoft.testcenter.model.Question;
import fangsoft.testcenter.model.Test;
import fangsoft.testcenter.web.view.TestPaperView;

/**
 * Servlet implementation class for Servlet: TestPaperUserId
 * 
 */

public class TestPaperServlet extends javax.servlet.http.HttpServlet implements
		javax.servlet.Servlet {
	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */

	public TestPaperServlet() {
		super();
	}

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
	 *      HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		// TODO 自动生成方法存根
		this.doProcess(arg0, arg1);
	}

	@Override
	protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		// TODO 自动生成方法存根
		this.doProcess(arg0, arg1);
	}

	protected void doProcess(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO 自动生成方法存根
		TestPaperView view=new TestPaperView();
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
		HttpSession session = request.getSession();
		Test test = null;
		String testname=request.getParameter("testname");
		if(testname==null){
			response.getWriter().print("Get the type of test first!");
			return;
		}
		if(testname.equals("java"))test=new CertTest();
		if(testname.equals("web"))test=new PracticeTest();
		boolean generated = test.generate();
		if (!generated) {
			System.out.println("Test could not be generated. " +
			"Check for other details. Test system terminated.");
			return;
			}
		String username=(String) session.getAttribute("username");
		String[] rightAnswer=getRightAnswer(test);
		session.setAttribute("rightanswer", rightAnswer);
		session.setAttribute("test", test);
		view.setUserId(username);
		view.setTestname(testname);
		view.setLimit_time("5");
		
		SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm");
		String starttime=df.format(new Date());
		session.setAttribute("starttime", starttime);
		session.setAttribute("num_of_questions", Integer.valueOf(test.getQuestionCount()));
		view.setTotal_score("3");
		response.getWriter().print(view.getHtmlOutput(test));
	}
	public String []getRightAnswer(Test test){
		String[] label = {"a","b","c","d","e","f","g","h","i","j"};
		String[] rightAnswer=new String[test.getQuestionCount()];
		for(int qnum=0;qnum<test.getQuestionCount();qnum++){
		 List<Question>questions=test.getQuestions(); 
		 rightAnswer[qnum]="";
			for(int cnum=0;cnum<questions.get(qnum).getCount();cnum++){
				List<Choice>choices=questions.get(qnum).getChoices();
				if(choices.get(cnum).isCorrect()){
					rightAnswer[qnum]=rightAnswer[qnum].concat(label[cnum]);
				}
				}
			}
		return rightAnswer;
		}

}

⌨️ 快捷键说明

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