我是java的新手(学习JSF和其他JAVA EE组件),并且有一个非常基本的问题。
为什么我们需要一个 Servlet,而很多事情都可以用 Bean 完成。Servlet 中有什么是 Bean 无法完成的,或者在基于 Web 的应用程序中如何使用 Servlet 比 Bean 更好。
你基本上已经在使用 servlet,你很可能已经在 web.xml
中注册了这个FacesServlet
,以便让 JSF 运行。正是这个servlet消除了编写一堆servlet来执行重复任务的需要,例如收集请求参数,转换/验证它们,更新javabean属性,调用操作和导航到正确的视图。
在 JSF 中,您不需要创建额外的 servlet 来执行这些任务。您只需创建并声明一个托管 Bean 作为控制器,而控制器又将一个简单的 javabean 类作为模型,该模型绑定到视图中的 UI 组件。
但有时 JSF 是矫枉过正或太难的,因为一个人以前从未学过 JSF,只需要两个、三个或四个网页和一个联系表单。JSF有一个相对陡峭的学习曲线,这也需要对HTTP servlet有扎实的理解。使用"普通"servlet和JSP,它更容易开发。但是,每当网站发展出边界并且您开始复制粘贴/重构常见任务时,如果您事先选择了MVC框架,您会很高兴。
Bean 用于表示您的数据。应该使用 Servlet 来控制您的进程。
在MVC(模型,视图,控制器)模式中,Bean将是您的模型,它以数据为中心并表示您的数据,充当域对象或简单的数据结构。
Servlet 是调用正确模型并以正确顺序调度它们的控制器。它们可用于获取用户请求并将其转换为正确的输入,以便模型进行操作。
我知道答案是非常高水平的,但尝试阅读 MVC 模式,你会得到更好的想法。