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

怎么做一个单页的网站宣传片拍摄报价

怎么做一个单页的网站,宣传片拍摄报价,网站建设使用工具,河南视频网站建设公司在本文中#xff0c;我们将创建一个基于Java的HTTP端点#xff0c;用它创建一个可执行jar#xff0c;将其打包在Docker中#xff0c;然后立即在本地运行。 本文面向初学者#xff0c;他们想要寻找一个简单的演练来在Docker中运行Java应用程序。 描述Dockerized环境中Jav… 在本文中我们将创建一个基于Java的HTTP端点用它创建一个可执行jar将其打包在Docker中然后立即在本地运行。 本文面向初学者他们想要寻找一个简单的演练来在Docker中运行Java应用程序。 描述Dockerized环境中Java应用程序的绝大多数示例都包括使用Spring Boot之类的沉重框架。 我们想在这里表明您不需要太多的钱就可以在Docker中使用Java运行端点。 实际上我们仅将单个库用作依赖项 HttpMate core 。 对于此示例我们将使用具有单个HTTP处理程序的HttpMate的LowLevel构建器 。 本示例使用的环境 Java 11 Maven 3.5 Java友好的IDE Docker版本18 对HTTP / bash / Java的基本了解 最终结果在此git repo中可用。 组织项目 让我们创建我们的初始项目结构 mkdir -p simple-java-http-docker/src/main/java/com/envimate/examples/http 让我们从我们在这里称为simple-java-http-docker的根目录中的项目的pom文件开始 project xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://maven.apache.org/POM/4.0.0xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.envimate.examples/groupIdartifactIdsimple-java-http-docker/artifactIdversion0.0.1/versiondependenciesdependencygroupIdcom.envimate.httpmate/groupIdartifactIdcore/artifactIdversion1.0.21/version/dependency/dependencies /project 这里我们有 我们项目的标准groupId / artifactId / version定义 对HttpMate核心库的单一依赖关系 这足以开始在所选的IDE中开发我们的端点。 其中大多数都支持基于Maven的Java项目。 应用入口 要启动我们的小服务器我们将使用一个简单的main方法。 让我们在src/main/java/com/envimate/examples/http目录中作为Application.java文件创建应用程序条目该文件现在仅将时间输出到控制台。 package com.envimate.examples.http;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;public final class Application {public static void main(String[] args) {final LocalDateTime time LocalDateTime.now();final String dateFormatted time.format(DateTimeFormatter.ISO_TIME);System.out.println(current time is dateFormatted);} } 尝试运行此类您将看到当前时间。 让我们使其更具功能并将打印时间的部分分离为不带参数的lambda函数即Supplier 。 package com.envimate.examples.http;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.function.Supplier;public final class Application {public static void main(String[] args) {Supplier handler () - {final LocalDateTime time LocalDateTime.now();final String dateFormatted time.format(DateTimeFormatter.ISO_TIME);return current time is dateFormatted;};System.out.println(handler.get());} } 低级HttpMate提供的便捷接口看起来没有什么不同除了返回一个String 没有设置String 而是将String设置为响应以及表示一切正常的指示aka响应代码200。 final HttpHandler httpHandler (request, response) - {final LocalDateTime time LocalDateTime.now();final String dateFormatted time.format(DateTimeFormatter.ISO_TIME);response.setStatus(200);response.setBody(current time is dateFormatted); }; HttpMate还提供了一个简单的Java HttpServer包装器– PureJavaEndpoint 该包装器允许您启动端点而无需任何进一步的依赖。 我们需要做的就是为其提供HttpMate的实例 package com.envimate.examples.http;import com.envimate.httpmate.HttpMate; import com.envimate.httpmate.convenience.endpoints.PureJavaEndpoint; import com.envimate.httpmate.convenience.handler.HttpHandler;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;import static com.envimate.httpmate.HttpMate.anHttpMateConfiguredAs; import static com.envimate.httpmate.LowLevelBuilder.LOW_LEVEL;public final class Application {public static void main(String[] args) {final HttpHandler httpHandler (request, response) - {final LocalDateTime time LocalDateTime.now();final String dateFormatted time.format(DateTimeFormatter.ISO_TIME);response.setStatus(200);response.setBody(current time is dateFormatted);};final HttpMate httpMate anHttpMateConfiguredAs(LOW_LEVEL).get(/time, httpHandler).build();PureJavaEndpoint.pureJavaEndpointFor(httpMate).listeningOnThePort(1337);} } 注意当使用方法GET调用时我们已将httpHandler配置为提供路径/time 。 现在是时候启动我们的应用程序并提出一些要求了 curl http://localhost:1337/time current time is 15:09:34.458756 在将所有内容放入Dockerfile之前我们需要将其打包为旧的jar。 建立罐子 为此我们需要两个maven插件 maven-compiler-plugin和maven-assembly-plugin来构建可执行jar。 ?xml version1.0 encodingUTF-8? project xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://maven.apache.org/POM/4.0.0xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.envimate.examples/groupIdartifactIdsimple-java-http-docker/artifactIdversion0.0.1/versiondependenciesdependencygroupIdcom.envimate.httpmate/groupIdartifactIdcore/artifactIdversion1.0.21/version/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationrelease${java.version}/releasesource${java.version}/sourcetarget${java.version}/target/configuration/pluginplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-assembly-plugin/artifactIdexecutionsexecutionphasepackage/phasegoalsgoalsingle/goal/goalsconfigurationarchivemanifestmainClasscom.envimate.examples.http.Application/mainClass/manifest/archivedescriptorRefsdescriptorRefjar-with-dependencies/descriptorRef/descriptorRefs/configuration/execution/executions/plugin/plugins/build /project 一旦有了它就让我们构建jar mvn clean verify 并运行生成的jar java -jar target/simple-java-http-docker-0.0.1-jar-with-dependencies.jar 相同的卷曲度 curl http://localhost:1337/time current time is 15:14:42.992563Docker化罐子 Dockerfile看起来非常简单 FROM openjdk:12ADD target/simple-java-http-docker-0.0.1-jar-with-dependencies.jar /opt/application.jarEXPOSE 1337ENTRYPOINT exec java -jar /opt/application.jar 它指定 FROM 用作基础的图像。 我们将使用openjdk图像。 ADD 我们想要的jar到我们想要的目录 EXPOSE 我们正在监听的端口 ENTRYPOINT 对于命令我们要执行 为了构建和标记我们的docker镜像我们从目录的根目录运行以下命令 docker build --tag simple-java-http-docker . 这将产生一个我们可以运行的docker映像 docker run --publish 1337:1337 simple-java-http-docker 请注意我们传递了--publish参数该参数指示裸露的1337端口在计算机的1337端口下可用。 相同的卷曲度 curl http://localhost:1337/time current time is 15:23:04.275515 就是这样我们已经将简单的HTTP端点泊坞窗化了 结冰 当然这是一个简化的示例我们编写的端点并不完全有用。 它表明尽管您不需要大量的库就可以拥有一个正在运行的HTTP端点打包一个可运行的jar在您的Java应用程序中使用docker以及低级HttpMate的基本用法是多么容易。 当您需要快速旋转测试HTTP服务器时这种两分钟的设置很方便。 前几天我正在开发一个Twitter机器人敬请关注有关该文章的文章我必须调试接收方真正的请求。 显然我无法要求Twitter将请求转储给我因此我需要一个简单的终结点该终结点将输出有关请求的所有信息。 HttpMate的处理程序提供对名为MetaData的对象的访问该对象几乎就是所谓的–请求的元数据意味着有关请求的所有可用信息。 使用该对象我们可以打印请求的所有内容。 public final class FakeTwitter {public static void main(String[] args) {final HttpMate httpMate HttpMate.aLowLevelHttpMate().callingTheHandler(metaData - {System.out.println(metaData);}).forRequestPath(/*).andRequestMethods(GET, POST, PUT).build();PureJavaEndpoint.pureJavaEndpointFor(httpMate).listeningOnThePort(1337);} } 现在请求路径/time被替换为模式捕获所有路径并且我们可以添加所有我们感兴趣的HTTP方法。 运行我们的FakeTwitter服务器并发出请求 curl -XGET http://localhost:1337/some/path/with?someParametersomeValue 我们将在控制台中看到以下输出格式化输出以提高可读性它是下面的地图因此如果您愿意可以很好地设置其格式 {PATHPath(path/some/path/with),BODY_STRING,RAW_QUERY_PARAMETERS{someParametersomeValue},QUERY_PARAMETERSQueryParameters(queryParameters{QueryParameterKey(keysomeParameter)QueryParameterValue(valuesomeValue)}),RESPONSE_STATUS200,RAW_HEADERS{Accept*/*,Hostlocalhost:1337,User-agentcurl/7.61.0},RAW_METHODGET,IS_HTTP_REQUESTtrue,PATH_PARAMETERSPathParameters(pathParameters{}),BODY_STREAMsun.net.httpserver.FixedLengthInputStream6053cef4,RESPONSE_HEADERS{},HEADERSHeaders(headers{HeaderKey(valueuser-agent)HeaderValue(valuecurl/7.61.0),HeaderKey(valuehost)HeaderValue(valuelocalhost:1337),HeaderKey(valueaccept)HeaderValue(value*/*)}),CONTENT_TYPEContentType(valuenull),RAW_PATH/some/path/with,METHODGET,LOGGERcom.envimate.httpmate.logger.Loggers$$Lambda$17/0x000000080118f0405106c12f,HANDLERcom.envimate.examples.http.FakeTwitter$$Lambda$18/0x000000080118f44068157191 }最后的话 HttpMate本身提供了更多功能。 但是它还很年轻尚未用于生产需要您的支持 如果您喜欢阅读的内容请给我们发送电子邮件至opensourceenvimate.com或者仅尝试HttpMate并在反馈问题中发表评论让我们知道。 翻译自: https://www.javacodegeeks.com/2019/08/java-single-dependency-dockerized-http-endpoint.html
http://www.sadfv.cn/news/146516/

