需求:

	注册登录;

# 知识补充;
>> MVC模型;
|-- M 模型;
|-- V 视图;
|-- >> 基本概念;
|-- 层级之间的调用关系;
|-- V层接收前台数据,也反馈C层处理完毕的M层数据;
|-- C层负责操作前台数据并调用M层;
|-- M层负责存储数据; >> M层;
一般由javaBean充当;
|-- 业务模型;
|-- 对应三层结构中间的业务逻辑层;
|-- 三层结构简析;
> 表示层;
> 业务逻辑层;
> 数据访问层;
---------------
> 业务实体层;
> 控制层;
> 工具类
|-- 注意;
> MVC不属于三层结构;
|-- 命名规范
com.itheima.service
com.itheima.service.impl |-- 数据模型;
|-- 对应三层结构的数据访问层;
|-- 命名规范
com.itheima.dao
com.itheima.dao.impl |-- 实体模型;
|-- 命名规范
com.itheima.domai >> V层;
一般由jsp/html来充当; >> C层;
一般由servlet/action来充当;
|-- 命名规范
com.itheima.web.controller
com.itheima.web.form # 案例开始的准备工作; >> 使用xml存储数据;
|-- 导入需要使用的jar包
> dom4j
> dom4j-xx.jar
> jaxen-xx.jar
> beanutils
> commons-beanutils-xx.jar
> commons-log4j--xx.jar |-- 准备xml文件
|-- 数据结构;
> 操作子节点
user
ursername
password
email
birthday
> 操作属性;
<user username="" password="" ...> >> 准备实体类;
>> 实现Dao的接口设计;
|-- dao的实现类;
|-- 为了实现xml文件更好的操作,做一个单独的工具类;
>> Dao实现类及单元测试; # 步骤; >> 建立XML
>> 建立userbean类;
>> 建立UserDao --- Interface
|-- 定义内部方法;
> addUser(User user);//添加用户
> User getUserByUsername(String username);//判断用户是否存在;
> User getUserByUsernameAndPassword(String username,String password);//登录时校验用户名和密码的匹配;
>> 建立Dom4jUtil工具类;
|-- 定义内部方法;
> Document getDoument(){
获取并返回Document对象;
}
> static{
获取类加载器;
获取users.xml文件路径;
获取这个文件的绝对路径;
}
> writeDocument2Xml(){
获取XMLWriter 对象,在构造参数中接收文件和书写格式;
将其写入document对象;
关流;
} >> 建立UserDaoImpl类,实现UserDao接口;
|-- 实现接口中的具体方法;
> 得到Document 对象
> 得到根节点;
Element root =document.getRootElement();
> 添加一个新节点
Element userEle= root.adElement("user");
> 添加四个属性及对应值;
userEle.addAttribute("username",df.format(user.getUsername())).addAttribute("password",user.getPassword()).addAttrubiute("birthday",user.getBirthday()));
> 回写入XML文件;
Dom4jUtil.writeDoucment2XML(document); |-- User getUserByUsername(String username);
> 得到Document对象;
> 用xpath查找节点;
> 进行判断;
|-- 如果不为空
> 封装属性;
> 在遇到日期属性时,需要用BeanUtils中的方法对其进行转换; >> 建立Test类,进行JUniut单元测试; >> 建立UserService接口,实现业务逻辑;
|-- regist(User user)// 注册方法;
|-- 判断该用户名是否可用;
|-- 是:注册;
> 判断u是否为空;
> 是空则添加;
>否则...
|-- 否;抛出已存在异常;
|-- login(String username,String password) >> 建立自定义异常类; >> 建立index.jsp/longin.jsp/register.jsp; >> 建立ControllerServlet类,用于进行操作控制; >> 建立UserFromeBean类,用于封装注册界面的参数;

