Tomcat

SpringBoot 基础入门

自古美人都是妖i 提交于 2020-08-17 05:04:16
1. 用IDEA自动创建SpringBoot项目 2. 理解自动生成的文件的作用以及含义 3. 在Java中增加一个controller层,编写一个HelloWorld接口 在网页打印出Hello World @RestController public class HelloController { @RequestMapping("/hello") public String hello(String name){ return "hello world " + name; } } SpringBoot基础概念: 一、Spring Boot 、 Spring MVC 、Spring对比 二、Spring Boot 自动配置 三、什么是Spring Boot Starter? Spring Boot Starter是一组被依赖第三方类库的集合。 如果你要开发一个web应用程序,就通过包管理工具(如maven)引入spring-boot-starter-web就可以了,而不用分别引入下面这么多依赖类库,spring-boot-starter-web一次性帮你引入下面的这些常用类库。 Spring — spring 核心, beans, context上下文, AOP面向切面 Web MVC — Spring MVC Jackson — JSON数据的序列化与反序列化

Nginx服务器的使用与反向代理负载均衡

大憨熊 提交于 2020-08-17 04:31:39
Nginx服务器 一:什么是Nginx? 我们生活的世界中,有的时候需要上网。我们可以浏览很多很多的网页,这些网页都是由一系列的程序组成,但是我们是否想过,这些程序存储在什么地方呢?没错,这些程序都是存储在一种名叫服务器的硬件上,比如我们的电脑也是一种服务器,只不过我们的个人电脑作为服务器的话性能会比较低。我们的网页程序存储在服务器硬件上,是否可以随意存储呢?不是的,我们需要在服务器硬件的操作系统中搭建一个服务器软件,那么这样,有服务器软件跟服务器硬件配合,才形成一个完整的服务器。服务器软件有非常多,比如Apache、tomcat等等都是服务器软件,而我们今天要学习的Nginx也是一种服务器软件之一。 Nginx是一种服务器软件,故而其最主要、最基本的功能当然是可以与服务器硬件结合,让程序员可以将程序放在Nginx服务器上,将程序发布出去,让成千上万的网民可以浏览。除此之外,Nginx是一种高性能的HTTP和反向代理服务器,同时也是一个代理邮件服务器。也就是说,我们Nginx上可以发布网站,也可以实现负载均衡的功能,还可以作为邮件服务器实现收发邮件等功能。所谓的负载均衡是指,当同时有N多用户访问我们服务器的时候,为了减少服务器压力,我们需要将用户分别引入各服务器,分担服务器的压力。 Nginx与其他服努器的性能比较 首先说IIS, IIS服务器只能在Windows上运行

HTML5 WebUploader 分片上传

白昼怎懂夜的黑 提交于 2020-08-17 04:12:01
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由于项目使用的是BJUI前端框架,并没有使用框架本身的文件上传控件,而使用的基于jQuery的Uploadify文件上传组件,在项目使用的jslib项目中找到了BJUI框架集成jQuery Uploadify的部分,这部分代码封装在bjui-all.js文件中, 在bjui-all.js文件中的全局变量定义中有以下部分代码,这就是定义的有关于上传的Uploadify控件的重要变量: //文件上传对象 function FileUploader(fileLoc, mgr) { var _this = this; this.id = fileLoc.id; this.ui = { msg: null, process: null, percent: null, btn: { del: null, cancel: null,post:null,stop:null }, div: null}; this.isFolder = false; //不是文件夹 this.app = mgr.app; this.Manager = mgr; //上传管理器指针 this.event = mgr.event; this

Java Servlet详解(体系结构+注解配置+生命周期)

血红的双手。 提交于 2020-08-17 03:44:34
Java Servlet详解(注解配置+生命周期) 什么是Servlet : (Server applet)? 顾名思义:服务端的小程序 Servlet只是一个接口,定义了Java被浏览器访问到(Tomcat)的识别规则,我们需要定义一个类来实现Servlet接口 创建一个项目流程 1.创建一个JavaEE项目 2.定义一个类实习Servlet方法 3.实现接口中的抽象方法 import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException; public class Servlet implements javax.servlet.Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("初始化"); } @Override public ServletConfig getServletConfig() { return null; }

tomcat的架构

前提是你 提交于 2020-08-17 02:59:07
一、容器架构 tomcat容器架构 server : tomcat服务,它下面可以有多个service (不是容器) service :一个http+port服务,它下面可以有多个engine(不是容器) engine : 表示整个Catalina servlet引擎的容器,顶级容器 host : 虚拟主机,代表一个站点。可以虚拟多个主机 context : 表示一个Web应用程序 wrapper : 表示一个Servlet 二、连接器架构 Connector 连接器 endpoint : socket管理工具,不同的io有不同的endpoint实现,如:JIoEndpoint、NioEndpoint、Nio2Endpoint Acceptor : socket连接接收器(无限循环) Handler :负责处理socket的事件,并且构建Processor,将请求传递给processor Processor : 负责http协议的解析,coyote Request、Response的构建 CoyoteAdapter :将 coyote的Request、Response 转换成 servlet的Request和Response; 将请求传递给Servlet容器 三、容器内请求架构 容器内请求流程: 请求从CoyoteAdapter进入容器,容器内的执行流程是:pipeline +

