Servlet与豆类

时间:2012-06-03 17:07:38

标签: servlets managed-bean

我是java新手(学习JSF和其他JAVA EE组件)并且有一个非常基本的问题。

为什么我们需要一个Servlet来做很多事情都可以用Beans完成。什么在servlet中无法通过Bean完成,或者如何在基于Web的应用程序中使用Servlet优于Beans。

2 个答案:

答案 0 :(得分:7)

使用JSF,你基本上已经使用了一个servlet,FacesServlet你最有可能已经在web.xml注册了{{1}},以便让JSF运行。正是这个servlet无需编写一堆servlet来执行重复任务,例如收集请求参数,转换/验证它们,更新javabean属性,调用操作以及导航到正确的视图。

在JSF中,您无需创建其他servlet来执行这些任务。您只需创建一个托管bean并将其声明为控制器,然后将一个简单的javabean类作为模型绑定到视图中的UI组件。

但是,有时候只要一个人从未学习过JSF,并且只想要两个,三个或四个只有联系表单的网页,JSF就有点过分或太难了。 JSF的学习曲线相对陡峭,需要对HTTP servlet有深入的了解。用"普通香草" servlet和JSP它更容易开发。但是,只要网站越界,并且您开始复制/重构常见任务,如果您事先选择了MVC框架,那么您会感到高兴。

答案 1 :(得分:4)

Bean用于表示您的数据。 Servlet应该用于控制您的过程。

在MVC(模型,视图,控制器)模式中,Beans将是您的模型,它以数据为中心并表示您的数据,充当域对象或简单数据结构。

Servlet是Controller,它调用正确的模型并按正确的顺序发送它们。它们可用于获取用户请求并将其转换为适合模型运行的正确输入。

我知道答案非常高,但尝试阅读MVC模式,你会更好地理解。