atitit.j2ee 1.5 1.6 的不同跟 Servlet 3.0新特性总结
2.3. anno支持filter,sevlet,listen 3
2.5. 现有API的改进 HttpServletRequest,,HttpServletRequest,,ServletContext,,dynac filter,serverlet 4
3. JSR311 现Restful Web Service的API规范 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
11. JSR-311 JAX-RS: Java API for RESTful Web Services 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 Services12. 参考