MVC模式中Controller控制器为什么是Servlet?

马克-to-win:动态网站项目开发中,当我们jsp表单一提交,应提交给谁呢?上一章,我们在讲jsp技术的时候,当时我们曾把jsp提交给另外一个jsp处理。这实际上是一个非常不好的实践,为什么呢?因为Servlet的优势就是java代码好维护。换句话说,如果你要维护纯java代码的话,你应宁愿放在Servlet当中,也不愿放在jsp 当中。因为jsp在能运行前,还需转成一个Servlet。所以当你编写jsp的时候,在eclipse当中,当你把光标放在一个变量上时,这个变量在文件的其他地方,不会高亮。但当你编写Servlet时就不是这样了。马克-to-win:所以在实践当中,jsp一般我们提交给一个Servlet。 Servlet负责控制(Controller[C])整个儿jsp(V[V]iew)表单提交后的流程。第一步,从request当中获取提交上来的数据。第二步调用bean (M [M]odel),让bean去处理这些数据,并返回结果。通常,复杂的业务处理过程需要和数据库打交道。第三步,处理返回的数据,比如放在 Session当中,之后做跳转。第二步通常非常复杂,代码量比较大。如果直接放在Servlet当中。Servlet会变得非常臃肿,不利于我们维护代码。马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。

马克-to-win:小结一下:

1)MVC=Model(M)+View(V)+Controller(C)
2)View=jsp,Model=java bean,Controller=Servlet
3)jsp提交给Servlet,servlet调用Bean,把jsp的数据传进 Bean,根据bean的返回值,决定跳到那个jsp。