您的位置:首页 > 编程语言 > Java开发

java版学生成绩管理系统(增删改查+数据用xml文档存储)

2017-04-09 17:50 696 查看
简介:简单版学生成绩管理系统,运用了jquery,dom4j解析xml增删改查,css,记录下来,以便以后可以查看
ps:在这里只贴上servlet代码,其余的就不贴了  
xml文件内容与构造
<?xml version="1.0" encoding="utf-8"?>

<users>

<user>

<name>洋洋</name>

<mgrade>89</mgrade>

<egrade>90</egrade>

</user>

<user>

<name>建军</name>

<mgrade>67</mgrade>

<egrade>78</egrade>

</user>

<user>

<name>qwr</name>

<mgrade>2</mgrade>

<egrade>1</egrade>

</user>

<user>

<name>wer</name>

<mgrade>2</mgrade>

<egrade>1</egrade>

</user>
</users>

增:
package Work2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

@WebServlet("/SubmitServlet")
public class SubmitServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public SubmitServlet() {
super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String math = request.getParameter("math");
String english = request.getParameter("english");
try{
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"));
//获得根节点
Element root = doc.getRootElement();
//定义子节点
Element user = root.addElement("user");
Element na = user.addElement("name");
na.setText(name);
Element mgrade = user.addElement("mgrade");
mgrade.setText(math);
Element egrade = user.addElement("egrade");
egrade.setText(english);
//设置输出格式
OutputFormat format = new OutputFormat("", true, "utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"), format);
writer.write(doc);
writer.close();
response.sendRedirect(request.getContextPath() + "/Work2_1.jsp");
}catch (Exception e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

}

删:
package Work2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

/**
* Servlet implementation class DeleteServlet
*/
@WebServlet("/DeleteServlet")
public class DeleteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

public DeleteServlet() {
super();
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
List<String> li = new ArrayList<String>() ;
dd18

try {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"));
// 获得根节点
Element root = doc.getRootElement();
// 得到根节点的下的user节点列表
@SuppressWarnings("rawtypes")
List user = root.selectNodes("user");
@SuppressWarnings("rawtypes")
//迭代器
Iterator iter = user.iterator();
while (iter.hasNext()) {
// 获取该列表种的下一个元素 必须要有next() 不然会死循环
Element e = (Element) iter.next();//第一次执行此语句为获得第一个列表中的节点
String name1 = e.elementText("name");
if (name.equals(name1)) {
root.remove(e);
break;
}
}
OutputFormat format = new OutputFormat("", true, "utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"),format);
writer.write(doc);
writer.close();
response.sendRedirect(request.getContextPath() + "/Work2_1.jsp");
} catch (Exception e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

}

改:
package Work2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

@WebServlet("/AlterServlet")
public class AlterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String math = request.getParameter("math");
String eng = request.getParameter("english");
try {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"));
// 获得根节点
Element root = doc.getRootElement();
// 得到根节点的下的user节点列表
@SuppressWarnings("rawtypes")
List user = root.selectNodes("user");
@SuppressWarnings("rawtypes")
//迭代器
Iterator iter = user.iterator();
while (iter.hasNext()) {
// 获取该列表种的下一个元素 必须要有next() 不然会死循环
Element e = (Element) iter.next();//第一次执行此语句为获得第一个列表中的节点
String name1 = e.elementText("name");
if (name.equals(name1)) {
@SuppressWarnings("rawtypes")
//获取user(子)节点下的所有的子节点的综合
Iterator iter1 = e.elementIterator();
int i = 1;
while (iter1.hasNext()) {
//获取user下的单个节点 next()必须!!!!!!
Element element2 = (Element) iter1.next();
if (i == 2) {
element2.setText(math);
}
if(i == 3){
element2.setText(eng);
}
i++;
}
}
}
OutputFormat format = new OutputFormat("", true, "utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"),format);
writer.write(doc);
writer.close();
System.out.println(request.getContextPath());
response.sendRedirect(request.getContextPath() + "/Work2_1.jsp");
} catch (Exception e) {
e.printStackTrace();
}
}

}

查:
package Work2;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

@WebServlet("/QueryServlet")
public class QueryServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public QueryServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
List<String> li = new ArrayList<String>() ;
try {
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"));
// 获得根节点
Element root = doc.getRootElement();
// 得到根节点的下的user节点列表
@SuppressWarnings("rawtypes")
List user = root.selectNodes("user");
@SuppressWarnings("rawtypes")
//迭代器
Iterator iter = user.iterator();
while (iter.hasNext()) {
// 获取该列表种的下一个元素 必须要有next() 不然会死循环
Element e = (Element) iter.next();//第一次执行此语句为获得第一个列表中的节点
String name1 = e.elementText("name");
if (name.equals(name1)) {
@SuppressWarnings("rawtypes")
//获取user(子)节点下的所有的子节点的综合
Iterator iter1 = e.elementIterator();
while (iter1.hasNext()) {
//获取user下的单个节点 next()必须!!!!!!
Element element2 = (Element) iter1.next();
if(element2.getText()!=null)
li.add(element2.getText());
}
}
}
request.getSession().setAttribute("Name", name);
request.getSession().setAttribute("Math", li.get(1));
request.getSession().setAttribute("Eng", li.get(2));
OutputFormat format = new OutputFormat("", true, "utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("D:/java Web 程序/jsj_3_20153697_5/src/Users.xml"),format);
writer.write(doc);
writer.close();
response.sendRedirect(request.getContextPath() + "/Show.jsp");
} catch (Exception e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: