功能要求:实现添加学生信息,根据学号删除学生信息,根据学号查询成绩。
思路分析:为了项目的健壮性、和可维护性,采用了分层的结构去开发,
1,展示层(view),用来和用户进行交互,提供上述三个功能,本案例用控制台的指令编号对应响应的操作
2,控制层_逻辑服务层(service),对用户的响应做出相应的操作,做出简单的逻辑判断,控制程序的流转
3,控制场_处理层(dao),实现服务层的具体功能实现
4,模型层(domain),实则就是了封装了学生信息的一个类,javaBean,实现信息的封装
准备工作:新建一个用于存储信息的xml文件,student.xml
<?xml version="1.0" encoding="UTF-8"?>
<exam>
<student idcard="111" examid="222">
<name>张三</name>
<location>沈阳</location>
<grade>89</grade>
</student>
<student idcard="333" examid="444">
<name>李四</name>
<location>大连</location>
<grade>97</grade>
</student>
</exam>
解析xml用到的工具包,dom4j对应的jar文件
项目分包
com.spadeking.utils提供了解析xml文件的工具类,
com.spadeking.damain提供javaBean存放的包
com.spadeking.dao直接操作xml文件的类
com.spadeking.service实现用户操作的响应类
com.spadeking.view用户交互的类,程序的入口类
工具类源码:
package com.spadeking.util;
import java.io.FileOutputStream;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XM