Servlet 3.0 | 您所在的位置:网站首页 › vscode打war包 › Servlet 3.0 |
一、新特性 1、增加新注解 @WebServlet、@WebFilter、@WebListener 2、异步支持: 在注解中或web.xml部署描述符声明的Servlet、Filer中声明async-supported为true即可,默认async-supported为false 3、可支持性插件:不修改已有Web,只需按一定格式(即:jar包的META-INFO目录下有web-fragment.xml文件)打成jar包,放到WAR包WEB-INFO\lib目录下,即可实现新功能的扩充。 注:1、可插拔jar包中的 @WebServlet、@WebFilter、@WebListener不起作用,Servlet、Filter、Listener必须显示声明到web-fragment.xml中,或者在ServletContainerInitializer子类动态注册,或者在ServletContextListener的contexInitialized方法中动态注册 2、web-fragment.xml中可用name和order标签指定加载顺序 3、WAR包中web.xml必须设置metadata-complete为true才支持可插拔特性,默认为false 4、ServletContext增强动态注册功能:不在部署描述符或web-fragment.xml中声明Servlet、Filter、Listener,动态注入三者 注:1、 动态注册只能在ServletContainerInitializer的onStarup方法或ServletContextListener的contexInitialized中使用 2、不可在ServletContextListener中再次注入ServletContextListener的实现类 5、HttpServletRequest对文件上传的支持: 1、@MultipartConfig支持MIME类型是multipart/form-data 2、HttpServletRequest新增 Part getPart(String name)、Collection getParts()两个方法对文件处理 6、ServletContainerInitializer 1、子类可以用@HandlesTypes标注,也可以不用 2、可以一个应用有多个子类实现 3、用户代替web.xml,可以完成容器初试化时的一些操作,如:注册Servlet、Filter、Listener 4、实现子类必须在WAR包的META-INF\services下的 javax.servlet.ServletContainerInitializer文件中写入全子类名 5、子类可以在web-fragment模块中 7、使用@HandlesTypes机制,可使servlet与自定义程序解耦 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |