java ee jsf_Java EE 6:JSF与Servlet + JSP。 我应该学习JSF吗?

我试图通过阅读http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html来熟悉Java EE 6。 我对使用JSF感到有些困惑。

通常,在我开发Web App的方式中,Servlet将充当控制器,而JSP将充当MVC模型中的View。 那么,JSF是否尝试替换此结构? 以下是上述教程的报价:

Servlet are best suited for service-oriented App and control function of presentation-oriented App like dispatching request

JSF and Facelet are more appropriated for generating mark-up like XHTML, and generally used for presentation-oriented App

不知道我是否对上述引用理解得太清楚,他们没有很好地解释什么是面向服务的与面向表示的。

A JavaServer Faces application can map HTTP requests to component-specific event handling and manage components as stateful objects on the server.

有经验的Java开发人员可以为我提供有关JSF,JSP和Servlet的快速概述吗? 是否将它们全部集成在一起,还是在App的基础上单独使用它们? 如果是这样,那么与Servlet和JSP相比,哪种应用程序使用JSF?

A JavaServer Faces application can map HTTP requests to component-specific event handling and manage components as stateful objects on the server.

听起来像servlet可以做什么,但不确定manage components as stateful objects on the server。 甚至不确定那是什么意思? 提前致谢。

基本上,JSF使您能够仅使用模型对象(JavaBeans)和视图(JSP / XHTML页面)开发Web应用程序。使用"普通香草" JSP / Servlet,您将必须引入大量代码来控制,预处理,后处理,收集数据,验证,转换,监听等HTTP请求和响应。然后,我并不是说要对其进行高度(抽象)的重构,以便您也能以与JSF相同的方式结束(每个用例只是一个JavaBean类和一个JSP / XHTML页面)。

在此之前,我已经对此主题发布了更详细的答案:JSF,Servlet和JSP有什么区别?

抱歉,发布之前我应该??看一下。一定会阅读您的帖子。但是从我现在正在阅读的内容来看。 JSF更像是一个框架,向开发人员隐藏了许多实现,并且在某种程度上,它比Servlet / JSP更好。我对吗?

JSP / Servlet只是用于开发Java Web应用程序的基本/核心/构建基技术。任何基于Java的MVC框架都运行在JSP / Servlet API之上,JSF也运行。 JSF提供了FacesServlet(是的,它是一个servlet!),您只需在web.xml中定义一次。然后,您可以仅使用模型对象和视图来开发/运行JSF。

对...从您在另一个线程上发布的内容来看,JSF是一个MVC Web框架。我可以将JSF与Spring MVC,BalusC进行比较吗?

他们确实是竞争对手。但是,Spring MVC可用的组件库不如JSF那么多。

奇怪的是,人们总是谈论Spring MVC,而不是谈论JSF。我曾考虑过就此技术进行现场培训,但仍不确定在Spring和JSF之间。我只想选一个,因为培训非常昂贵。您对我的BalusC有什么专业意见吗?

注意" Spring"!=" Spring MVC"。 Spring框架不仅仅是Spring MVC,还有很多很多。关于Spring MVC与JSF:好吧,看看附近的工作趋势。选择要求最高和/或付款最高的一种。您总是可以在私人/业余时间学习其他框架。

嗨,BalusC,我希望你不介意我问你一个问题。我记得您写过一篇文章,介绍如何使用Java EE用户的某些yahoo工具提高Web性能,但是我似乎找不到该链接。你知道我在说什么文章吗?如果您这样做,请介意给我链接

@哈里:balusc.blogspot.com/2009/09/

在JSF中,使用一个特定的Servlet(Faces Servlet)来处理所有传入的请求并将它们分派到适当的bean。

JSF是一个基于组件的MVC框架,而JSP是一种视图技术。

您可以将JSP与JSF一起使用,尽管Facelets是首选的视图技术。

JSF提供了一个抽象层,它担负着多个职责,但是最重要的是,它处理HTML表单的所有杂乱细节,并在Web页和Java POJO bean(getX,setX方法)之间来回传输数据,这是很难做到的。

它还提供了导航功能,并以Java EE 6的最新版本提供了基本的AJAX支持,允许在用户输入数据时对网页进行简单的更新。

您可能会发现更容易将其视为避免自己编写JavaScript的一种方式。

在过去一年半的时间里,Javascript的性能变得如此之快。似乎您只是在这些趋势的开始,以及现在随着html5的发展,所以我们真的要摆脱javascript吗?

他没有说放弃JavaScript。使用JSF以及像Richfaces或Icefaces这样的不错的组件库,意味着您自己编写的JS会少很多。

抱歉,我误读了您发布的内容

如果您喜欢XML,请选择JSF。如果您是动作监听迷

doPost,doGet等选择Servlet和JSP。

JSF Framework旨在简化基于Web的用户界面的开发集成。如@bozho所述,您可以混合使用JSP和JSF。但是,JSF中的"视图"组件是facelets-可以看作是小的UI部件,这些部件在DHTML样式和JavaScript事件生成以及回调方面或多或少是独立的。

"我应该麻烦学习吗??"

不即使过去5年(理论上为Atleast)出现,我也没有看到JSF吸收这么大的精力。

