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

📄 loadpaper.java

📁 这个是jsp编写的考试系统代码
💻 JAVA
字号:
package kaoshi.monitor.action;

import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import javax.servlet.ServletContext;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import kaoshi.bean.*;

public class LoadPaper extends Action {
	
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception
    {
        HttpSession session = request.getSession();
        ServletContext application = session.getServletContext();
		String filePath = application.getRealPath("/WEB-INF/paper/paper.xml");
        FileInputStream fis = new FileInputStream(filePath);
        //实例化一个SAXBuilder类,来操作XML文档
		SAXBuilder sb = new SAXBuilder();
		//从文件构造一个Document,因为XML文件中已经指定了编码,所以这里不必了		
		Document doc = sb.build(fis);
		Element paper = doc.getRootElement();
		String paperName = paper.getAttributeValue("name");	
		String paperAuthor = paper.getAttributeValue("author");
		application.setAttribute("paperName", paperName);
		application.setAttribute("paperAuthor", paperAuthor);
		//选择题
		ArrayList selectType = new ArrayList();
		try {
			Element p1 = paper.getChild("selectType");		
			List questions = p1.getChildren();
			for (int i=0; i<questions.size(); i++) {
				Element q = (Element)questions.get(i);
				Question question = new Question();
				question.setId(q.getAttributeValue("id"));
				question.setScore(q.getAttribute("score").getDoubleValue());
				question.setSpecify(HtmlSpecialCharater.filter(q.getAttributeValue("specify")));
				question.setReference(q.getAttributeValue("reference"));
				//System.out.println(question.getSpecify());
				List ops = q.getChildren();
				ArrayList options = new ArrayList();
				for (int j=0; j<ops.size(); j++) {
					Element op = (Element)ops.get(j);
					Option option = new Option();
					option.setId(op.getAttributeValue("id"));
					option.setText(HtmlSpecialCharater.filter(op.getAttributeValue("text")));
					//System.out.println(option.getText());	
					options.add(option);
				}
				question.setOptions(options);
				selectType.add(question);
			}
		} catch (Exception ex) {}
		ArrayList selectType2 = (ArrayList)selectType.clone();
		//主观题
		ArrayList uploadType = new ArrayList();
		try {
			Element p2 = paper.getChild("uploadType");		
			List questions = p2.getChildren();
			for (int i=0; i<questions.size(); i++) {
				Element q = (Element)questions.get(i);
				Question question = new Question();
				question.setSpecify(q.getAttributeValue("specify"));
				uploadType.add(question);
			}
		} catch (Exception ex) {}
		fis.close();
		application.setAttribute("selectType", selectType);
		application.setAttribute("selectType2", selectType2);	//用于生成答题卡
		application.setAttribute("uploadType", uploadType);
		
        return mapping.findForward("paper");
    }
    
}

⌨️ 快捷键说明

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