MVC三层架构
需求:
注册登录; # 知识补充;
>> 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
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三层架构的更多相关文章
- MVC三层架构编程(Dao、service、servlet 之间的关系)
木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...
- Angular JS从入门基础 mvc三层架构 常用指令
Angular JS从入门基础 mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- MVC三层架构搭建
MVC三层架构搭建 项目主要是用三层来搭建项目,三层分为表现层,数据层和业务层.项目用了目前比较流行的IOC架构.目前流行的IoC 框架有AutoFac,Unity,Spring.NET等,项目中选用 ...
- Asp.Net MVC三层架构之autofac使用教程
开发环境:vs2015..net4.5.2.mvc5.ef6 Autofac简介 IOC控制反转(Inversion of Control,缩写为IOC),Autofac是一个开源的依赖注入框架,Au ...
- MVC三层架构模式编程思想 JSP-Servlet-JavaBean
MVC(Mdodel-View-Controller)编程模式.把一个Java应用分成三层:模型层.视图层.控制层,各层分别实现各层的功能,整个过程见下图就一目了然了. watermark/2/tex ...
- MVC——三层架构笔记、1
三层架构MVC笔记1. DAL——数据访问层:(专门与数据库交互,增删查改的方法都在这:需引用MODEL层) BLL——业务逻辑层:(页面与数据库之间的桥梁:需引用DAL.MODEL层) MODEL— ...
- 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征
1.基于web开发中最原始的jsp+Servlet 图形化理解jsp+servlet结构: 1.从结构上分析jsp+servlet图解原理: 在基于mvc设计模式下的最原始的jsp+Servlet ...
- JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...
随机推荐
- 20)PHP,数组的遍历
然后开始使用这2个函数和while循环结构来实现数组遍历: 形式: reset($arr1); while ( list ($key, $value ) = each( $arr1) ) //从数组$ ...
- RegexUtil
package org.linlinjava.litemall.core.util; import java.util.ArrayList; import java.util.Collections; ...
- 透过F5获取服务器真实内网IP
渗透测试过程中,经常会遇到目标服务器使用F5 LTM做负载均衡. 如果能获取到目标服务器的真实IP地址,会给后续渗透带来一定便利. 本文既是最近渗透遇到的一点点经验分享. F5修改cookie机制 F ...
- ARM7探究
1.流水线:三级流水线 预取.译码.执行.三级并行发生 2.什么是哈佛结构? 哈佛结构是一种存储器结构,是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是 ...
- 倾斜摄影数据转cesium 3D tiles工具介绍
软件操作:http://jingyan.baidu.com/article/3aed632e3912c8701080912c.html 软件测试数据: 数据,油库链接: http://pan.baid ...
- php的header方法
http://www.cnblogs.com/fengzheng126/archive/2012/04/21/2461475.html
- 关于分频器的FPGA实现整理思路
分频器是用的最广的一种FPGA电路了,我最初使用的是crazybingo的一个任意分频器,可以实现高精度任意分频的一个通用模块,他的思想在于首先指定计数器的位宽比如32位,那么这个计数器的最大值就是2 ...
- VDMA搭建视频通路总结
全局观查,对整个工程的搭建的关键是要保证PL部分搭建成功,PS部分搭建成功,而且两者配合的很好. 我理解的PL部分涉及到模块的组合以及模块或者IP之间的逻辑的整理,PL部分困扰我比较久的是自动生成的w ...
- Windows Server 2012 R2 强制卸载域控制器
本次实验要演示的是强制卸载域控制器并且在其他域控制器上删除不需要的服务器对象,这种情况在现实的生产使用环境中经常使用,每个企业每年都会有增减域控制器的时候,而且在减少了域控制器之后,原本的域还会继续使 ...
- ionic2踩坑之自定义插件开发及调用
关于ionic2自定义插件开发的文章,插件怎么调用的文章,好像网上都有,不过作为一个新手来说,从插件的开发到某个页面怎么调用,没有一个完整的过程的话,两篇没有关联的文章也容易看的迷糊.这里放到一起来方 ...