有趣的一点是,想知道Java EE 6是否可以为JSF带来动力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java EE API 中英文对照版: 1. Servlet API - Servlet 应用程序接口 2. JSP API - JSP 应用程序接口 3. EJB API - EJB 应用程序接口 4. JMS API - JMS 应用程序接口 5. JTA API - JTA 应用程序接口 6. JPA API - JPA 应用程序接口 7. JSF API - JSF 应用程序接口 8. JAX-WS API - JAX-WS 应用程序接口 9. JAX-RS API - JAX-RS 应用程序接口 10. JavaMail API - JavaMail 应用程序接口 11. JMX API - JMX 应用程序接口 12. JDBC API - JDBC 应用程序接口 13. JNDI API - JNDI 应用程序接口 14. JavaBeans API - JavaBeans 应用程序接口 15. Java Security API - Java 安全应用程序接口 16. Java Transaction API - Java 事务应用程序接口 17. Java Authentication and Authorization Service API - Java 认证和授权服务应用程序接口 18. Java API for XML Processing - Java XML 处理应用程序接口 19. Java API for XML Web Services - Java XML Web 服务应用程序接口 20. Java API for RESTful Web Services - Java RESTful Web 服务应用程序接口 ### 回答2: Java EE API中英文对照版 1. Servlet API Servlet API是为Java编写的Web应用程序提供服务的一种规范。它定义并描述了servlet类所需的编程接口,包括HTTP请求和响应API,以及JSP的启动和关闭,以帮助开发人员在Java编程中构建Web应用程序。 2. JavaServer Pages (JSP) API JavaServer Pages (JSP) API是Java编写Web应用程序的一个规范。JSP是一种动态Web页,允许开发人员将Java代码嵌入到HTML中以生成动态内容。该API提供了许多与JSP相关的接口,包括JSP的生命周期,页面请求和响应API等等。 3. Enterprise JavaBeans (EJB) API Enterprise JavaBeans (EJB) API是Java编写分布式应用程序的一种规范。它定义了一组接口,可用于创建和管理Java类,这些类充当企业级组件,例如消息队列,数据库连接池等。 4. Java Persistence API (JPA) Java Persistence API (JPA)是Java编写对象关系的规范。它提供了一组接口,开发人员可以使用这些接口访问和操作数据库中的对象。JPA是许多ORM框架的基础。 5. Java Message Service (JMS) API Java Message Service (JMS) API是Java编写分布式应用程序的一种规范。它定义了一组接口,可用于在应用程序之间发送异步消息。JMS为开发人员提供了一种可靠的机制来确保消息被传输和处理。 6. JavaMail API JavaMail API是Java编写电子邮件服务的框架。它定义了一组接口,可用于创建和管理电子邮件,包括电子邮件消息的创建,发送和接收。 7. Java Naming and Directory Interface (JNDI) API Java Naming and Directory Interface (JNDI) API是Java编写分布式应用程序的一种规范。它定义了一组接口,可用于访问和管理命名和目录服务,例如LDAP服务器。 8. Java Transaction API (JTA) Java Transaction API (JTA)是Java编写分布式应用程序的一种规范。它定义了一组接口,可用于协调分布式事务。它允许多个事务参与者协同工作,以确保所有事务完成或回滚。 总之,Java EE API包含了很多重要的接口和协议,这些接口和协议使Java编写Web应用程序和分布式应用程序变得更加容易和灵活。通过Java EE API,开发人员可以集中精力编写应用程序的业务逻辑,而不必担心底层实现的细节。 ### 回答3: Java EE (Java Platform, Enterprise Edition) 是一种企业级的 Java 开发平台,它的主要目的是为企业应用程序开发提供一种标准化的、基于组件模型的方法,使得这些应用程序可以在不同的企业级环境中部署和运行。Java EE 平台包含了一系列的规范、API 和技术,这些规范、API 和技术都是为了满足企业级应用程序开发过程中的各种需求而设计的。Java EE 平台分成三层(Web 层、业务逻辑层和持久层),每一层都有一系列的规范和 API,这些规范和 API 可以和其他 Java 技术结合使用,来构建高效、灵活和可可维护的企业级应用程序。 下面是 Java EE 平台中常见的规范和对应的 API 的中英文对照: - ServletJava Servlet API (Java Servlet API) - JSPJavaServer Pages (JavaServer Pages) - EJB:Enterprise JavaBeans (企业组件) - JPA:Java Persistence API (Java 持久化 API) - JTA:Java Transaction API (Java 事务 API) - JMS:Java Message Service (Java 消息服务) - JNDI:Java Naming and Directory Interface (Java 命名和目录接口) - JAX-RS:Java API for RESTful Web Services (用于 RESTful Web 服务的 Java API) - JAX-WS:Java API for XML Web Services (用于 XML Web 服务的 Java API) - JSFJavaServer Faces (Java 服务器面向对象) - CDI:Contexts and Dependency Injection (上下文和依赖注入) - JSON:Java API for JSON Processing(Java JSON 处理 API) - WebSocket:Java API for WebSocket (Java WebSocket API) - Batch:Java Batch Processing API (Java 批处理 API) - JMX:Java Management Extensions (Java 管理扩展) Java EE 平台中,还包含了一些技术和协议,例如 XML、SOAP、WSDL、XML Schema、Java Connector Architecture、Java Authentication and Authorization Service(JAAS)等等。Java EE 平台不仅提供了必要的 API,还提供了一个容器,如 Tomcat、JBoss、WebSphere、WebLogic、GlassFish 等,可以在容器中部署并运行 Java EE 应用程序。通过使用 Java EE 平台,开发者可以很容易地构建出高效、可扩展、易维护的企业级应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值