在java ee 7中,建议使用jsf作为默认表示技术。正如他们所说,JSP已被弃用。
因此,从jsf开始,我发现它使用了managedbean,它可以处理事件并为视图提供数据。它还管理页面流。
所以我的问题是:
根据我的理解,managedbean在某种程度上扩展了servlet功能。
我可以在JSF托管bean中使用请求和响应对象吗? 我想像Servlet那样根据请求和响应周期手动发送响应。
答案 0 :(得分:1)
是的,Java EE从特定的专用类开始。只是在那里出现了一个POJO趋势,使用了注释。 Servlet构成了最早的Java EE技术,但它们仍然非常相关。此外,JSF需要一个servlet容器,提供与servlet相关的类,但JSF的耦合程度较低,并且在传统的Web应用程序之外也有使用。
MVC模型:用于Model的bean,用于View的JSF和用于Controller的servlet。在准备数据(bean)之后,servlet可能会forward
到某个apt view / JSF。对于特殊用例,servlet可能更适合或至少更直接,PDF生成,图表。不要忘记 servlet过滤器。
让URL映射到servlet上。可以使用注释。有准备bean,您可以在任何范围内设置和保存,请求范围是最轻和单向的。然后前进:
request.getRequestDispatcher("/contact.jsf")
.forward(request, response);
或者来自ServletContext:
context.getRequestDispatcher("/context/contact.jsf")
.forward(request, response);
由于网络应用程序有很多技术,你找到了一个很好的起点;尝试其他框架也可能令人耳目一新。