小谈 B-S架构

阅读更多
    B-S,英文全拼为Browser-Server,意为浏览器-服务器模式,也称为W-S(Web Browser-Server),是取代C-S(Client-Server)成为企业级应用开发的主要模式.
B-S模式相比于C-S模式的优势在于不用安装特定的客户端,只要装有web浏览器就能使用.对开发公司来说, 极大的减少了为客户安装调试Client端的工作量;对客户公司来说也降低甚至避免了训练员工用新系统的费用.

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

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

    M:model,模型层.包括BO,PO,DAO
PO: persistent object, 也可以叫做entity,即实体类.一般是一个数据库表格对应一个po类.

DAO: data access object,数据访问对象.在企业级应用中,写dao时有三个注意事项:
        1.使用连接池, 因为数据库连接的创建是一个很耗时的过程.
        2.单例.dao里面封装的是对数据库的访问方法,一个就够了,没必要建立多个dao耗费系统资源.在这给一个实现单例的简单方法.
        代码为:
         private static Dao(){};//将构造器私有并静态化,只允许在类的内部调用,并只执行一次
           private Dao dao=new Dao()

         public static  Dao getInstance(){
         return dao;
         }

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

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


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

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

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

你可能感兴趣的:(javaee,mvc,web,java)