📄 testpaperservlet.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 + -