一、现在先使用xml来充当数据库,显示了用户的crud功能:
实体类:
public class User { private String id; private String name; private String password; private String gender; private String birth; private String address; private String email; public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getBirth() { return birth; } public void setBirth(String birth) { this.birth = birth; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public User(String id, String name, String password, String gender, String birth, String address,String email) { super(); this.id = id; this.name = name; this.password = password; this.gender = gender; this.birth = birth; this.address = address; this.email = email; } public User() { super(); } }
import java.util.List; import xml_crud.entiry.User; public interface UserDao { /* * 对用户的操作 */ //查找用户 public ListfindAll(); public User findById(String id); public void editUser(User user); public void delUser(String id); public void addUser(User user); }
import java.util.ArrayList; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import xml_crud.entiry.User; import xml_crud.util.XMLUtil; public class UserDaoImpl implements UserDao { public ListfindAll() { try { Document doc = XMLUtil.read(); Element root = doc.getRootElement();
//查找到所有的元素进行遍历 Listusers = new ArrayList (); List elements = root.elements(); for(Element e : elements){ String id = e.attributeValue("id"); String name = e.elementText("name"); String password = e.elementText("password"); String gender = e.elementText("gender"); String birth = e.elementText("birth"); String email = e.elementText("email"); String address = e.elementText("address"); User user = new User(id, name, password, gender, birth, address,email); users.add(user); } return users; } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(",网络异常,请稍后再操作."); } } public User findById(String id) { try{ Document doc = XMLUtil.read(); Element element = (Element) doc.getRootElement().selectSingleNode("//user[@id='"+id+"']"); User user = null; if(element != null){ user = new User(); String name = element.elementText("name"); String password = element.elementText("password"); String gender = element.elementText("gender"); String birth = element.elementText("birth"); String email = element.elementText("email"); String address = element.elementText("address"); user.setId(id); user.setAddress(address); user.setBirth(birth); user.setEmail(email); user.setGender(gender); user.setName(name); user.setPassword(password); } return user; }catch(Exception e){ e.printStackTrace(); throw new RuntimeException(",网络异常,请稍后再操作."); } } public void editUser(User user) { try{ Document doc = XMLUtil.read(); Element element = (Element) doc.getRootElement().selectSingleNode("//user[@id='"+user.getId()+"']"); if(element != null){ element.element("name").setText(user.getName()); element.element("password").setText(user.getPassword()); element.element("gender").setText(user.getGender()); element.element("address").setText(user.getAddress()); element.element("email").setText(user.getEmail()); element.element("birth").setText(user.getBirth()); } XMLUtil.writerxml(doc); }catch(Exception e){ e.printStackTrace(); throw new RuntimeException(",网络异常,请稍后再操作."); } } public void delUser(String id) { try{ Document doc = XMLUtil.read(); Element element = (Element) doc.getRootElement().selectSingleNode("//user[@id='"+id+"']"); if(element != null){ element.getParent().remove(element); } XMLUtil.writerxml(doc); }catch(Exception e){ e.printStackTrace(); throw new RuntimeException(",网络异常,请稍后再操作."); } } public void addUser(User user) { try{ Document doc = XMLUtil.read(); Element root = doc.getRootElement(); Element e = root.addElement("user"); e.addAttribute("id", user.getId()); e.addElement("name").setText(user.getName()); e.addElement("password").setText(user.getPassword()); e.addElement("gender").setText(user.getGender()); e.addElement("email").setText(user.getEmail()); e.addElement("address").setText(user.getAddress()); e.addElement("birth").setText(user.getBirth()); XMLUtil.writerxml(doc); }catch(Exception e){ e.printStackTrace(); throw new RuntimeException(",网络异常,请稍后再操作."); } } }
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import xml_crud.dao.UserDao; import xml_crud.dao.UserDaoImpl; import xml_crud.entiry.User; public class AddUserServlet extends HttpServlet { private UserDao dao = new UserDaoImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String name = request.getParameter("name"); String password = request.getParameter("password"); String birth = request.getParameter("birth"); String address = request.getParameter("address"); String email = request.getParameter("email"); String gender = request.getParameter("gender"); User user = new User(id, name, password, gender, birth, address, email); dao.addUser(user); response.setContentType("text/html;charset=utf-8"); response.getWriter().write("添加成功,3秒后跳转"); response.setHeader("refresh", "3;url="+request.getContextPath()+"/QueryUserServlet"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import xml_crud.dao.UserDao; import xml_crud.dao.UserDaoImpl; public class DelUserServlet extends HttpServlet { private UserDao dao = new UserDaoImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); dao.delUser(id); response.setContentType("text/html;charset=utf-8"); response.getWriter().write("删除成功,3秒后跳转"); response.setHeader("refresh", "3;url="+request.getContextPath()+"/QueryUserServlet"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import xml_crud.dao.UserDao; import xml_crud.dao.UserDaoImpl; import xml_crud.entiry.User; public class EditServlet extends HttpServlet { private UserDao dao = new UserDaoImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String name = request.getParameter("name"); String password = request.getParameter("password"); String birth = request.getParameter("birth"); String address = request.getParameter("address"); String email = request.getParameter("email"); String gender = request.getParameter("gender"); User us = dao.findById(id); us.setAddress(address); us.setBirth(birth); us.setEmail(email); us.setGender(gender); us.setName(name); us.setPassword(password); dao.editUser(us); response.setContentType("text/html;charset=utf-8"); response.getWriter().write("修改成功,3秒后跳转"); response.setHeader("refresh", "3;url="+request.getContextPath()+"/QueryUserServlet"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import xml_crud.dao.UserDao; import xml_crud.dao.UserDaoImpl; import xml_crud.entiry.User; public class QueryUserServlet extends HttpServlet { private UserDao dao = new UserDaoImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Listlist = dao.findAll(); request.setAttribute("userlist", list); request.getRequestDispatcher("/queryUser.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import xml_crud.dao.UserDao; import xml_crud.dao.UserDaoImpl; import xml_crud.entiry.User; public class EditUserServlet extends HttpServlet { private UserDao dao = new UserDaoImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String id = request.getParameter("id"); User user = dao.findById(id); request.setAttribute("user", user); request.getRequestDispatcher("/editUser.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; 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 { /** * 对“数据库”xml的读取操作 * @return * @throws Exception */ public static Document read() throws Exception{ SAXReader reader = new SAXReader(); Document doc = reader.read("d:/java/webapps/Myitcast_day09/WEB-INF/classes/user.xml"); return doc; } /** * 对“数据库”xml的写入操作 * @param doc * @throws Exception */ public static void writerxml(Document doc) throws Exception{ XMLWriter writer = new XMLWriter( new FileOutputStream(new File("d:/java/webapps/Myitcast_day09/WEB-INF/classes/user.xml")), OutputFormat.createPrettyPrint() ); writer.write(doc); writer.close(); } }
eric 1234 男 1980-09-08 eric@qq.com 广州天河eric 1234 女 1987-05-04 eric@qq.com 广州黄埔狗娃 1234 男 1987-05-06 gouwa@qq.com 广州越秀铁蛋 1234 女 1987-01-01 tiedan@qq.com 广州海珠