请问MVC中servlet的角色

servlet是不是只适合做页面间的跳转控制?而不适合做表示层和商业层的中转控制?
servlet对返回值的传送十分不方便,比如一个查询返回的vector。如何返回到表示层呢?

对MVC接触不深,只说说我自己的理解:

Servlet比较适合用于需要“密集编程”的环境,比如:负责用户登录验证的Servlet;
Servlet可以根据执行结果的不同,将用户导入不同的流程,所以在MVC中作为 控制器 存在。

而返回值,个人认为 javaBean 更适合,而不是Servlet. :)

Servlet也适合做表示层和商业层的中转控制

Struts的Action是Servlet的变种,使用非常方便,将商业层的结果通过封装成FormBean来供表示层Jsp使用。

在MVC设计模式中Servlet作为控制器,他能够很好的衔接表示层和业务逻辑层,如:


request.setAttribute("name",obj);
RequestDispatcher requestDispatcher=request.getRequestDispatcher(
"/filename");
requestDispatcher.forward(request, response);

然后可以在.jsp文件里面采用request.getAttribute()取的对象即可^~^