JAVA进阶之JavaBean及MVC

一、什么是JavaBean

JavaBean 是一种 JAVA 语言写成的可重用组件。为写成 JavaBean ,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他 Java 类可以通过自身机制发现和操作这些 JavaBean 的属性。


分为两种:

1.实体 Bean :数据载体

2.业务 Bean :封装了处理业务的方法

二、实体Bean

实体Bean的书写规范:
1.JavaBean 类必须是一个公共类,并将其访问属性设置为 public  ,如: public class user{......}
2.JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器
3.一个 JavaBean 类不应有公共实例变量,类变量都为 private  ,如: private int id;
4.属性应该通过一组存取方法( getXxx 和 setXxx)来访问,一般是 IDE(Eclipse、JBuilder) 为属性生成 getter/setter 方法

三、什么是设计模式

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。
设计模式分为三种类型,共23种。
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、
代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

四、什么是框架

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。
常见框架模式:
    MVC(模型-视图-Controller)、MTV(模型-模版-视图)、          

MVP(模型-模版-Presenter)、CBD(核心-行为-驱动)、
ORM(对象-关系-映射)等等;

五、什么是MVC

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计

典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和

个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、

处理和输出功能在一个逻辑的图形化用户界面的结构中。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

六、MVC分页

①MVC分页的优势

1.各施其职,互不干涉 
在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码

而不会影响到其它层中的代码。
  
2.有利于开发中的分工 
在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层

中的JSP,对业务熟悉的开发人

员可开发业务层,而其它开发人员可开发控层。
3.有利于组件的重用 
分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。

②分页的步骤

1 、创建分页模型层 : PageBean
private String sql;      /*查询SQL语句*/
private List<Map<String,Object>> data;    /*数据*/
private int pagetSize=5;               /*每页数据*/
private int totalPage;               /*总的页数*/
private int currentPage;               /*当前页*/
2 、创建分页业务层 : PageService
/*1.设置总记录数*/
pageBean.setTotalPage(db.query(pageBean.getSql()).size());
/*2.嵌套化分页模版*/
pageSql="select * from  ("+pageBean.getSql()+") as temp limit "+(pageBean.getCurrentPage()-1)*pageBean.getPagetSize()+","+pageBean.getPagetSize();
/*3.设置数据*/
pageBean.setData(db.query(pageSql));
3 、Servlet 中初始化值 :
PageBean pageBean=new PageBean();/*1.设置页大小*/
pageBean.setPagetSize(3);/*2.设置SQL*/
pageBean.setSql("select * from student");    /*3.设置当前页*/
pageBean.setCurrentPage(Integer.parseInt(currentPage));/*4.获取将要请求的页码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值