博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[javaEE] 三层架构案例-用户模块(一)
阅读量:6071 次
发布时间:2019-06-20

本文共 3179 字,大约阅读时间需要 10 分钟。

用户注册登录注销

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

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
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(); //创建
元素 Element userElement=DocumentHelper.createElement("user"); userElement.setAttributeValue("username", user.getUsername()); userElement.setAttributeValue("password", user.getPassword()); //挂载到
root.add(userElement); //回写到xml文件 }}

 

 

com.tsh.util.XmlDaoUtil.java

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

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

 

 

转载地址:http://gzigx.baihongyu.com/

你可能感兴趣的文章
js颜色拾取器
查看>>
IDEA使用(1)intellIJ idea 配置 svn
查看>>
Thread Safety in Java(java中的线程安全)
查看>>
WPF 降低.net framework到4.0
查看>>
数据管理DMS 全量SQL诊断:你的SQL是健康的蓝色,还是危险的红色?
查看>>
搭建一个通用的脚手架
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
开源磁盘加密软件VeraCrypt教程
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
阿里云公共镜像、自定义镜像、共享镜像和镜像市场的区别 ...
查看>>
shadowtunnel v1.7 发布:新增上级负载均衡支持独立密码
查看>>
Java线程:什么是线程
查看>>
mysql5.7 创建一个超级管理员
查看>>
【框架整合】Maven-SpringMVC3.X+Spring3.X+MyBatis3-日志、JSON解析、表关联查询等均已配置好...
查看>>
要想成为高级Java程序员需要具备哪些知识呢?
查看>>
带着问题去学习--Nginx配置解析(一)
查看>>
onix-文件系统
查看>>
java.io.Serializable浅析
查看>>
我的友情链接
查看>>
多线程之线程池任务管理通用模板
查看>>