如果我在jsp里直接连接了数据库,并且将数据库中的数据显示在页面上的话,是不是就不符合mvc结构了?

解决方案 »

  1.   

    MVC,遵循的是单一职责的原则,你说你这样还算吗?
      

  2.   

    当然不是了。
    MVC是一种架构,一种设计思想。
    你只是完成了结果,好好看一下书。
      

  3.   

    不符合在常规的JSP,Servlet,JavaBean三层结构中,JSP实现View的功能,Servlet实现Controller的功能,JavaBean实现Model的实现。
      

  4.   

    MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己
      

  5.   

    我们之所以要用MVC这个框架,是因其实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
    倘若照你的做法,绕过C(控制层)直接调用底层数据库,便起不到这个作用了。
      

  6.   

    那就说我的问题,我想将数据库中的一个表显示在网页上,怎么做才算符合mvc?
      

  7.   

    是不是要用一个javabean封装数据库中的数据,然后在网页上useBean?
    那可是这样也是绕过了(C)控制层了阿?
      

  8.   

    M层做业务逻辑,访问数据库,取得数据,封装的JavaBean中;
    C层做流程控制,将M层得到的数据(已经封装到JavaBean),封装到request中(如果你用的是structs可以将数据封装到ActionForm中,在jsp页面直接用structs的标签显示)。forward转发到页面。
    V层利用C层转发过来的数据,做显示工作。大概是这样的,不对的地方也希望别人批评,我也是个菜鸟。
      

  9.   

    你jsp页面useBean的话肯定要有个scope属性的,一般的话servlet在将请求转发到该jsp页面时已经request.setAttribute(javaBean),其实并没有绕过控制层
      

  10.   

    lisl2003(lisl2003(不留)) 
    ...
    ...
    V层利用C层转发过来的数据,做显示工作。
    =========
    C层将数据封装到request中之后,V层用什么语句显示C层转发过来的数据?
    是request.getAttribute();吗?
    我才学不久,望多指点。。
      

  11.   

    如果我已将M层得到的数据封装到JavaBean,那么此时,将这个bean封装到request中好呢?还是直接在jsp中<usebean>好?这两种方法都符合mvc吗?
      

  12.   

    我不太清楚你的MVC是用什么实现的。
    我一般用struts来做,方式我已经写了。“(如果你用的是structs可以将数据封装到ActionForm中,在jsp页面直接用structs的标签显示)”如果但用不用struts标签,我也不是很了解,我对标签这部分不是很熟。我想大概是借助与标签和指令(借助标签、指令可以使代码简单)和在jsp页面中写代码(像<%%>,<%! %>,<%= %>你应该知道吧)。
    别的我就不说了,最好可以找个写好了的例子对照着看。
      

  13.   

    V层与M层的任何联系,都必须通过C层。
      

  14.   

    java web分两种开发模式
    1.jsp+javabean(两层模式)
    2jsp+javabean+sevlet(三层模式),struts是经典的三层框架
    lz你的做法连两层都不算
      

  15.   

    MVC就是model,view,control说白了~~~模型,视图,控制,适合小型网站架构.