XML操作举例→实现用户登录
来源:互联网 发布:如何用c语言画爱心 编辑:程序博客网 时间:2024/05/22 01:59
XmlUtils.java package cn.zyw.utils;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;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;//3public class XmlUtils { private static String filepath; static{ filepath=XmlUtils.class.getClassLoader().getResource("users.xml").getPath(); filepath=filepath.replace("%20", " "); } public static Document getDocument() throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read(new File(filepath)); return document; } public static void write2Xml(Document document) throws Exception{ OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream(filepath), format ); writer.write( document ); writer.close(); }}
有时我们想做做一个小的项目需要保存一定的数据,如果用数据库当然是可以的。但是总觉得有点浪费资源。所以今天就学习了一点Xml总结如下:
1:Xml文件如下:
<?xml version="1.0" encoding="UTF-8"?><users> <user id="234343434" username="aaa" password="123" email="aa@sina.com" birthday="1900-09-18" nickname="强子" /></users>
2:操作Xml文件的工具类
XmlUtils.java package cn.zyw.utils;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;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;//3public class XmlUtils { private static String filepath; static{ filepath=XmlUtils.class.getClassLoader().getResource("users.xml").getPath(); filepath=filepath.replace("%20", " "); } public static Document getDocument() throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read(new File(filepath)); return document; } public static void write2Xml(Document document) throws Exception{ OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream(filepath), format ); writer.write( document ); writer.close(); }}
3:用户登录的Dao
UserDao .java
package cn.zyw.dao;
import cn.zyw.domain.User;//5public interface UserDao {
void add(User user);
User find(String username, String password);
//查找注册的用户是否在数据库中存在 boolean find(String username);
}
4:用户登录的实现类
UserDaoImpl .java
package cn.zyw.dao.impl;
import java.text.SimpleDateFormat;
import org.dom4j.Document;import org.dom4j.Element;
import cn.zyw.dao.UserDao;import cn.zyw.domain.User;import cn.zyw.utils.XmlUtils;//2public class UserDaoImpl implements UserDao { public void add(User user){ try { Document document=XmlUtils.getDocument(); Element root=document.getRootElement();//得到根节点 Element user_tag=root.addElement("user"); user_tag.setAttributeValue("id", user.getId()); user_tag.setAttributeValue("username", user.getUsername()); user_tag.setAttributeValue("password", user.getPassword()); user_tag.setAttributeValue("email", user.getEmail()); user_tag.setAttributeValue("nickname", user.getNickname()); user_tag.setAttributeValue("birthday", user.getBirthday()==null ? "" : user.getBirthday().toLocaleString()); XmlUtils.write2Xml(document); } catch (Exception e) { throw new RuntimeException(e); } } public User find(String username,String password){
try { Document document=XmlUtils.getDocument(); Element e=(Element) document.selectSingleNode("//user[@username='"+username+"' and @password='"+password+"']"); if(e==null) return null; User user=new User(); user.setUsername(e.attributeValue("username"));//获取xml里面的值 user.setNickname(e.attributeValue("nickname")); user.setPassword(e.attributeValue("password")); user.setEmail(e.attributeValue("email")); user.setId(e.attributeValue("id")); String date=e.attributeValue("birthday"); if(date==null || date.equals("")){ user.setBirthday(null); }else{ SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(df.parse(date)); } return user; } catch (Exception e) { throw new RuntimeException(e); } } //查找注册的用户是否在数据库中存在 public boolean find(String username){ try { Document document=XmlUtils.getDocument(); Element e=(Element) document.selectSingleNode("//user[@username='"+username+"']"); if(e==null){ return false; } return true; } catch (Exception e) { throw new RuntimeException(e); } } }
5:用户登录的测试
UserDaoTest.java
package junit.test;
import java.util.Date;import org.junit.Test;import cn.zyw.dao.UserDao;import cn.zyw.dao.impl.UserDaoImpl;import cn.zyw.domain.User;//4public class UserDaoTest { @Test public void testAdd(){ User user=new User(); user.setBirthday(new Date()); user.setEmail("aa@sina.com"); user.setId("34343434"); user.setNickname("李子"); user.setPassword("123"); user.setUsername("aaa"); UserDao dao=new UserDaoImpl(); dao.add(user); } @Test public void testFind(){ UserDao dao=new UserDaoImpl(); User user=dao.find("aaa","123"); String aa=user.getEmail(); if(aa.endsWith("kk")) { System.out.println("kkdf"); } } @Test public void testFindByUsername(){ UserDao dao=new UserDaoImpl(); boolean b=dao.find("aaa");
}}
- XML操作举例→实现用户登录
- 使用PreparedStatement实现查询操作系列一-----用户登录操作
- 用户登录操作
- 用户登录操作
- 记录用户登录操作
- Delphi实现软件中登录用户的操作权限
- 完成用户注册、登录页面,实现数据的真实操作。
- 实现对未登录用户进行相关操作的拦截
- java30.XML操作------使用Dom4j简单操作XML数据举例
- smarty实现用户登录
- 用户登录实现机制
- java实现用户登录
- AJAX实现用户登录
- 用户登录程序实现
- php实现用户登录
- 用户登录系统实现
- 如何实现用户登录
- servlet实现用户登录
- Ceiling分页存储过程
- Django笔记---项目报错之“xxx is not JSON serializable”
- Android 环境变量配置(Mac)
- 玩转iOS开发 - Runloop 详解
- LeetCode | Valid Palindrome
- XML操作举例→实现用户登录
- linux命令
- inotify-tools时实调用rsync同步文件
- 微信开放平台(公众号第三方平台) -- 全网发布
- CentOS 将网卡设置成eth0
- C#泛型在unity3D中的运用
- 使用VC++压缩解压缩文件夹
- Android 定位详解(显示自己想要的定位信息)
- SCORM Explained