Web开发模式

Web开发模式

一、Web开发模式:

在实际的Web开发中,有两种主要的开发架构,称为模式一(Mode I) 和模式二 (Mode II)。

 

二、模式一 (ModeI)

Mode I就是指在开发模式中将显示层、控制层、数据层的操作统一交给JSP或JavaBean来进行处理。

Mode I的处理情况分为两种,一种是完全使用JSP进行开发,另外一种是使用JSP+JavaBean的模式进行开发。

 

1、完全使用JSP

用户发出的请求(request)交给JSP页面进行处理,如果开发的是小型的Web程序,为了开发快速和便利,通常将显示层 (Presentation Layer) 和逻辑运算层 (Business Logic Layer) 都写在JSP页面中。

优点:

 开发速度快,只需专注开发JSP页面,不需要额外编写JavaBean和Servlet。

小幅度修改代码方便,直接修改JSP后,再交给Web容器重新编译执行即可。而不用像写JavaBean或Servlet需要先将Java源文件 (*.java) 编译成类文件(*.class) ,再放在Web容器上才能运行。

缺点:

程序可读性低,因为程序代码和网页标记都混在了一起,这将增加维护的困难度和复杂度。

程序可重用低。由于将所有的程序代码都直接写在了JSP页面中,并没有把常用的程序写成组件以增加重用性,因此造成程序代码过于繁杂,难以维护。

 

2、使用JSP+JavaBean

若将显示操作都写入JSP页面中,而业务层都写成JavaBean形式,将程序代码封装成组件。JavaBean负责大部分的数据处理,如执行数据库操作 (类似DAO) ,再将数据处理的结果返回到JSP页面上显示。

优点

程序可读性较高。因为大部分的代码都写在JavaBean中,不会和网页显示标记混在一起,所以在进行后期维护时,能较为轻松。

可重用性高由于核心业务代码使用JavaBean来开发,因此可重复使用此组件,可减少重复代码的编写。

缺点:

没有流程控制程序中每一个JSP页都需要检查请求的参数是否正确、条件判断、异常发生时的处理,而且所有的显示操作都与具体的业务代码紧密耦合在一起,日后的维护困难。

 

小结:

     Mode I 类似于JSP+DAO开发。总的来说,Mode I的结构更适合小型的程序开发,或是复杂度较低的程序。因此Mode I 的最大优点就是开发速度较快,但是在维护时要付出更大的代价。如果程序复杂度太大,总是可以快速的开发程序,但是后续的维护才是最重要的问题,考虑到代码的维护在开发中的地位,所以更多的使用Mode II。

 

三、模式二 (ModeII)

在Mode II 中所有的开发都是以Servlet为主体展开的,由Servlet接收所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP 完成,也就是俗称的MVC 设计模式

MVC 设一个设计模式,它强制性地使应用程序的输入、处理和输出分开。MVC设计模式被分成3个核心层,即模型层、显示层和控制层。它们各自处理自己的任务,各层的任务如下:

显示层(View):主要负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户。

控制层(Controller):主要负责所有用户的请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean执行操作并将处理结果交由显示层进行显示。

模型层(Model):完成一个独立的业务操作组件,一般都是以JavaBean或EJB的形式进行定义的。

 

小结:

在MVC中设计模式中,最关键的部分是使用 RequestDispatcher接口,因为内容是通过此接口保存到JSP页面上进行显示的。

当用户有请求提交时,所有请求都会交给Servlet进行处理,然后由Servlet调用JavaBean,并将JavaBean的操作结果通过RequestDispatcher 接口传递到JSP 页面上。由于这些要显示的内容只是在一次请求和回应中有效,所以在MVC设计模式中,所有的属性传递都会将使用request属性范围传递,这样可以提高代码的操作性能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值