Java Solaris 加入 SDN 参与讨论 我的社区 注册说明
 
JDK 6.0 API 中文版
 
 
 
 
 
Java API 文档中文版
企业 Java 技术技巧
 
By , 1/18/08  

欢迎阅读企业 Java 技术技巧。您将获得企业 Java 技术使用和 API 方面的一些技巧,比如说 Java 平台和 Enterprise Edition(Java EE)。

现在,您可以将 企业 Java 技术技巧 作为 Web 日志进行在线阅读。本期将提供一份 技术技巧测验

使用此代码和/或以下信息都必须符合 许可条款

技术技巧测验

在过去的几年中,企业 Java 技术技巧已经涉及了各种企业 Java 技术主题。这里是一个简短的测验,用于测试您对最近几期“技术技巧”中涉及的主题的知识掌握情况。您可以在测验的末尾找到答案。

  1. 什么是 @UriTemplate
     
    1. 用于构建 URI 的模板所在的位置。
    2. 一种 JAX-RS 注释,用于标识 REST Web 服务资源的 URI 路径。
    3. 一种 JAXB 注释,用于序列化 REST Web 服务的 URI 参数。
    4. 以上均不是。
     
  2. 对于使用企业配置文件配置域的 GlassFish v2 应用程序服务器,应使用什么类型的安全存储?
     
    1. JKS
    2. NSS
    3. SLS
     
  3. 以下标记出现在一个应用程序的 JSP 页面中:
     
       <jsfExt:scripts/> 
     
    该标记有什么作用?
     
    1. jsfExt 脚本包含到应用程序中。
    2. 将 JavaServer Faces 标记库包含到应用程序中。
    3. 将 script.aculo.us JavaScript 库包含到应用程序中。
    4. 将 Dynamic Faces JavaScript 库包含到应用程序中。
     
  4. 当 Java Persistence 实施在 J2SE 模式下运行时,应用程序负责创建其自己的实体管理程序,对吗?

     
  5. 您想要创建一个简单的 Web 服务来管理清单。您创建一个可用于模拟任何您想要通过 Web 服务显示的清单对象的类,如下所示:
     
       public abstract class Item implements Serializable {
           private long id;
           private String brand;
           private String name;
           private double price; 
           ...       
          }
     
    然后您为特定的清单对象定义类,比如以下类:
     
        public class Glove extends Item {
            private String size;       
    }
       
    然后您定义 Web 服务接口:
       
          @WebService()
             public class Inventory {
                 ...
                 public List<Item> getItems() {...}
            
                 public boolean addItem(Item item) {...}
                 ...
             }

    如果您部署该 Web 服务,然后查看生成的 WSDL 和架构,您会看到特定清单项(比如 Glove)的定义吗?


答案
  1. 什么是 @UriTemplate

    1. 一种 JAX-RS 注释,用于标识 REST Web 服务资源的 URI 路径。该注释可标识 URI 路径,与 RESTF Web 服务相关的资源类或类方法将会为对该路径的请求提供服务。有关 REST Web 服务和 JAX-RS 的更多信息,请参阅 2007 年 11 月 16 日的“技术技巧” 在 Java 中实现 REST Web 服务
  2. 对于使用企业配置来配置域的 GlassFish v2 应用程序服务器,应使用什么类型的安全存储?

    1. NSS。GlassFish v2 配置预置了某种特定使用类型的配置参数。它支持三种配置:developer(开发人员)、cluster(集群)和 enterprise(企业)。这些参数中有一种是 Security Store,它可以确定如何存储安全和信任相关的事物,比如证书和密钥。对于企业配置,Security Store 值被设置为 NSS(表示 Network Security Services)。有关 GlassFish v2 配置中与安全相关的设置的更多信息,请参阅 2007 年 11 月 30 日的“技术技巧”使 GlassFish v2 应用程序服务器成为 SSL 服务器
  3. 以下标记出现在一个应用程序的 JSP 页面中:

         <jsfExt:scripts/> 

    该标记有什么作用?
     
    1. 将 Dynamic Faces JavaScript 库包含到应用程序中。<jsfExt:scripts/> 是包含 Dynamic Faces 应用程序的标准标记。您可以参阅 2007 年 10 月的“技术技巧”中的 Dynamic Faces 应用程序的示例 使用 Dynamic Faces 进行客户端轮询.
  4. 当 Java Persistence 实施在 J2SE 模式下运行时,应用程序负责创建其自己的实体管理程序,对吗?

    1. 对。您可以在两种模式的任一种下使用和 EJB 3.0 规范 (JSR-220) 兼容的 Java Persistence 实施:Java EE(正式叫做“in-container”)和 J2SE(正式叫做“out-of-container”)。在 Java EE 模式下,EntityManager 实例可以通过注射或通过 JNDI 查找获得。以这种方式获得的实体管理程序实例的生命周期由容器管理。在 J2SE 模式下,应用程序负责管理其实体管理程序的生命周期。EntityManagerFactory 可被用于创建实体管理程序。有关运行 Java Persistence 实施的这两种模式,以及优化 Java Persistence 实施性能的洞察的更多信息,请参阅 2007 年 5 月 26 日的“技术技巧”如何使 Java Persistence 实施获得最佳性能
  5. 您想要创建一个简单的 Web 服务来管理清单。您创建一个可用于模拟任何您想要通过 Web 服务显示的清单对象的类,如下所示:
     
         public abstract class Item implements Serializable {
              private long id;
              private String brand;
              private String name;
              private double price; 
              ...       
         }
     
    然后您为特定的清单对象定义类,比如以下类:
     
         public class Glove extends Item {
            private String size;       
     }
     
    然后您定义 Web 服务接口:
       
          @WebService()
             public class Inventory {
                 ...
                public List<Item> getItems() {...}
               
                public boolean addItem(Item item) {...}
        
                ...
            }
     
    如果您部署该 Web 服务,然后查看生成的 WSDL 和架构,您会看到特定清单项(比如 Glove)的定义吗?
  1. 否。如果您部署该 Web 服务,然后查看生成的 WSDL 和架构,您会注意到仅 Item 类型被定义 -- 将不会提到 Glove 或任何其他扩展抽象 Item 类的特定项。这是因为当 JAX-WS 自检 Inventory 类时,未提到特定项的类。要进行补救,您可以使用 @XmlSeeAlso 注释并列出其他您想要通过 Inventory Web 服务显示的类。有关 @XmlSeeAlso 注释以及如何使用它启用支持类型替换的更多信息,请参阅 2007 年 9 月的“技术技巧”通过 Web 服务使用类型替换.


开发人员帮助

需要获取 Java EE 方面的编程建议吗? 请访问 开发人员专家帮助