前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[javaEE] 三层架构案例-用户模块(一)

[javaEE] 三层架构案例-用户模块(一)

作者头像
唯一Chat
发布2019-09-10 16:26:06
4780
发布2019-09-10 16:26:06
举报
文章被收录于专栏:陶士涵的菜地

用户注册登录注销

Servlet+JSP+javaBean+dom4j

分层结构:

com.tsh.web

com.tsh.service

com.tsh.dao

com.tsh.domain

com.tsh.util

com.tsh.test

com.tsh.exception

com.tsh.factory

使用的包:

dom4j jstl beanutils junit

users.xml-----------模拟数据库

config.properties------------主配置文件

XPATH:

dom4j提供的方法,可以在xml文件中查找指定的节点,类似正则在文本文件中查找指定文本

com.tsh.dao.XmlUserDao.java

代码语言:javascript
复制
package com.tsh.dao;

import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

import com.tsh.domain.User;
import com.tsh.util.XmlDaoUtil;

public class XmlUserDao {
    /**
     * 根据用户名查找user
     * @param username
     * @return
     */
    public User findUserByUsername(String username){
        Document dom=XmlDaoUtil.getDom();
        Element root=dom.getRootElement();
        //使用XPATH语法
        List<Element> list=root.selectNodes("//user[@username='"+username+"']");
        if(list.size()>0){
            Element userElement=list.get(0);
            String uname=userElement.attributeValue("username");
            String password=userElement.attributeValue("password");
            //将用户信息封装到bean
            User user=new User();
            user.setUsername(uname);
            user.setPassword(password);
            user.setPassword_confirm(password);
            return user;
        }
        return null;
    }
    /**
     * 添加用户
     * @param user
     */
    public void addUser(User user){
        Document dom=XmlDaoUtil.getDom();
        Element root=dom.getRootElement();
        //创建<user>元素
        Element userElement=DocumentHelper.createElement("user");
        userElement.setAttributeValue("username", user.getUsername());
        userElement.setAttributeValue("password", user.getPassword());
        //挂载到<users>
        root.add(userElement);
        //回写到xml文件
        
    }
}

com.tsh.util.XmlDaoUtil.java

代码语言:javascript
复制
package com.tsh.util;

import java.net.URL;

import org.dom4j.Document;
import org.dom4j.io.SAXReader;

public class XmlDaoUtil {
    private static URL path=XmlDaoUtil.class.getClassLoader().getResource("user.xml");
    /**
     * 使用静态代码块,对象只实例化一次
     */
    private static Document dom;
    static{
        SAXReader reader=new SAXReader();
        try {
            //类加载器找到物理路径
            dom=reader.read(path);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 获取xml
     * @return
     */
    public static Document getDom(){
        return dom;
    }
    /**
     * 写入xml
     */
    public static void writeXml(){
        
    }
}

com.tsh.domain.User.java

代码语言:javascript
复制
package com.tsh.domain;

import java.io.Serializable;

public class User implements Serializable{
    private String username;
    private String password;
    private String password_confirm;
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPassword_confirm() {
        return password_confirm;
    }
    public void setPassword_confirm(String password_confirm) {
        this.password_confirm = password_confirm;
    }
    
}

user.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user username="admin" password="admin"></user>
</users>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-07-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档