您现在的位置:首页 >> 前端 >> 内容

基于XML的数据存储读取---实现的登录与注册

时间:2015/11/10 13:37:00 点击:

  核心提示:简单的基于xml做数据库的登录与注册主题介绍:1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用classLoader)文件的读取和存储,写了一个工厂类public clas...

简单的基于xml做数据库的登录与注册

主题介绍:

1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用classLoader)

文件的读取和存储,写了一个工厂类

 

public class DocumentFactory {
	private static Document dom=null;//需要共享一个dom,所以需要设置为static 
	private static String name=user.xml;
	private static String filename;
//写一个静态块实现对dom树的读取
	static{//dom4j技术
		SAXReader read=new SAXReader();
		 filename=DocumentFactory.class.getClassLoader().getResource(name).getPath();//采用类加载器进行读取文件
				 try {
					dom=read.read(filename);
				} catch (DocumentException e) {			e.printStackTrace();}}
//主要获得和存储的两个函数(采用单例模式)(必须共享一个dom数)
	
	public static  Document getDocument(){ //获得xml中的dom树
		return dom;
	}
	
//注册之后需要保存
	public static void Save() {
		XMLWriter wr;
		try {
			wr = new XMLWriter(new FileOutputStream(filename));
		}catch (Exception e1) {
			throw new RuntimeException(存储文件时读文件失败);
		}
		try {
			wr.write(dom);
		} catch (IOException e) {
			throw new RuntimeException(写文件失败+e.getMessage());
		}finally{
			try {
				if(wr!=null){
				wr.close();
				}
			} catch (IOException e) {
				throw new RuntimeException(关流失败+e.getMessage());}}}
}

 

2.前台的技术:基本上就是界面的搭建和将数据传到后台进行处理。以及部分的必填选项要求

两个页面的代码:

//登录

 


用户名:
密 码 :
验证码:基于XML的数据存储读取---实现的登录与注册看不清//需要重写一个js进行刷新
  注册

 

//登录后台的处理

 

public class Login extends HttpServlet {

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

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		request.setCharacterEncoding(utf-8);//设置utf-8的编码格式去接收
		response.setContentType(text/html;charset=UTF-8);//设置页面显示方式,这个设置必须要在获得输出流之前设置,不然设置都没有用,照样会出现乱码
		PrintWriter out = response.getWriter();
		
		out.println();
		out.println(
); out.println( ); out.println( ); out.println(); String name=request.getParameter(name); String pwd=request.getParameter(pwd); String check=request.getParameter(checkCode);//从界面获得验证码输入的值 ImgDemo id =new ImgDemo(); String str=id.getStr(); if(!check.equals(str)){ out.println(登录失败,验证码不正确!!);//要是验证码不符合,直接返回登录界面 out.print(返回登录); return; } // System.out.println(11+check); // System.out.println(22+str); //登录前获得所有的对象 Document dom=DocumentFactory.getDocument(); boolean flag=false; Element root=dom.getRootElement(); Iterator it=root.elementIterator(); while(it.hasNext()){ Element ele =it.next(); String nameC=ele.attributeValue(name); String pwdC=ele.attributeValue(pwd); if(name.trim().equals(nameC)&&pwdC.equals(pwdC)){ flag=true; break; } } if(flag){ out.print(恭喜您,登陆成功!); out.println(返回登录); }else{ out.print(用户名和密码不匹配。登录失败。。。); out.println(返回登录); } out.println( ); out.println(); out.flush(); out.close(); } }

 

//注册。。(和登录没有太大的区别)

 

 
用户 名:
密 码 :
确认密码 :
   
注册的后台处理

 

 

public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType(text/html;charset=utf-8);//必须要设置在获得Printwrite之前,都则设置无效
		PrintWriter out = response.getWriter();
		out.println();
		out.println(
); out.println( ); out.println(); boolean flag=false; request.setCharacterEncoding(utf-8); String name=request.getParameter(name); String pwd=request.getParameter(pwd); Document dom =DocumentFactory.getDocument(); Element root=dom.getRootElement(); Iterator it=root.elementIterator(); while(it.hasNext()){ Element ele=it.next(); String nameR=ele.attributeValue(name);//这里传过来的值可能是null.所以我们必须在前台要预防一下,当然在这里也要考虑一下 String pwdR=ele.attributeValue(pwd); if(name.equals(nameR)&&pwd.equals(pwdR)){ flag=true; break; } } if(flag){ out.print(此用户已注册!!); out.print(返回注册); }else{ Element ele=root.addElement(user); ele.addAttribute(name, name); ele.addAttribute(pwd, pwd); DocumentFactory.Save(); out.print(注册成功!!); out.print(返回登录); } out.println( ); out.println(); }

 

3.验证码技术:同样的从后台获取图片,以及登录时候进行匹配

验证码技术之前这个里面已经介绍了验证码技术。

效果图:

1,首先是验证验证码的

基于XML的数据存储读取---实现的登录与注册基于XML的数据存储读取---实现的登录与注册基于XML的数据存储读取---实现的登录与注册

2.密码匹配

基于XML的数据存储读取---实现的登录与注册

3,用户注册

基于XML的数据存储读取---实现的登录与注册基于XML的数据存储读取---实现的登录与注册基于XML的数据存储读取---实现的登录与注册基于XML的数据存储读取---实现的登录与注册 4.密码正确

基于XML的数据存储读取---实现的登录与注册

5,查看user.xml文件

基于XML的数据存储读取---实现的登录与注册基于XML的数据存储读取---实现的登录与注册

 

 

 

 

 

 

Tags:基于 于X XM ML 
作者:网络 来源:yangxin_bl