相关文章:

  • dede网站备份集团官网建设公司
  • 富阳区建设局网站多少潍坊网站建设wfyckj
  • 网站结构有哪几种买网站多少钱
  • 学做视频的网站北京地铁优化
  • 食品网站建设建议招标网站建设申请
  • 莞城网站推广网站开发什么语言比较快
  • 合肥建设发展局网站西安大雁塔附近酒店推荐
  • 网站套用wordpress 首页添加图片
  • 静态网站的短处微信开发时间
  • 外贸型网站制作seo网页优化公司
  • 阜阳网站建设电话wordpress自定义页面编码
  • 网站 劣势全国最好的网站建设案例
  • 网站挣钱怎么做成品在线短视频免费入口
  • 创建吃的网站怎么做重庆大渝网首页
  • 国内知名网站建设个人怎样做网站
  • 百度网站官网南宫做网站
  • 如何给网站做排名seo公司关键词
  • 网站开发工具选用原则第一次打开wordpress白
  • 应用关键词优化杭州网站关键词优化
  • 苏州交通网站建设微信小程序开发流程
  • 网站建设和优司怎么样推销产品什么网站好
  • 河南火焰山网站开发禹wordpress幻灯片主题设置
  • 网站优化建议怎么写七牛云
  • 长沙做网站的价格网站制作模板教案
  • 第一ppt网ppt模板下载免费seo赚钱
  • 不用付费不用登录的网站网页制作一年价格
  • 泰州企业网站建站模板网站建设壹金手指六六1
  • 网站建设代理政策湖南省建设工程造价管理协会网站
  • 网站制作公司有哪些新民电商网站建设价格咨询
  • 黄金做空网站中科建声公司简介