当前位置: 首页 > news >正文

网站建设要那些东西光明区住房和建设局网站

网站建设要那些东西,光明区住房和建设局网站,网站轮播图片怎么做的,网站备案号怎么查询html嵌入war大多数服务器端Java应用程序#xff08;例如#xff0c;面向Web或面向服务的#xff09;都打算在容器中运行。 打包这些应用程序以进行分发的传统方法是将它们捆绑为WAR文件。 这只不过是具有标准目录布局的ZIP存档#xff0c;其中包含运行时所需的所有库和应用… html嵌入war 大多数服务器端Java应用程序例如面向Web或面向服务的都打算在容器中运行。 打包这些应用程序以进行分发的传统方法是将它们捆绑为WAR文件。 这只不过是具有标准目录布局的ZIP存档其中包含运行时所需的所有库和应用程序级依赖项。 这种格式几乎可以互操作并且可以部署到您喜欢的任何服务器容器Tomcat或JettyJBoss或GlassFish等。 但是还有另一种流派完全颠覆了这种模式。 通过这种方法Java应用程序像任何普通应用程序一样被打包用于命令行执行。 嵌入式容器不是部署到容器而是部署在应用程序本身中 这对于使用多种语言的课程来说是一样的。 适用于Python的Django框架包括用于开发和测试的捆绑服务器而Ruby on Rails附带了一个用于生产的嵌入式服务器。 这个概念在Java中已经存在了一段时间 Jetty专攻嵌入式利基市场。 但是这与规范相去甚远事实上的标准仍然是可以部署到Tomcat的WAR文件。 但是嗡嗡声越来越大。 在去年的DevNexus会议上我参加了James Ward的会议当时他是Heroku的“开发者”。 捆绑您自己的容器是将应用程序部署到Heroku的基于云的平台的推荐方法James是一个大力支持者 。 他的会议专门针对Java和Scala的Play框架该框架以类似于Rails服务器的方式嵌入Netty 。 与Grails不同 Grails使用Django风格的服务器进行开发然后将其作为WAR文件发布而Play则打算在生产过程中一直使用自己的服务器。 James在所有Java应用程序中都倡导了这种方法。 一场嵌入式冒险 我至少喝了一口Kool-Aid。 当我开始编写示例Hibernate Search by Example时 我想将重点放在Hibernate Search上而不是其他任何框架或服务器问题上。 因此我避开了Spring并使用普通的Servlet 3.0方法编写了本书的示例应用程序。 我通常在自己的开发环境中使用Eclipse并将其指向本地Tomcat实例以测试Web应用程序。 但是我想为喜欢使用IntelliJNetbeans或根本不使用IDE的读者提供支持。 因此我决定将构建脚本嵌入测试服务器以便读者可以运行示例而无需安装或配置任何东西。 在Maven中使用嵌入式服务器 我的第一个目标只是从我的Maven构建脚本中启动服务器因此读者不必安装服务器或将其集成到IDE中。 我以前看过这件事这很简单只需将Jetty Maven插件添加到项目的POM中即可。 读者应该能够使用以下命令构建示例应用程序并一步一步启动它 mvn clean jetty:run 嗯不是那么快。 您应该能够对静态内容进行更改并看到更改在服务器运行时立即生效。 但是我遇到了有关文件被锁定的错误。 在花了一些时间进行研究之后我发现Jetty的默认设置在Windows文件锁定中效果不佳。 可以通过在一个配置文件中切换一个属性来解决此问题。 但是您必须打开Jetty JAR文件才能获取此配置文件的正确副本。 首先你要挖围绕本地Maven回购并找出哪些 JAR文件破解打开它原来是码头web应用而不是码头服务器。 一旦获得了webdefault.xml文件的副本并切换了useFileMappedBuffer设置就必须将副本保存在项目中的某个位置并更新Maven POM以使其在此处而不是在Jetty JAR内部 plugingroupIdorg.mortbay.jetty/groupIdartifactIdjetty-maven-plugin/artifactIdversion8.1.7.v20120910/versionconfigurationwebAppConfigdefaultsDescriptor${basedir}/src/main/webapp/WEB-INF/webdefault.xml/defaultsDescriptor/webAppConfig/configuration /plugin 好吧……比我预期的麻烦得多但是我可以解决这个问题。 将嵌入式服务器与其他构建系统一起使用 我知道许多Java开发人员都讨厌Maven。 因此我想提供使用Ant构建的本书示例应用程序的版本以说明如何适应默认概念。 那么我应该在build.xml中添加哪一行来使Ant使用Jetty 嗯不是那么快。 有 用于码头Ant集成 但它比Maven的更繁琐。 即使您正在使用诸如Ivy之类的依赖项管理系统您的Ant脚本也无法为您下载和管理嵌入式服务器。 相反您必须下载完整的独立Jetty服务器然后手动将其片段复制到您的项目中。 谁不希望将6兆的可执行二进制文件提交到源代码管理中 在Jetty服务器JAR上复制后您需要手动添加另一个JAR文件以进行Ant集成。 令我惊讶的是我发现最新的受支持版本是Jetty 7实现了将近8年的Servlet 2.5规范。 我看到他们终于在上个月添加了Jetty 8但是当我去年秋天写这本书时这对我没有帮助。 我不得不为Servlet 2.5而不是3.0重写这个示例应用程序的版本并且开始怀疑这是否真的值得。 通过代码使用嵌入式服务器 本书的最后这一章讨论了在集群服务器环境中运行的Hibernate Search应用程序。 Maven插件纯粹是单实例的因此我决定编写一个小的引导程序类该类将在语法上在不同端口上启动两个Jetty实例。 通过将此类构造为JUnit测试我仍然可以让Maven像这样自动启动它 mvn clean compile war:exploded test 嗯不是那么快。 启动时未注册我的应用程序的Servlet侦听器和RESTful服务。 经过更多的浪费时间之后我发现有很多不同的Jetty “味道”可用默认情况下启用或禁用Servlet 3.0功能例如注释。 老实说我仍然不完全了解如何分辨“高潮”和“非高潮”之间的区别。 我只能告诉您的是为了使注释能够正常工作我必须将这段代码添加到我的bootstrap类中 ... masterContext.setConfigurations( new Configuration[] { new WebInfConfiguration(), new WebXmlConfiguration(), new MetaInfConfiguration(), new FragmentConfiguration(), new EnvConfiguration(), new PlusConfiguration(), new AnnotationConfiguration(), new JettyWebXmlConfiguration(), new TagLibConfiguration() } ); ... 比将WAR文件拖放到Tomcat的/ webapps文件夹中更简单更直观对吗 从控制台和云使用嵌入式服务器 完成本书后我希望将示例代码的演示版本推送到GitHub并部署到Heroku 。 从理论上讲Heroku可以运行可以从命令行在本地运行的任何应用程序。 如果Heroku找到了Maven POM它将运行mvn clean软件包然后执行您在名为Procfile的脚本中放置的所有启动命令。 我的程序化Jetty启动器在Maven运行的情况下运行良好。 但是Maven在测试时正在管理我的类路径依赖项现在我需要在没有该帮助的情况下可以使用Jetty。 Heroku在其演示Java应用程序中使用的推荐方法是将您的应用程序与Tomcat的一个文件版本捆绑在一起。 太棒了无论如何我对Tomcat更加熟悉 嗯不是那么快。 如果您的应用程序希望将数据库连接或其他任何东西注册为JNDI资源那么您就自己决定了。 Heroku捆绑的Tomcat运行程序不支持JNDI设置。 嗯......也许这就是为什么Heroku的香草servlet的演示并没有真正做什么以及为什么只演示应用程序 并做一些事情而不是是基于Spring。 现在我考虑了一下James Ward去年离开了Heroku为TypeSafe工作自从他离开后Heroku就没有对其Java网站进行任何更新。 喝了 不用担心因为有一个类似的单文件Jetty Runner 它确实允许您将JNDI设置作为命令行参数传递。 此外我们已经投入了大量时间来解决嵌入式Jetty的所有问题 嗯还是太快了。 如果您在JSP视图中使用JSTL taglib即您生活在21世纪那么Jetty Runner会让您陷入混乱 。 从命令行运行它时您需要将参数传递给Java以实现以下目的 Jetty Runner JAR文件 您的Web应用程序的WAR文件* 在Maven构建期间生成的WAR文件的分解版本 *您没看错。 经过所有这些嵌入式噩梦之后Heroku 实际上仍在使用WAR文件 我的Heroku个人资料最终看起来像这样 web: java $JAVA_OPTS -jar target/dependency/jetty-runner-8.1.7.v20120910.jar --lib target/hibernate-search-demo-0.0.1-SNAPSHOT/WEB-INF/lib --port $PORT --jdbc org.apache.commons.dbcp.BasicDataSource urljdbc:h2:mem:vaporware;DB_CLOSE_DELAY-1 jdbc/vaporwareDB target/*.war 这里有一个以上的类加载器这使Jetty Runner可以从其类路径而不是Web应用程序的类路径加载JSTL / taglib东西。 结论 从一开始就将嵌入式服务器概念嵌入框架中嵌入式服务器概念就没有本质上的错误。 编写Play应用程序是一种乐趣并且在Heroku上部署它们几乎微不足道。 在日常工作中我使用基于Spring的商务程序包hybris 该程序包的扩展构建系统将Tomcat服务器捆绑到您的应用程序中。 只要您不需要过多定制构建脚本就可以正常工作。 另一方面该概念对于广泛的通用用途而言太脆弱和脆弱。 用管道将嵌入式服务器连接到普通Java应用程序上纯属痛苦。 您也许可以坚持别人的工作示例的安全性但是当您的应用执行任何不同的操作时您就可以自行解决损坏问题。 把我的嵌入式冒险带到上面并与使用Tomcat的“麻烦”进行对比 下载Tomcat并将其解压缩到某个位置 将您的WAR文件拖放到Tomcat的/ webapps子目录中 启动Tomcat 我获得的唯一真正优势是能够在Heroku上运行演示的能力。 但是云提供商的Java支持每天都在提高。 Jelastic允许您立即将普通的WAR文件部署到Tomcat 7或GlassFish 3。 AppFog支持部署到Tomcat 6 即将支持Tomcat 7 。 我怀疑在不久的将来 修改应用程序以进行云部署的想法将被视为不合时宜。 简而言之这取决于您使用的框架。 如果嵌入式服务器是嵌入式的那么它们可能会很酷。 如果将它们用胶带固定则可能会很可怕。 如果我今天写的是Hibernate Search by Example 则示例应用程序构建脚本将产生两件事一个WAR文件和一个Tomcat下载链接。 参考来自stefperkins.net博客的JCG合作伙伴 Steve Perkins的WAR文件与带有嵌入式服务器的Java应用程序的比较 。 翻译自: https://www.javacodegeeks.com/2014/03/war-files-vs-java-apps-with-embedded-servers.htmlhtml嵌入war
http://www.zqtcl.cn/news/692886/

