--------------javabean-------------------------
package cn.gdpe.bean;
public class Contact {
private String id;
private String name;
private String address;
private String sex;
private String cell;
private String salary;
private String qq;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getCell() {
return cell;
}
public void setCell(String cell) {
this.cell = cell;
}
public String getSalary() {
return salary;
}
public void setSalary(String salary) {
this.salary = salary;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString (){
return "编号--》"+id+" 姓名--》"+name+" 性别--》"+sex+" 电话--》"+cell+" QQ--》"+qq+" 薪水--》"+salary+" 地址--》"+address;
}
}
------------------------dao层------------------------------
package cn.gdpe.dao;
import cn.gdpe.bean.Contact;
import cn.gdpe.utils.XmlUtil;
public class ContactDaoImpl {
//根据id查询
public Contact getById(String id){
Document doc=XmlUtil.xmlReader();
Element root=doc.getRootElement();
List<Element> list=root.elements();
Contact cont=new Contact();
for(Element e:list){
String idAttr=e.attribute("id").getText();
if(id.equals(idAttr)){
cont.setId(idAttr);
cont.setName(e.element("name").getText());
cont.setAddress(e.element("address").getText());
cont.setSex(e.element("sex").getText());
cont.setCell(e.element("cell").getText());
cont.setSalary(e.element("salary").getText());
cont.setQq(e.element("qq").getText());
break;
}
}
return cont;
}
//增加联系人
public void addContact(Contact cont){
Document doc=XmlUtil.xmlReader();
Element root=doc.getRootElement();
Element e=root.addElement("contact");
e.addAttribute("id", cont.getId());
e.addElement("name").setText(cont.getName());
e.addElement("address").setText(cont.getAddress());
e.addElement("sex").setText(cont.getSex());
e.addElement("cell").setText(cont.getCell());
e.addElement("salary").setText(cont.getSalary());
e.addElement("qq").setText(cont.getQq());
XmlUtil.xmlWriter(doc);
}
//修改联系人
public void updateContact(Contact cont){
Document doc=XmlUtil.xmlReader();
Element root=doc.getRootElement();
List<Element> list=root.elements();
String id=cont.getId();
for(Element e:list){
String idAttr=e.attribute("id").getText();
if(id.equals(idAttr)){
e.setText(cont.getName());
e.setText(cont.getAddress());
e.setText(cont.getSex());
e.setText(cont.getCell());
e.setText(cont.getSalary());
e.setText(cont.getQq());
break;
}
}
XmlUtil.xmlWriter(doc);
}
//删除联系人
public void deleteContact(String id){
Document doc=XmlUtil.xmlReader();
Element root=doc.getRootElement();
List<Element> list=root.elements();
for(Element e:list){
String idAttr=e.attribute("id").getText();
if(id.equals(idAttr)){
root.remove(e);
break;
}
}
XmlUtil.xmlWriter(doc);
}
//所有联系人
public List<Contact> allContact(){
Document doc=XmlUtil.xmlReader();
Element root=doc.getRootElement();
List<Contact> contactList=new ArrayList<Contact>();
List<Element> list=root.elements();
for(Element e:list){
Contact cont=new Contact();
cont.setId(e.attributeValue("id"));
cont.setName(e.element("name").getText());
cont.setAddress(e.element("address").getText());
cont.setSex(e.element("sex").getText());
cont.setCell(e.element("cell").getText());
cont.setSalary(e.element("salary").getText());
cont.setQq(e.element("qq").getText());
contactList.add(cont);
}
return contactList;
}
}
---------------------------serlvet层-----------------------------
package cn.gdpe.controller;
import org.apache.commons.beanutils.BeanUtils;
import cn.gdpe.bean.Contact;
import cn.gdpe.dao.ContactDaoImpl;
public class ContactServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String method=request.getParameter("method");
System.out.println(method);
ContactDaoImpl cDao=new ContactDaoImpl();
String uri=null;
if("".equals(method)||method==null){
List<Contact> list=cDao.allContact();
request.setAttribute("list", list);
uri="/list.jsp";
}else if("getOne".equals(method)){
String id=request.getParameter("id");
Contact con=cDao.getById(id);
request.setAttribute("con", con);
uri="/detail.jsp";
}else if("deleteOne".equals(method)){
String id=request.getParameter("id");
cDao.deleteContact(id);
List<Contact> list=cDao.allContact();
request.setAttribute("list", list);
uri="/list.jsp";
}else if("updateOne".equals(method)){
String id=request.getParameter("id");
Contact con=cDao.getById(id);
request.setAttribute("con", con);
uri="/update.jsp";
}else if("update".equals(method)){
try {
Contact con=new Contact();
BeanUtils.setProperty(con,"id",request.getParameter("id"));
BeanUtils.setProperty(con,"name",request.getParameter("name"));
BeanUtils.setProperty(con,"sex",request.getParameter("sex"));
BeanUtils.setProperty(con,"cell",request.getParameter("cell"));
BeanUtils.setProperty(con,"address",request.getParameter("address"));
BeanUtils.setProperty(con,"salary",request.getParameter("salary"));
BeanUtils.setProperty(con,"qq",request.getParameter("qq"));
cDao.updateContact(con);
List<Contact> list=cDao.allContact();
request.setAttribute("list", list);
uri="/list.jsp";
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}else if("addOne".equals(method)){
try {
Contact con=new Contact();
BeanUtils.setProperty(con,"id",request.getParameter("id"));
BeanUtils.setProperty(con,"name",request.getParameter("name"));
BeanUtils.setProperty(con,"sex",request.getParameter("sex"));
BeanUtils.setProperty(con,"cell",request.getParameter("cell"));
BeanUtils.setProperty(con,"address",request.getParameter("address"));
BeanUtils.setProperty(con,"salary",request.getParameter("salary"));
BeanUtils.setProperty(con,"qq",request.getParameter("qq"));
cDao.addContact(con);
List<Contact> list=cDao.allContact();
request.setAttribute("list", list);
uri="/list.jsp";
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
else if("add".equals(method)){
uri="/add.jsp";
}
request.getRequestDispatcher(uri).forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
----------------------------工具类-------------------------
package cn.gdpe.utils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class XmlUtil {
public static Document xmlReader(){
try {
File file=new File("F:/contact.xml");
if(file.exists()){
SAXReader sr=new SAXReader();
Document document=sr.read(file);
return document;
}else{
throw new RuntimeException("文件不存在");
}
} catch (DocumentException e) {
throw new RuntimeException(e);
}
}
public static void xmlWriter(Document document){
try {
FileOutputStream fos=new FileOutputStream("F:/contact.xml");
OutputFormat of=OutputFormat.createPrettyPrint();
XMLWriter writer=new XMLWriter(fos,of);
writer.write(document);
writer.close();
fos.close();
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
-------------------------------xml文档格式--限制字数凑合着看吧---------------------------
<?xml version="1.0" encoding="UTF-8"?>
<contacts><contact><name></name><address></address><sex></sex> <cell></cell><salary></salary<QQ></QQ></contact></contacts>