摘要:一、介绍 术语Facelets,说的是JSF技术的视图声明语言(view declaration language),Facelets是JSF规范的一部分,是构建基于JSF技术的应用的首选表现技术。JSP是起初构建基于JSF技术的应用的表现技术,但是它已经不支持JavaEE 7中的一些新的特性,所以对于构建基于JSF技术的应用来说已经过时了。 Facelets是强大且轻量级的页面声明语言,它使用html风格的模版来构造JSF页面和组件树。Facelets包含以下特性: 1)使用xhtml来创建web页面; 2)除了JSF和JSTL标签库外,还支持Facelets标签库; 3)支持表达...
阅读全文
摘要:http://www.featureserver.org/index.html FeatureServer is an implementation of a RESTful Geographic Feature Service. Using standard HTTP methods, you can fetch a representation of a feature or a collection of features, add new data to the service, or delete data from the service. Use it as an aggreg.
阅读全文
摘要:NoSQL 是为了解决RDBMS的3大问题:1、可扩展性:比如跨不同机器对数据进行分区的能力。2、提高性能:在某些情况下,RDBMS的性能比较低。3、固定的Schema:RDBMS有很多好处(参照完整性,关系,触发器等等),但是强迫你把所有数据存储在一个固定的模式下(Schema)。基本来说有几种不同类型的NoSQL数据库:1、Key-Value:如Scalaris, Tokio Cabinet, Voldemort; store data in key/value pairs: very efficient for performance and higly scalable, but d.
阅读全文
摘要:一、OverviewCDI提供的基本服务有:1)Context:使用Context服务,让您能够把有状态组件的生命周期和交互绑定到一个定义良好并且可以扩展的生命周期环境中。2)Dependency Injection:使用DI服务,让您能够把一个组件以类型安全的方式注入到一个应用中去,如果组件是个接口,那么可以在部署阶段决定选择这个接口的哪种实现来进行注入。另外,CDI还提供以下服务:3)与EL(Expression Language)集成,从而允许任意组件在JSF或者JSP页面中被直接调用。4)对组件的组件进行装饰。5)把拦截器与组件联系起来。6)事件通知模型。7)在Servlet提供的3种
阅读全文
摘要:一、什么是Session Bean Session Bean封装了业务逻辑,这些逻辑可以被客户端通过编程方式进行调用,调用方式可以是本地调用,远程调用,或者WebService方式调用。Session Bean不是持久化的,不保存到数据库。二、Session Bean的种类 1、有状态,Stateful 2、无状态,Stateless 3、单例,Singleton三、Stateful Session Bean
阅读全文
摘要:一、什么是Java Enterprise Bean 用Java写的,在服务器端,封装了业务逻辑的组件。二、优势 1、Enterprise Bean是在EJB容器中运行的,EJB容器提供了对企业Bean的事务和安全支持。 2、Enterprise Bean是可移植的组件,不同的应用可以复用。三、什么时候时候Enterprise Bean 在下面几种情况下,可以考虑使用Enterprise Bean: 1、应用必须是可以扩展的:为了适应大量增长的客户数量,可能需要把不同的组件分布到不同的机器上来实现分布式,而Enterprise Bean不光可以部署到不同的机器上,而且部署位置为客户来说...
阅读全文
摘要:一、JSF是构建Java Web程序的服务器端的组件框架,包括:1)一个API,用来表示组件及管理他们的状态;处理事件;服务器端;数据转换;定义页面导航;支持国际化和可访问性;并且提供对以上功能API的扩展。2)一个标签库,用来把组件添加到页面,并且可以把组件与服务器端对象连接起来。二、JSF提供了一个定义良好的编程模型以及不同的标签库,只要付出很少的努力,就可以做到:1)创建Web页面;2)通过组件标签把组件到Web页面;3)绑定页面上组件到服务器端对象上;4)重用及扩展自定义组件;5)Save and restore application state beyond the life of
阅读全文
摘要:一、JMS 应用的组成:1)JMS Provider --现实了JMS API并且提供管理和控制功能的消息系统。2)JMS Client --java应用或者组件,能够生产或者使用Message。JavaEE中的组件都可以作为一个JMS Client,JavaSE的应用也可以作为JMS Client。3)Messages --是JMS Client之间通信的信息。4)Administered Objects -- 是配置给JMS Client使用的被管理对象,比如:Destination,connection factories。二、消息风格在JMS之前,消息一般是point-to-point
阅读全文
摘要:Java持久化API是提供给Java开发人员在Java程序中管理关系数据的对象/关系映射工具。Java持久化包括4个方面内容:1)Java持久化API;2)查询语言;3)Java持久化标准API;4)对象/关系映射元数据。一、实体 一个实体类表示关系数据库中的一张表,一个实体的实例表示数据表中的一条记录。
阅读全文
摘要:一、Web Service类型 在概念层面,一个Web Service是通过网络可以访问的端点提供的一个软件组件。在技术层面,Web Service可以通过不同方式来实现。下面是两种典型的实现方式: 1)JAX-WS:Java API for XML Web Services 2)JAX-RS:Java API for RESTful Web Services二、Big Web Service ( SOAP + WSDL ) 基于SOAP的这种实现方式必须包含以下要素: 1)必须建立一个描述Web Service所提供的接口的合同。(一般是WSDL) 2)必须解决复杂的非功能性需求...
阅读全文
摘要:一、JavaEE 7 平台亮点:New technologies, including the following:Batch Applications for the Java PlatformConcurrency Utilities for Java EEJava API for JSON Processing (JSON-P)Java API for WebSocketNew features for Enterprise JavaBeans ( EJB) components (see Enterprise JavaBeans Technology for details)New f
阅读全文
摘要:一、什么是Struts2Struts2 is an action based MVC web framework.
阅读全文
摘要:1、transient变量,指示变量不是对象的永久状态,这样对象在序列化的时候该变量不会被序列化。2、volatile变量,线程在访问这类变量时,都必须使它对该变量的工作拷贝与主拷贝一致。3、final方法,用方法的主体代码代替对方法的调用,类似c++中的内联方法。4、synchronized方法在执行前,会得到一个锁,对于类方法(静态方法)得到的是该类的类对象的锁,对于实例方法得到是与this相关的锁。5、native方法,指示该方法是用依赖于平台的代码实现的,通常过用另一种语言如c,c++或者汇编语言编写的。6、接口是一个其成员为常量和abstract方法的引用类型,这种类型没有实现,但是
阅读全文
摘要:1、concurrencyvs. parallelism(并发与并行)这两个的区别在于:并发是指多个任务都在进行,但是他们可能不是同时的,比如有时间片的轮换。并行是指多个任务确确实实同时都在进行。2、asynchronous vs. synchronous (异步与同步)方法调用在这种情况下认为是同步的:调用者不能继续执行,直到该方法返回一个值或者抛出一个异常。异步方法调用允许调用者经过有限步骤后继续执行,方法调用结束后通过其他机制通知调用方(比如:回调,消息等)。一个同步的API可能是用阻塞来实现同步的,但是这不是必须的,比如一个CPU密集型的任务也可以有类似于阻塞的行为。3、Non-blo
阅读全文