相关文章:

  • 网站制作 福宁网络有限公司绚丽的网站
  • wordpress ip 访问重庆seo顾问服务
  • 灰色调网站自动seo系统
  • 河北省网站建设公司排名企业网络信息安全
  • 郑州网站定制建个微商城网站
  • 北京好网站制作公司哪家好vs加数据库做网站
  • 电子商务网站建设与管理第四章答案seo入门培训学校
  • 温州最便宜网站建设有哪些网站可以做推广
  • 郑州网站建设制作公司wordpress播放m3u8
  • wordpress企业站手机客户端wordpress获取主页路径
  • 免费开通的网站外国网站在中国做推广
  • 揭阳公司做网站泰国网站域名
  • 上海网站制作方法北京网站制作设计推广公司
  • 衡水哪有建网站的吗个人简历word模板
  • 网站建设前期开发企业网站开发丨薇
  • 流程图 网站做网站后台数据库建设
  • 免费做英语卷子的网站wordpress去谷歌插件
  • 做网站费用网站极简设计
  • 兰州市建设工程安全质量监督站网站优化公司治理
  • 高质量的合肥网站建设天津百度网站快速优化
  • 千元低价网站建设wordpress修改文章时间
  • 做网站需要几个程序wordpress淘客api
  • 建筑公司网站源码本地建站教程
  • 甘肃省建设厅官方网站信息网腾讯企点qq
  • 搜狗收录网站建个网络平台多少钱
  • 电子商务网站开发目的和意义郑州网站优化的微博_腾讯微博
  • asp.net网站建设项目实战 董义革wordpress伪静态规则访问失败
  • 网站添加锚点网站备案名称更换
  • 手机商城网站如何企业网站建设及运营现状分析
  • 网站建设注意的问题网站模板 知乎