码迷,mamicode.com
首页 > 其他好文 > 详细

J2EE7与Servlet3.x

时间:2017-09-16 18:42:33      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:设置   协议   lis   inject   应用程序   .com   async   插件   注解注入   

J2EE7结构图

技术分享

JWS:即Java Web Service,指与webservice相关的JavaEE技术部分,webservice是一种基于XML的独立的、跨平台的、互操作的应用程序,XML又包含XSD、DTD、XPath等相关技术
JAX:即Java Xml,类似地JAXB(Java Xml Binding)
常用JWS主要有:

JAX-WS 全称JavaTM API forXML-Based Web Services 又叫JAX-RPC(远程调用),顾名思义就是基于Web Services
JAX-RS 全称JavaTM API forRESTful Web Services 即使用REST风格
 两者是不同风格的SOA架构。前者以动词为中心,指定的是每次执行函数。而后者以名词为中心,每次执行的时候指的是资源。
JAX-WS是面向消息的,每次请求的时候指定了请求的方法。JAX-RS是面向资源的。后则将网络上的东西当做一种资源,每次请求都是对该资源进行操作,比如对资源的增删查改。


CDI:即Contexts Dependency Injection,和Spring的IOC差不多的东西,就是可以在组件中通过注解注入上下文、请求和响应等。


JTA:即Java Transaction API,使用过Hibernate和EJB的应该知道,就是事务处理,JTA依赖于所处的容器,如果不是分布式开发的话,我们一般使用本地事务,即是数据库本身的事务处理。


PA:即Java Persistence API,就是最常用的持久化技术,原本属于EJB中的部分,EJB3.0之后分离出来,作为一个独立的规范。作为一种ORM技术,JPA提供了基本的统一标准。


JMS:即Java Message Service,和JDBC类似,提供了一个统一的API供其他厂商实现,主要用于客户机信息的交互,JMS主要有点到点和订阅/发布两种方式。

 

Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。Servlet3规范通过配置可支持异步请求(需要在xml或注解中配置参数async-supported为true),可支持插件化开发,通过注解可以让web.xml不再需要web.xml,规范本身也可以支持文件上传。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。servlet3.1是J2EE7中规范,无阻塞 I/O、协议升级、安全性增强。

    • 参考:
    • 关键特性
      • Asynchronization(异步支持): 通过AsyncContext另起异步线程处理业务逻辑, 不再阻塞Filter或Servlet线程. 可以实现Reactor模式.
      • Pluggability(插拨支持): 通过Annotation(@WebServlet, @WebFilter, @WebListener, @WebInitParam, @MultipartConfig, @ServletSecurity, @HttpConstraint, @HttpMethodConstraint)或/META-INF/web-fragment.xml充分解耦组件,实现插拨机制.
        注意: 在web.xml设置metadata-complete="true"可以关闭Pluggability特性. 但不影响@HandlesTypes+ServletContainerInitializer的动态注册机制.
      • Fileupload(文件上传): 通过@MultipartConfig+Part实现文件上传. 不再需要apache-fileupload.
      • Dynamic Registration(动态注册):
        • 通过ServletContext.addXXX()+Registration实现.
        • 相关API只能在ServletContextListener.contextInitialized()或者ServletContainerInitializer.onStartup()中调用. 后者是基于java服务API机制实现, 需要在(/META-INF/services/javax.servlet.ServletContainerInitializer)配置实现类.
        • 动态注册不受web.xml中metadata-complete="true"影响,但优先级低于web.xml, 相同设置会被覆盖.
      以上4点是Servlet 3.0/3.1的关键特性, 其中
      • Pluggabilityr的目标是"充分解耦,实现插拨"
      • Dynamic Registration的目标是"动态注册,编程"
      • Asynchronization的目标是提高并发性能
      • FileUpload, Annotation是增加编程方便

 

J2EE7与Servlet3.x

标签:设置   协议   lis   inject   应用程序   .com   async   插件   注解注入   

原文地址:http://www.cnblogs.com/doit8791/p/7531711.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!