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

用户注册登录注销

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<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

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

<?xml version="1.0" encoding="UTF-8"?>
<users>
<user username="admin" password="admin"></user>
</users>
时间: 2024-10-08 00:51:40

[javaEE] 三层架构案例-用户模块(一)的相关文章

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

使用junit测试框架,测试查找用户和添加用户功能 com.tsh.test.xmlUserDaoTest package com.tsh.test; import org.junit.Test; import com.tsh.dao.XmlUserDao; import com.tsh.domain.User; /** * 测试用例 * @author taoshihan * */ public class xmlUserDaoTest { @Test public void testFind

JavaEE三层架构

三层架构 三层架构是javaee规范中的推荐架构,传统意义上是分为表示层(UI).业务逻辑层(BLL).数据访问层(DAL).在javaee的开发中,三层架构具体分为表示层(web层).业务逻辑层(service).数据访问层(dao层). 三层架构是典型的架构模式(Architecture Pattern),将产品的开发细分为三层,这么做的好处是能够让每个人都能发挥自己的专长.比如前端工程师能专注页面的设计,如何吸引用户,而不用在乎业务逻辑的实现.数据库工程师,又可以专注数据库的处理,使其变得

MVC开发模式与javaEE三层架构

1.MVC开发模式 1. M:Model,模型.JavaBean        * 完成具体的业务操作,如:查询数据库,封装对象2. V:View,视图.JSP        * 展示数据3. C:Controller,控制器.Servlet        * 获取用户的输入        * 调用模型        * 将数据交给视图进行展示 2.三层架构(软件设计架构) 1. 界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互2. 业务逻辑层:处理业务逻辑的.3. 数

用户登录——三层架构

1.MVC开发模式(web开发模式): M:model-------javabean(封装数据) V:view----------jsp(显示数据) C:controller----servlet(获取数据) 2.javaee的三层架构(javaee开发): web层:与客户端交互 service层:复杂的业务处理 dao层:与数据库交互 3.工程结构: 4.三层架构: web层: protected void doPost(javax.servlet.http.HttpServletReque

JavaEE使用三层架构(显示层、业务逻辑层、数据访问层)实现数据的增删改查

实例: 1.功能描述 实现一个简易新闻发布系统,包括查看.添加.修改和删除新闻等基本功能 2.具体要求 (1) 创建数据库 newssystem,创建表 news,要求如下: (2) 程序运行时,显示'发布新闻'页面(如图 1),输入相关内容,单击'提交'按钮,将新闻内容添加到数据库 (3) 单击图 1 中的'查看'按钮,显示'查看新闻'页面(如图 2),增加'修改'和'删除'链接 (4) 单击图 2 中的'update'链接,显示'修改新闻'页面(如图 3),修改后单击'修改'按钮确认,单击'

三层架构下实现用户登陆C#

上篇文章讲到三层.接下来就通过一个实例具体的看怎么用三层实现用户登陆界面. 一.Model实体(LoginModel): namespace LoginModel { //添加类:UserInfo Model实体作用:封装数据,使数据在三层中传输 ,更倾向于业务逻辑层 public class UserInfo { //定义用户属性 public int ID { get; set; } public string UserName { get; set; } public string Pas

javaEE体系架构

1.两层架构 简单将系统分为前台(视图).后台(模型). 前台:即jsp.el和jstl等页面的表示 后台:业务逻辑层与表示层或数据层混在一起. 没有任何中间件,开发.部署.扩展.维护困难. 如:jsp+servlet(+Dao).jsp+javaBean(+Dao) 2.MVC设计模式 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写. 模型:模型层负责封装应用的状态,并实现数据处理和业务逻辑. 视图:视图层负

ASP.NET典型三层架构企业级医药行业ERP系统实战

我这里有一套课程和大家分享,我的qq是2059055336,   课程说明: 国内首部完整讲述ERP系统架构.业务逻辑.开发的项目实战课程.考虑到本系统的庞大及复杂性.本课程原价购买学员每人赠送一个U盾设备,U盾可插在任意电脑上进行学习,使用方便,学习灵活!可永久学习! 项目由来: 此项目是讲师亲自参与构架及参与开发的大型ERP项目,此项目已被太阳石药业,九芝堂药业,拜欧药业等多家大中型企业使用,为其创造巨大经济价值.整个项目由10多个研发人员全程打造,项目总价值接近3000万,给企业创造的价值

从MVC和三层架构说到SSH整合开发

相信很多人都认同JavaWeb开发是遵从MVC开发模式的,遵从三层架构进行开发的,是的,大家都这么认同.但是相信大家都会有过这样一个疑问,if(MVC三层模式==三层架构思想)out.println(“请继续观看……”) 1.MVC(MODEL-VIEW-CONTROLLER)设计模式: 首先让我们了解下MVC(Model-View-Controller)的概念: MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写