jetty

从没想过从上帝视角看地球,竟美得如此震撼!

谁说胖子不能爱 提交于 2020-08-11 22:49:38
全世界只有 3.14 % 的人关注了 爆炸吧知识 “ 当你从另一个角度俯瞰地球,你就能发现不一样的世界 。。。 试想你现在飘起来了 飘得越来越高,地球在你眼里慢慢变小 现在,你看见的是此生从未见过的景色 ——《极简宇宙史》 当想象力带我走向未知 脑海中全是肆意描绘的绚烂画面 一面希望保有自由想象的空间 一面又压抑不住好奇心去认知宇宙真正的模样 进行一次离开地球的旅行短期内怕是无法实行 只能在搭乘飞机时到达远离地表的最高高度 从“上帝视角”一窥所生活的星球 我们中的大多数人 可能一生都没有机会 站上太空俯瞰我们赖以生存的地球 而那些有机会从另一个视角 看我们家园的人则认为 这一看,打破了自己很多原先的认知 我们知道世界很大、地球很美 但人类真是太渺小了! 这种美总是无法完整确切地体验的 除非你从一万里的高空 以一种上帝视角俯瞰我们所居住的星球 这种感受在1987年被作家 Frank White 定义为 “ Overview Effect 总观效应 ” 来自纽约的作家 本杰明•格兰特( Benjamin Grant ) 从总观效应中得到灵感 搜集网络上的卫星图像资料 创立了一个名为 Daily Overview 每日总观的网站 (文末附网址) 和Instagram账号 让人可以从空中角度 看一看熟悉的城市和未曾见过的自然 自2013年12月开始 他的Instagram账号(Daily

SpringMVC实现浏览器端大文件分块上传

强颜欢笑 提交于 2020-08-11 22:16:53
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5

Tomcat简介

一世执手 提交于 2020-08-11 06:43:21
Tomcat是一款我们平时开发过程中最常用到的Servlet容器。本系列博客会记录Tomcat(以Tomcat 7为列)的整体架构、核心组件、IO线程模型、请求在Tomcat内部的流转过程以及一些Tomcat调优的相关知识点。力求能达到以下几个目的: 更加熟悉Tomcat的工作机制,工作中遇到Tomcat相关问题能够快速定位,从源头来解决; 对于一些高并发场景能够对Tomcat进行调优; 通过对Tomcat源码的分析,吸收一些Tomcat的设计的理念,应用到自己的软件开发过程中。 1. 什么是Tomcat Tomcat 是一款Apache下面的开源的Servlet容器,实现了对Servlet和JSP规范的支持 。另外 Tomcat 本身内含了一个 HTTP 服务器,所以也可以被当作一个 Web 服务器来使用。但是Tomcat作为一个Web服务器,它对静态资源的处理能力要比Apache或者Nginx这类的Web服务器差很多,所以我们经常将Apache和Tomcat(或者是Nginx和Tomcat)组合使用,Apache来充当Web服务器处理静态资源的请求,Tomcat充当Servlet容器来处理动态请求。 Web服务器和应用服务器 Web服务器,是指一台在互联网上具有独立IP地址的高性能计算机,可以向互联网上的用户提供“WWW(万维网)、Email(电子邮件)和FTP(文件传输)

Controller类的使用

◇◆丶佛笑我妖孽 提交于 2020-08-10 22:13:06
Openagv的Controller层,主要是用于http方式调用时,作控制层用,与spring等框架的作用是一致的。而opentcs本来已经支持webapi方式进行访问的,是sprakjava+jetty的组合方式,在这个基础上,扩展了一个源码,直接让系统在启动时扫描并注册Controller到系统,通过请求的URI地址,将请求转到对应的Controller上,现在对Controller类里的约定与注解描述一下. 1,新建 UserController @Controller @Mapping ( value = "/system/user" , desc = "用户管理" ) public class UserController extends BaseController<User> { @Import private UserService userService ; /** * 注册用户 * * @return ReturnDto */ @Mapping ( value = "/register" , desc = "注册用户" ) public ReturnDto register () { try { return buildReturnDto( userService .register(getBean(RegisterDto. class ))) ; }

jdk 原生的HttpServer(com.sun.net.HttpServer) 创建web服务器

半世苍凉 提交于 2020-08-10 20:14:18
最早的学习web编程是写一个Servlet,然后重写里面的service方法,然后去配置web.xml配置,最后部署在tomcat或者jetty等容器中启动。后面是使用一写strtus或者springmvc框架。其实通过jdk源码,可以快速创建web服务,和golang及其的相似。 HttpServer public static void main (String[] args) { HttpServer server = HttpServer. create () ; server .bind( new InetSocketAddress(8081) , 3 ) ; server .createContext( "/health" , new HealthHandler()) ; server .createContext( "/info" , new InfoHandler()) ; executorService = Executors. newFixedThreadPool ( 5 , DaemonThreadFactory. defaultThreadFactory (daemon)) ; server .setExecutor( executorService ) ; server .start() ; } static class HealthHandler

一个小时学会Maven

末鹿安然 提交于 2020-08-10 09:40:51
一、为什么要Maven 在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要。 Maven是当前最受欢迎的Java项目管理构建自动化综合工具 ,类似以前Java中的 Ant 、node.js中的 npm 、dotNet中的 nuget 、PHP中的 Composer 。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累。 Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。Maven让开发人员的工作更轻松,同时创建报表,检查,构建和测试自动化设置。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。 每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。 因此,我们就要用到Maven(使用Ant也可以,不过编写Ant的xml脚本比较麻烦)----一个项目管理工具。 Maven主要做了两件事: 统一开发规范与工具 统一管理jar包 如果 没有Maven ,你可能不得不经历下面的过程: 1 如果使用了spring,去spring的官网下载jar包

HTML5实现文件上传下载功能实例解析

放肆的年华 提交于 2020-08-10 02:33:55
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5

VUE大文件分片上传/多线程上传

心不动则不痛 提交于 2020-08-10 00:21:29
前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。 1.特点: (1)支持客户/服务器模式。 (2)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 (3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 (4)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 (5

Spring Boot 2.3.0正式发布:优雅停机、配置文件位置通配符新特性一览

◇◆丶佛笑我妖孽 提交于 2020-08-08 21:23:46
当大潮退去,才知道谁在裸泳。。关注公众号【 BAT的乌托邦 】开启专栏式学习,拒绝浅尝辄止。本文 https://www.yourbatman.cn 已收录,里面一并有Spring技术栈、MyBatis、中间件等小而美的专栏供以学习哦。 目录 前言 关于版本号 正文 简单回忆2.2版本的新特性 主要新特性 优雅停机 配置属性的调整 删除不推荐使用的类/方法/属性 配置文件位置支持通配符 web下的日期转换支持配置 其它新特性 更改某些依赖最低版本要求 核心依赖升级 三方库依赖升级 Spring Data Neumann升级带来的变化 关于Validation 移除一些maven插件 支持Java14 Docker支持 Fat Jar支持优化 嵌入式Servlet Web Server线程配置 WebFlux基础路径配置 活性探测器 Actuator增强 好基友Spring Cloud什么时候跟上? 升级建议:等等 总结 前言 各位小伙伴大家好,我是A哥。北京时间2020-05-15,Spring Boot 2.3.0版本正式发布了,次版本号的升级,一般会有些新特性出来。作为Java Coder的我们有必要一览它的新new Feature,keep下技术节奏嘛。 A哥“第二时间”知道了这个消息,然后在自己本机(请注意:非生产环境)体验了一把,然后再结合Spring Boot官方的

cat监控平台环境搭建 专题

送分小仙女□ 提交于 2020-08-08 10:01:03
项目地址: https://github.com/dianping/cat 编译步骤: 这个项目比较另类,把编译需要的jar包,单独放在git分支mvn-repo里了,而且 官方文档 里给了一个错误的命令提示: git git@github.com:dianping/ cat .git mvn-repo 当你直接把这条命令贴到terminal里执行时,会提示命令无效,正确的姿势如下: 1、先安装jdk 1.7或Jdk1.8【现在已经支持jdk1.8了】 这点很重要,cat项目的开发时间比较早,当时估计jdk8还没有,在1.8下编译虽然能成功,但是最后运行时会报错。 注:对于已经安装了jdk1.8的mac,可以参考 Mac下同时安装多个版本的JDK ,如果弄多版本jdk切换,不要在PATH变量里加$JAVA_HOME/bin,否则alias切换只切换了JAVA_HOME,但是PATH里的值不会变。 2、将分支mvn-repo下的jar包复制到本机maven仓库 1 、git clone https: // github.com/dianping/cat.git 2 、cd cat 3 、git checkout mvn- repo 4 、 cp -R * ~/.m2/ repository 5 、git checkout master 6 、mvn clean install