1.使用Servlet作为表现层有如下三个劣势:
(1)开发效率低,所有的HTML标签都需要使用页面输出流完成。
(2)不利于团队协作开发,美工人员无法参与Servlet的界面开发。
(3)程序可维护性差,即使修改一个按钮的标题,都必须重新编辑Java代码,并重新编译。
2.JSP仅作为表现层技术,其作用有两点:
(1)负责收集用户请求参数。
(2)将应用的处理结果、状态数据呈现给用户。
Servlet则仅充当控制器的角色,它的作用类似于调度员:所有用户的请求都 发给Servlet,Servlet调用Model来处理用户请求,并调用JSP来呈现处理结果;或者Servlet直接调用JSP将应用的状态数据呈现给用户。
Model通常由JavaBean来充当,所有的业务逻辑、数据访问逻辑都在Model中实现。
控制器负责接收客户端的额请求,它既不直接对客户端输出响应,也不处理用户请求,只调用JavaBean来处理用户请求。JavaBean处理结束后,Servlet根据处理的结果,调用不同的JSP页面向浏览器呈现处理结果。