线程隔离浅析

不打扰是莪最后的温柔 提交于 2020-08-17 02:28:14
前言 随着微服务的流行,单体应用被拆分成一个个独立的微进程,可能一个简单的请求,需要多个微服务共同处理,这样其实是增加了出错的概率,所以如何保证在单个微服务出现问题的时候,对整个系统的负面影响降到最低,这就需要用到我们今天要介绍的线程隔离。 线程模型 在介绍线程隔离之前,我们先了解一下主流容器,框架的线程模型,因为微服务是一个个独立的进程,之间的调用其实就是走网络io,网络io的处理容器如tomcat,通信框架如netty,微服务框架如dubbo,都很好的帮我们处理了底层的网络io流,让我们可以更加的关注于业务处理; Netty Netty是基于java nio的高性能通信框架,使用了 主从多线程模型 ,借鉴 Netty系列之 Netty线程模型 的一张图片如下所示: 主线程负责认证,连接,成功之后交由从线程负责连接的读写操作,大致如下代码: EventLoopGroup bossGroup = new NioEventLoopGroup( 1 ); EventLoopGroup workerGroup = new NioEventLoopGroup(); ServerBootstrap b = new ServerBootstrap(); b. group (bossGroup, workerGroup); 主线程是一个单线程,从线程是一个默认为cpu*2个数的线程池

centos7中tomcat启动,获取图片验证码报错:/usr/javva/jdk1.8.0_251/jre/lib/i386/libfontmanager.so: libgcc_s.so.1

邮差的信 提交于 2020-08-17 00:07:18
错误:/usr/javva/jdk1.8.0_251/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: 无法打开共享对象文件: 没有那个文件或目录 原因:系统提供的libgcc_s.so.1是64位的,java使用的是32位的,需要安装32位的libgcc_s.so.1。 解决: sudo yum install libgcc.i686 --setopt=protected_multilib=false 来源: oschina 链接: https://my.oschina.net/u/3573749/blog/4385512

nginx web服务器概念了解 配置

家住魔仙堡 提交于 2020-08-16 23:12:50
服务器 服务器 服务器 是一种提供高效计算的机器,与普通的PC主机相比,具有可观的稳定性,高并发性,可扩展性。 互联网任何一个应用都是以服务器为基础设施的,没有服务器我们就无法访问网络上的任何内容,只能使用单机的应用。例如网站,我们访问的任何一个网站都是保存在某个服务器上的,域名被DNS(域名解析服务器)解析到IP地址后,浏览器就能通过IP地址访问对应的服务器资源了。 就好比:服务器是人的家,人名相当于域名(不可重名),身份证号相当于IP地址。通过人名搜索到身份证号,通过身份证号获取到家的地址。 Web服务器 Web服务器 不再是一种硬件设施,而是一种部署在服务器上的软件应用,它服务于各种网络请求,将网络请求进行处理,分发。 所以Web服务器的处理能力很大程度决定了该网站的并发能力。著名的Web服务器有:Apache Nginx Web应用服务器 Web应用服务器 是专门处理逻辑代码的服务器,同时还具有了处理网络请求的能力,一般为了提高并发能力,会在Web应用服务器上套一层Web服务器。 例如:Tomcat uwsgi gunicorn,后两个是Python的Web应用服务器,专门处理Python的逻辑代码。 联系 其中Web服务器和Web应用服务器都部署在服务器上。 Nginx服务器 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器

Calico IPIP模式

懵懂的女人 提交于 2020-08-16 20:20:43
总目录索引: K8s网络Calico 从入门到放弃系列 1、IPIP模式简介 IPIP模式是一种将各Node的路由之间做一个tunnel,再把网络连接起来的模式: 从字面上说,就是将一个IP数据包套在另一个IP包里,使用到了Linux提供的隧道技术。可以理解为一个基于IP层的网桥,将两个本不通的网络通过点对点连接起来。 2、准备环境 准备一套k8s环境,并安装好IPIP模式的calico网络 master节点去污点,所以工作节点有两个 分别在两台worker节点运行一个pod,简易pod的yaml文件如下 cat tomcat-1.yaml apiVersion: v1 kind: Pod metadata: name: tomcat-1 labels: app: tomcat-1 spec: containers: - name: tomcat-1 image: tomcat:v1 imagePullPolicy: IfNotPresent kubectl label nodes node1 worker=node1 cat tomcat-2.yaml apiVersion: v1 kind: Pod metadata: name: tomcat-2 labels: app: tomcat-2 spec: nodeSelector: worker: node1