使用Servlet作为控制器

一,使用Servlet作为表现层的三个劣势?
1.开发效率低,所有HTML的标签都需要使用页面输出流来完成。
2.不利于团队协作开发,美工人员无法参与Servlet界面的开发。
3.程序可维护性差,即使修改一个按钮的标题,都必须重新编辑Java代码,并重新编译。
二,在标准的MVC模式中,Servlet及作为什么使用?
Servlet仅作为控制器使用,Java EE应用架构正是遵循MVC模式的,对于遵循MVC模式的Java EE应用而言,JSP仅作为表现层(View)技术,作用有两点:
1.负责收集用户请求参数
2.将应用的处理结果,状态数据呈现给用户
Servlet则仅充当控制器(Controller)角色,它的作用类似于调度员:所有用户请求都发送给Servlet,Servlet调用Model来处理用户请求,并调用JSP来呈现处理结果;或者Servlet直接调用JSP将应用的状态数据呈现给用户。
三,Model一般由什么来充当?
Model通常由JavaBean来充当,所有业务逻辑,数据访问逻辑都在Model中实现,实际上隐藏在Model下的可能还有很多丰富的组件,例如DAO组件,领域对象等。

下面举个例子介绍使用Servlet作为控制器的MVC应用,该应用演示了一个简单的登录验证。
使用Servlet作为控制器_第1张图片
使用Servlet作为控制器_第2张图片
这里写图片描述
使用Servlet作为控制器_第3张图片
使用Servlet作为控制器_第4张图片
这里写图片描述
控制器负责接收客户端的请求,它既不直接对客户端输出响应,也不处理用户请求,只调用JavaBean来处理用户请求。
DbDao1负责完成查询,插入修改等操作。从上面这个应用的结构来看,整个应用的流程非常的清晰,下面是MVC中各个角色对应的组件:
1.M:即模型,对应JavaBean
2.V:即视图,对应JSP页面
3.C:即控制器,对应Servlet。

你可能感兴趣的:(Servlet)