电商在线设计网站,服务器空间租赁,福建中江建设公司网站,平台系统维护是什么意思Servlet 3.0 –具有许多突破性的功能#xff0c;这些功能最终将改变开发人员编写和编写JEE Web应用程序的方式–有人可能会说#xff0c;它的约定违背了我们对事物在理论上“应该”如何工作的大多数理解#xff0c;但这就是其中之一。创新和持续改进#xff1b; 挑战公约并… Servlet 3.0 –具有许多突破性的功能这些功能最终将改变开发人员编写和编写JEE Web应用程序的方式–有人可能会说它的约定违背了我们对事物在理论上“应该”如何工作的大多数理解但这就是其中之一。创新和持续改进 挑战公约并提供更好有效的解决方案。 本博客文章涵盖的主题 易于发展–发生了什么变化 Servlet和过滤器的动态注册 可插拔性 捆绑的jar文件中的资源–一种称为Web片段的新功能。 易于发展 这是JEE Development世界中的主观主题之一–它不是一直在拖放而是关于如何进一步完善符合标准经过最佳惯例并经过严格检查的开发方式。 通过注释的声明式编程风格–在JEE6中web.xml现在是可选的并且现在可以通过使用注释来标记所有POJOS。 您可以声明Servlet过滤器侦听器初始化参数等-几乎可以通过使用批注来配置web.xml下的几乎所有内容。 WebServlet –定义一个Servlet WebFilter –定义过滤器 WebListener –定义一个监听器 WebInitParam –定义初始化参数 MultipartConfig –定义文件上传属性 ServletSecurity –定义安全约束 注意尽管可以这样做但是开发人员仍然可以使用web.xml覆盖这些值。 我在这里附上一个示例供您测试。 Servlet和过滤器的动态注册 可用的另一个功能是动态注册-在ServletContext初始化期间执行 public class TestServletContextListenerimplements ServletContextListener {Overridepublic void contextInitialized(ServletContextEvent sce) {ServletContext servletContext sce.getServletContext();ServletRegistration.Dynamic dynamic servletContext.addServlet(DynamicServlet,com.mycom.MyServlet); dynamic.addMapping(/dynamicServlet); // URL mappingdynamic.setAsyncSupported(true);}
} 当然您可以查找并挂接动态servlet /过滤器 ServletRegistration declared ServletContext.getServletRegistration(DeclaredServlet);
declared.addMapping(/declaredServlet);
declared.setInitParameter(param, value); 在此处下载maven项目。 可插拔性 在部署描述符中无需使用样板配置即可启用第三方框架。 模块化web.xml以允许框架独立地包含在其自己的JAR文件和编程配置API中。使用注释。 可插拔背后的动机是如果需要特定的框架则可以减少将所有配置放在一个单独的Sileweb.xml中的复杂性。 例如如果开发人员需要对现有Web应用程序的Spring支持-首先要做的是将Spring的servlet /侦听器作为其支持的一部分-将来当出现新的EE技术时它会变得很丑陋。您需要再次将所有内容放到web.xml文件中。 现在借助JEE6您可以创建一个带有web-fragment.xml的子项目该子项目将模仿主web.xml上的一个部分从而可以独立创建和隔离进一步的改进或可插入功能要求。 以下是web-fragment.xml的示例 web-fragmentservletservlet-namewelcome/servlet-nameservlet-classcom.mycom.WelcomeServlet/servlet-class/servletservlet-mappingservlet-namewelcome/servlet-nameurl-pattern/Welcome/url-pattern/servlet-mapping...
/web-fragment 它与web.xml非常/非常相似。 在此处下载示例Web片段项目。 捆绑的jar文件中的资源 静态和JavaServerTM PageJSP资源不再局限于Web应用程序的文档根目录 可以放在WEB-INF / lib / [* .jar] / META-INF / resources中 容器在处理HTTP请求和对ServletContextgetResource或ServletContextgetResourceAsStream方法的调用时必须遵循这个新位置 但是文档根目录中的资源优先于捆绑的JAR文件中的资源。 有了Web片段和新的资源束jar支持 现在可以与主父应用程序分开开发需要端到端处理的功能要求。 经过改进的新Servlet 3.0带来了许多有效的工具这些工具将使开发人员可以使用该平台创建质量更高且更强大的应用程序。 注释/声明性编程–使描述符达到了新的高度因为Servlet过滤器和侦听器现在可以在Java代码级别上完成。 Servlet过滤器侦听器等的动态注册可用于创建将处理特定业务案例的JIT pojosDI和CDI支持使开发人员可以通过简单地让容器负责对象的制造方法和最佳方法来简化范例总而言之Web片段和对资源束jar的支持对开发进行了不同的分离因为它允许隔离特定功能的Web项目利用JEE现有技术而无需通过父Web应用程序处理大量配置。 参考来自我们的JCG合作伙伴 Alvin Reyes的Servlet 3.0 位于Alvin“ Jay” Reyes博客博客中。 翻译自: https://www.javacodegeeks.com/2013/08/servlet-3-0-overview.html