案例——用户登录注册xml版

这个案例详述了使用JavaWeb实现基于XML的用户登录、注册和注销功能。涉及Servlet、JSP和XML文件操作,包括LoginServlet、RegistServlet、LogOutServlet,以及自定义异常类和服务层、DAO层的交互。通过XML工具类解析和更新XML文件,模拟数据库操作。
摘要由CSDN通过智能技术生成

登录注册注销功能实现:
 
 浏览器端----->主页(登录、注册、注销),登录页面、注册页面 ------>浏览器发送请求
 
 ===========================================================
  
 服务器端 ----->登录页面--->LoginServlet
            所具备的功能:
             根据用户名和密码判断用户是否存在
              如果存在登录用户,将用户封装在request域属性中,转发到主页
              如果不存在,提示错误信息
            
      注册页面 ---->RegistServlet
            所具备的功能:
             根据用户名判断用户是否存在
              如果存在,提示信息
              不过不存在,封装信息,添加用户,并登录用户,跳转到主页   -------  web               使用javaBean封装数据 ------domain
      
      注销功能----->LogOutServlet
            所具备的功能:
             注销用户登录的功能,跳转到主页
 
 ===========================================================
 
 提供Service服务完成Servlet与UserDao之间的交互
     所具备的功能:
       注册用户的功能    
        根据用户名判断用户是否存在                   ------------ service
        添加用户
 
       根据用户名和密码判断用户是否存在
 ===========================================================
 
 对数据库信息进行处理 ------>UserDao ------->可以新建一个类专门用于测试该功能UserDaoTest (test包)  ------------dao
           提供一个工具类,用来解析xml文件,更新xml文件,           ------------daoutils
           所具备的功能:
            根据用户名判断用户名是否存在
            根据用户名和密码获取用户对象
            添加用户功能
            
 自定义异常类,用来处理自定义的异常信息                      ------------exception
 
 ===========================================================
 
 数据库----->xml模拟数据库
 
 准备工作:新建web工程

在src目录下新建xml文件users.xml

<?xml version="1.0" encoding="UTF-8"?>
<users>
	<user username="admin" password="admin" nickname="admin" email="admin@black.com"/>
</users>

解析xml文件和支持XPath的jar包

jar包下载

放入到WEB-INF 下的lib文件夹内导入工程

分包:

com.spadeking.utils提供了解析xml文件的工具类

com.spadeking.dao直接操作xml文件的类

com.spadeking.test用来测试dao中的方法

com.spadeking.damain封装JavaBean

com.spadeking.exception自定义异常类

com.spadeking.mytag存放jsp页面用到的自定义标签类

com.spadeking.factory用来对dao层和service层解耦的工厂类,本工程为用到

com.spadeking.service负责信息的逻辑和流转

com.spadeking.web用来对页面信息的处理和service层数据的处理

XMLDaoUtils类:

package com.spadeking.daoutils;

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 XMLDaoUtil {
	private static String path = XMLDaoUtil.class.getClassLoader().getResource(
			"users.xml").getPath();
	private static Document dom=null;
	static {
		SAXReader reader = new SAXReader();
		try {
			dom = reader.read(path);
		} catch (DocumentException e) {
			e.printStackTrace();
			throw new RuntimeException();
		}
	}

	private XMLDaoUtil() {
	}

	public static Document getDom() {
		return dom;
	}

	public static void XmlRef() {
		try {
			XMLWriter writer = new XMLWriter(new FileOutputStream(path),
					OutputFormat.createPrettyPrint());
			writer.write(dom);
			writer.close();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
			throw new RuntimeException();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			throw new RuntimeException();
		} catch (IOException e) {
			e.printStackTrace();
			throw new RuntimeException();
		}
	}
}

javaBean类:

package com.spadeking.domain;

import com.spadeking.exception.MsgException;

public class User {
	private String username;
	private String password;
	private String password2;
	private String nickname;
	private String email;
	public User() {
	}
	public User(String username, String password, String password2,
			String nickname, String email) {
		this.username = username;
		this.password = password;
		this.password2 = password2;
		this.nickname = nickname;
		this.email = email
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值