请问MVC中servlet的角色

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

Juniper
2004-07-14 17:19
对MVC接触不深,只说说我自己的理解:

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

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

banq
2004-07-18 10:24
Servlet也适合做表示层和商业层的中转控制

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

st.linux.ily
2004-07-18 14:07
在MVC设计模式中Servlet作为控制器,他能够很好的衔接表示层和业务逻辑层,如:

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

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