MVC三层架构的更多相关文章

  1. MVC三层架构编程(Dao、service、servlet 之间的关系)

    木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...

  2. Angular JS从入门基础 mvc三层架构 常用指令

    Angular JS从入门基础  mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...

  3. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  4. MVC三层架构搭建

    MVC三层架构搭建 项目主要是用三层来搭建项目,三层分为表现层,数据层和业务层.项目用了目前比较流行的IOC架构.目前流行的IoC 框架有AutoFac,Unity,Spring.NET等,项目中选用 ...

  5. Asp.Net MVC三层架构之autofac使用教程

    开发环境:vs2015..net4.5.2.mvc5.ef6 Autofac简介 IOC控制反转(Inversion of Control,缩写为IOC),Autofac是一个开源的依赖注入框架,Au ...

  6. MVC三层架构模式编程思想 JSP-Servlet-JavaBean

    MVC(Mdodel-View-Controller)编程模式.把一个Java应用分成三层:模型层.视图层.控制层,各层分别实现各层的功能,整个过程见下图就一目了然了. watermark/2/tex ...

  7. MVC——三层架构笔记、1

    三层架构MVC笔记1. DAL——数据访问层:(专门与数据库交互,增删查改的方法都在这:需引用MODEL层) BLL——业务逻辑层:(页面与数据库之间的桥梁:需引用DAL.MODEL层) MODEL— ...

  8. 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征

    1.基于web开发中最原始的jsp+Servlet   图形化理解jsp+servlet结构: 1.从结构上分析jsp+servlet图解原理: 在基于mvc设计模式下的最原始的jsp+Servlet ...

  9. JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

    一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...

随机推荐

  1. 【Java杂货铺】JVM#Java高墙之内存模型

    Java与C++之间有一堵由内存动态分配和垃圾回收技术所围成的"高墙",墙外的人想进去,墙外的人想出来.--<深入理解Java虚拟机> 前言 <深入理解Java虚 ...

  2. SAP 配置表记录创建人/创建日期/创建时间/更改人/更改日期/更改时间

    在实际开发需求中,为了使客制功能具有灵活的可配置性,通常采用开发功能+配置表的形式处理.有些客制的配置功能需要追溯到谁在什么时候增加了什么配置,或者谁在什么时候更改了什么位置,配置表的Log功能就显得 ...

  3. spring security记录

    4版本 登录跳转 自定义自己的成功失败handler 生成session后 set-cookie响应头用js取不到? https://github.com/axios/axios/issues/295 ...

  4. 47)PHP,数据库多表连接

    https://www.w3cschool.cn/mysql/56ik1sqv.html

  5. CSS样式表------第一章:样式表的基本概念

    CSS(Cascading Style Sheets,层叠样式表),控制页面样式外观,作用是美化HTML网页. 一. 样式表的基本概念 1.样式表的分类 (1)内联样式表  -----放在元素的开始标 ...

  6. 依据gff切fa并翻译为蛋白质

    #!/usr/bin/python import re import sys import gzip change={'A':'T','T':'A','C':'G','G':'C','N':'N'} ...

  7. 关于Java杂项知识总结

    JVM内存结构 JVM在运行时把从操作系统申请到的内存分为若干区域,主要有栈.堆和方法区,方便Java程序使用 堆内存 使用new关键字创建出来的对象都存储在堆内存中 方法区 被加载的类的信息存储在方 ...

  8. Golang os/exec 实现

    os/exec 实现了golang调用shell或者其他OS中已存在的命令的方法. 本文主要是阅读内部实现后的一些总结. 如果要运行ls -rlt,代码如下: package main import ...

  9. StartDT_AI_Lab | 开启“数据+算法”定义的新世界

    继「数据中台技术汇」栏目推出以来,获得了不少技术极客的喜爱.作为AI驱动的数据中台创导者,深度关注核心算法技术的自研创新.融合探索,故推出全新AI算法栏目「StartDT_AI_Lab」,主要介绍算法 ...

  10. 框架之MyBatis

    什么是框架,简单的来说框架就是一个程序的半成品,而我们就是的工作就是根据我们的工作需要将其完善.MyBatis框架的作用就是将我们使用JDBC操作数据库的过程移交给MyBatis,让它来帮我们完成这些 ...