小谈 B-S架构

B-S,英文全拼为Browser-Server,意为浏览器-服务器模式,也称为W-S(WebBrowser-Server),是取代C-S(Client-Server)成为企业级应用开发的主要模式.

B-S模式相比于C-S模式的优势在于不用安装特定的客户端,只要装有web浏览器就能使用.对开发公司来说,极大的减少了为客户安装调试Client端的工作量;对客户公司来说也降低甚至避免了训练员工用新系统的费用.

下面主要说说B-S模式的标准架构及一些注意事项.

MVC在javaee中是最主流的架构方式.现在的B-S绝大部分也采用的MVC架构.

M:model,模型层.包括BO,PO,DAO

PO:persistentobject,也可以叫做entity,即实体类.一般是一个数据库表格对应一个po类.

DAO:dataaccessobject,数据访问对象.在企业级应用中,写dao时有三个注意事项:

1.使用连接池,因为数据库连接的创建是一个很耗时的过程.

2.单例.dao里面封装的是对数据库的访问方法,一个就够了,没必要建立多个dao耗费系统资源.在这给一个实现单例的简单方法.

代码为:

privatestaticDao(){};//将构造器私有并静态化,只允许在类的内部调用,并只执行一次

privateDaodao=newDao()

publicstaticDaogetInstance(){

returndao;

}

3.一个dao方法不能跨事务

BO:businessobject,事务控制对象,负责事务的管理.涉及多个事务处理时要求在dao方法中不能自动提交(connection.setAutoCommit(false)),也不能自己提交,即在dao方法中不能有connection.commit().建议在处理较复杂的业务时才使用.在使用bo处理业务时,还要求数据库连接线程单例,要用到ThreadLocal类,实现方法并不复杂.

还有一点就是,对于bo和dao,最好用接口,方便维护和使用代理.

V:view,视图层,在java中主要为jsp.视图层拿到数据后将其显示,原则是不进行复杂运算,不调用BO(即不进行事务处理)

C:control,控制层,也称前端控制器(FC,frontcontroller),如servlet.控制层接收请求后调用BO,然后将处理得到的数据存到pageContex,request,session,application四个对象中,最后转发给view.值得注意的是,尽量不要在session中存放大的数据对象,以免过多地占用系统资源,拖慢系统.

[size=large][/size]

相关推荐