需求:

  1. 注册登录;
  2. # 知识补充;
  3. >> MVC模型;
  4. |-- M 模型;
  5. |-- V 视图;
  6. |--
  7. >> 基本概念;
  8. |-- 层级之间的调用关系;
  9. |-- V层接收前台数据,也反馈C层处理完毕的M层数据;
  10. |-- C层负责操作前台数据并调用M层;
  11. |-- M层负责存储数据;
  12. >> M层;
  13. 一般由javaBean充当;
  14. |-- 业务模型;
  15. |-- 对应三层结构中间的业务逻辑层;
  16. |-- 三层结构简析;
  17. > 表示层;
  18. > 业务逻辑层;
  19. > 数据访问层;
  20. ---------------
  21. > 业务实体层;
  22. > 控制层;
  23. > 工具类
  24. |-- 注意;
  25. > MVC不属于三层结构;
  26. |-- 命名规范
  27. com.itheima.service
  28. com.itheima.service.impl
  29. |-- 数据模型;
  30. |-- 对应三层结构的数据访问层;
  31. |-- 命名规范
  32. com.itheima.dao
  33. com.itheima.dao.impl
  34. |-- 实体模型;
  35. |-- 命名规范
  36. com.itheima.domai
  37. >> V层;
  38. 一般由jsp/html来充当;
  39. >> C层;
  40. 一般由servlet/action来充当;
  41. |-- 命名规范
  42. com.itheima.web.controller
  43. com.itheima.web.form
  44. # 案例开始的准备工作;
  45. >> 使用xml存储数据;
  46. |-- 导入需要使用的jar
  47. > dom4j
  48. > dom4j-xx.jar
  49. > jaxen-xx.jar
  50. > beanutils
  51. > commons-beanutils-xx.jar
  52. > commons-log4j--xx.jar
  53. |-- 准备xml文件
  54. |-- 数据结构;
  55. > 操作子节点
  56. user
  57. ursername
  58. password
  59. email
  60. birthday
  61. > 操作属性;
  62. <user username="" password="" ...>
  63. >> 准备实体类;
  64. >> 实现Dao的接口设计;
  65. |-- dao的实现类;
  66. |-- 为了实现xml文件更好的操作,做一个单独的工具类;
  67. >> Dao实现类及单元测试;
  68. # 步骤;
  69. >> 建立XML
  70. >> 建立userbean类;
  71. >> 建立UserDao --- Interface
  72. |-- 定义内部方法;
  73. > addUser(User user);//添加用户
  74. > User getUserByUsername(String username);//判断用户是否存在;
  75. > User getUserByUsernameAndPassword(String username,String password);//登录时校验用户名和密码的匹配;
  76. >> 建立Dom4jUtil工具类;
  77. |-- 定义内部方法;
  78. > Document getDoument(){
  79. 获取并返回Document对象;
  80. }
  81. > static{
  82. 获取类加载器;
  83. 获取users.xml文件路径;
  84. 获取这个文件的绝对路径;
  85. }
  86. > writeDocument2Xml(){
  87. 获取XMLWriter 对象,在构造参数中接收文件和书写格式;
  88. 将其写入document对象;
  89. 关流;
  90. }
  91. >> 建立UserDaoImpl类,实现UserDao接口;
  92. |-- 实现接口中的具体方法;
  93. > 得到Document 对象
  94. > 得到根节点;
  95. Element root =document.getRootElement();
  96. > 添加一个新节点
  97. Element userEle= root.adElement("user");
  98. > 添加四个属性及对应值;
  99. userEle.addAttribute("username",df.format(user.getUsername())).addAttribute("password",user.getPassword()).addAttrubiute("birthday",user.getBirthday()));
  100. > 回写入XML文件;
  101. Dom4jUtil.writeDoucment2XML(document);
  102. |-- User getUserByUsername(String username);
  103. > 得到Document对象;
  104. > xpath查找节点;
  105. > 进行判断;
  106. |-- 如果不为空
  107. > 封装属性;
  108. > 在遇到日期属性时,需要用BeanUtils中的方法对其进行转换;
  109. >> 建立Test类,进行JUniut单元测试;
  110. >> 建立UserService接口,实现业务逻辑;
  111. |-- regist(User user)// 注册方法;
  112. |-- 判断该用户名是否可用;
  113. |-- 是:注册;
  114. > 判断u是否为空;
  115. > 是空则添加;
  116. >否则...
  117. |-- 否;抛出已存在异常;
  118. |-- login(String username,String password)
  119. >> 建立自定义异常类;
  120. >> 建立index.jsp/longin.jsp/register.jsp;
  121. >> 建立ControllerServlet类,用于进行操作控制;
  122. >> 建立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. Lamda过滤替换List元素的属性值

    import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List; ...

  2. 系统学习javaweb4----CSS层叠样式表(结束)

    摘要:这几天临近过年,事情有点多,学习总是段段续续的,今天总算完成了CSS的基本知识学习. 学习笔记: 西瓜学习javaweb 1.css简述. 1.1 css是什么?有什么作用? HTML----- ...

  3. GitHub 代码仓库提示:“We found a potential security vulnerability in one of your dependencies”

    github代码仓库提示:“We found a potential security vulnerability in one of your dependencies” 问题描述: Github上 ...

  4. 快手为什么要全资收购Acfun?

    近日据媒体报道,快手已完成对「Acfun」以下简称A站的全资收购.未来A站仍将保持独立品牌和独立运营以及原有团队的独立发展.近年来,A站可谓命途多舛.相比隔壁B站风风光光顺利上市且成为真正的二次元大本 ...

  5. Leetcode13_罗马数字转整数

    题目 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1. ...

  6. 安装rpm包时遇到error: Failed dependencies:错误

    在linux下安装rpm包时经常会遇到下面这个问题: error: Failed dependencies: ............................................. ...

  7. Spring常见的两种增强方式

    一.编程式增强 不借助spring的配置,通过自己实例化对象来实现的增强方式 创建增强类,需要实现你需要的增强接口,(只有实现了该接口,这个类就是一个通知)) /** * 增强类 */ public ...

  8. DOCKER中centos7的中文支持

    直接编写看下能否改变成识别中文字体 写到你的~/.bashrc里吧,然后重启终端(我写的是英文的啊,改成你要的) export LC_ALL=en_US.UTF-8 export LANGUAGE=e ...

  9. 10X genomics|cell base|in-vivo based|model organisms|SBI|

    生命组学-药物基因组学 精准医学的内容有个人全基因组测序,移动可穿戴设备,它可以实时监测,深度学习模型预测疾病,对疾病预测做到有效.安全和可控. 药物基因组学就是研究疾病.化合物和靶点之间的关系,关键 ...

  10. stress施压案例分析——cpu、io、mem【命令分析】

    stress施压命令分析 一.stress --cpu 1 --timeout 600  分析现象?负载为啥这么高?top命令查看用户进程消耗的cpu过高(stress进程消耗的) 分析现象,可以看出 ...