atitit.j2ee 1.5 1.6 的不同跟 Servlet 3.0新特性总结

 

1. jar比较,j2ee 1.6 添加了许多的jar 1

2. ,Servlet 3.0 2

2.1. 可插性  web片段 2

2.2. 异步处理 3

2.3. anno支持filter,sevlet,listen 3

2.4. 三、元数据和通用注释 3

2.5. 现有API的改进 HttpServletRequest,,HttpServletRequest,,ServletContext,,dynac filter,serverlet 4

3. JSR311 现Restful Web Service的API规范 5

4. WebBeans 1.0 5

5. JPA 2.0 5

6. 4.  JSF 2.0 5

7. JSR-196 Java Authentication SPI for Containers 6

8. JSR-236 Timer for Application Servers 6

9. JSR-237 Work Manager for Application Servers 6

10. JSR-299 Web Beans 6

11. JSR-311 JAX-RS: Java API for RESTful Web Services 6

12. 参考 6

 

1. jar比较,j2ee 1.6 添加了许多的jar

 

 

 

 

 

 

2. ,Servlet 3.0

 

2.1. 可插性  web片段

每当我们使用第三方框架如Struts、JSF或者Spring的时候,我们需要在web.xml中为相应 的Servlet添加相应的条目,这使得web部署描述符变得繁琐并且难以维护。 Servlet 3.0中引入的可插性使得web应用程序更加模块化,也更加易于维护。由于可插性是通过web片段来实现的,所以它使得开发人员不必再在web.xml中 建立太多的Servlet配置条目

容器将根据描述符web.xml中的metadata-complete元素的值来决定使用web.xml或者注释。如果该属性的值为true,那么容器 就不会处理注释和web片段;部署描述符是所有的元数据信息的唯一来源。只有当该元素metadata-complete不存在或其值不为true时才, 容器才会处理注释和web片段。

作者::老哇的爪子Attilax艾龙

 

2.2. 异步处理

  新的Servlet规范中的另一项重大变化是支持异步处理,这对于AJAX应用程序来说是一个非常有用的 特性。当Servlet创建发送请求的线程的时候,它通常必须等待诸如数据库或者消息连接等资源返回响应,之后它才能在这个线程中执行其他操作。异步处理 通过允许线程执行其它的操作而避免了这样的阻塞式请求。

2.3. anno支持filter,sevlet,listen

  @MultipartConfig

  使用注释@MultipartConfig可以为Servlet指定多部分组成的MIME类型请求。MIME附件是从该请求对象中读取的。

 @WebInitParam

我们可以使用注释@WebInitParam把init参数指定为Servlet或者过滤器。另外,我们还可以使用注释@WebFilter和@WebServlet 的initParam属性来规定init参数。

 

2.4. 三、元数据和通用注释

  除了上面描述的特定于Servlet的注释之外,Servlet 3.0还支持所有定义为JSR 175(Java元数据规范)和JSR 250(用于Java平台通用注释) 的一部分的注释,包括:

· 与安全有关的注释,诸如@DeclareRoles 和@RolesAllowed

· 使用EJB的注释,诸如@EJB和@EJBs

· 用于资源注入的注释,诸如@resource和@Resources

· 使用JPA的注释,诸如@PersistenceContext、@PersistenceContexts、@PersistenceUnit和@PersistenceUnits

· 生命周期注释,诸如@PostConstruct 和@PreDestroy

· 提供web服务索引的注释,诸如@WebServiceRef 和@WebServiceRefs

2.5. 现有API的改进 HttpServletRequest,,HttpServletRequest,,ServletContext,,dynac filter,serverlet

  Servlet 3.0规范不仅引入了新的概念/技术,而且还对现有API进行了相应的改进。

  HttpServletRequest,,HttpServletRequest,,ServletContext

  为了支持multipart/form-data MIME类型,已经为HttpServletRequest接口添加了下列方法:

· Iterable getParts()

· Part getPart(String name)

  Cookies

  为了消除某些类型的跨站点脚本攻击,Servlet 3.0支持HttpOnly cookies。HttpOnly cookies不会暴露给客户端脚本代码。为了支持HttpOnly cookies,已经为Cookie类添加了以下方法:

· void setHttpOnly(boolean isHttpOnly)

· boolean isHttpOnly()

  ServletContext

  由于为ServletContext API添加了以下方法,所以Servlet 3.0允许Servlet和管理器以编程方式添加到一个上下文中:

· addServlet(String servletName, String className)

· addServlet(String servletName, Servlet servlet)

· addServlet(String servletName, Class servletClass)

· addFilter(String filterName, String className)

· addFilter(String filterName, Filter filter)

· addFilter(String filterName, ClassfilterClass)

· setInitParameter (String name, String Value)——此方法可用于设置上下文的初始化参数

3. JSR311 现Restful Web Service的API规范

是java中实现Restful Web Service的API规范(JSR311: JAX-RS: The Java API for RESTful Web Services)。JSR311有一..

 

4. WebBeans 1.0 5. JPA 2.0 6. 4.  JSF 2.0

jsf2的一大改进,非常容易的自定义组件,并且可以跟js现有框架很好的集成,比如我很容易的就封装了jquery的一个日期控件,不写一行java代码,还能让js控件具有jsf使能。

7. JSR-196 Java Authentication SPI for Containers 8. JSR-236 Timer for Application Servers 9. JSR-237 Work Manager for Application Servers 10. JSR-299 Web Beans 11. JSR-311 JAX-RS: Java API for RESTful Web Services

 

12. 参考