web容器

到底什么是SOA?

岁酱吖の 提交于 2019-12-24 13:57:41
面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。   这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它 的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。   对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需(On demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。   虽然面向服务的体系结构不是一个新鲜事物,但它却是更传统的面向对象的模型的替代模型,面向对象的模型是紧耦合的,已经存在二十多年了

k8s实践(三):pod常用操作

半城伤御伤魂 提交于 2019-12-23 19:56:41
环境说明: 主机名 操作系统版本 ip docker version kubelet version 备注 master Centos 7.6.1810 172.27.9.131 Docker 18.09.6 V1.14.2 master主机 node01 Centos 7.6.1810 172.27.9.135 Docker 18.09.6 V1.14.2 node节点 node02 Centos 7.6.1810 172.27.9.136 Docker 18.09.6 V1.14.2 node节点 k8s集群部署详见: Centos7.6部署k8s(v1.14.2)集群 k8s学习资料详见: 基本概念、kubectl命令和资料分享 一、 pod简介 1. pod概览 Pod是kubernetes中你可以创建和部署的最小也是最简单位。一个Pod代表着集群中运行的一个进程。 Pod中封装着应用的容器(有的情况下是好几个容器),存储、独立的网络IP,管理容器如何运行的策略选项。Pod代表着部署的一个单位:kubernetes中应用的一个实例,可能由一个或者多个容器组合在一起共享资源 在Kubrenetes集群中Pod有如下两种使用方式: 一个Pod中运行一个容器。“每个Pod中一个容器”的模式是最常见的用法:在这种使用方式中,你可以把Pod想象成是单个容器的封装

创建Dynamic Web Project工程

大兔子大兔子 提交于 2019-12-23 12:59:36
一.web环境搭建 1. Web服务器 (1) Web服务器主要用来接收客户端发送的请求和响应客户端请求。 (2) 作为JavaWeb程序来说,还需要有Servlet容器,容器的主要作用就是调用java程序处理用户发送的请求,并响应指定的资源,关于Servlet容器我们还需要一点一点学习。 (3) 开发JavaWeb项目Web服务器和Servlet容器是必须的,通常情况二者是合在一起的。 (4) 常见的JavaWeb服务器: Tomcat(Apache):当前应用最广的JavaWeb服务器; JBoss(Redhat红帽):支持JavaEE,应用比较广; GlassFish(Orcale):Oracle开发JavaWeb服务器,应用不是很广; Resin(Caucho):支持JavaEE,应用越来越广; Weblogic(Orcale):要钱的!支持JavaEE,适合大型项目; Websphere(IBM):要钱的!支持JavaEE,适合大型项目; 2. Tomcat 2.1 Tomcat概述 (1). Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat

转 spring官方文档中文版

故事扮演 提交于 2019-12-23 08:43:15
本文转载自: https://www.cnblogs.com/wangdaijun/p/6142168.html 作者:wangdaijun 转载请注明该声明。 转 http://blog.csdn.net/tangtong1/article/details/51326887 另附码云地址 https://gitee.com/free/spring-framework-reference 中文翻译地址: http://spring.cndocs.ml/ 完善中 (作者 csdn http://blog.csdn.net/isea533 ) spring 官方文档: http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/ 一、Spring框架概述 Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所以可以只使用其中需要的部分。可以在任何web框架上使用控制反转(IoC),也可以只使用 Hibernate集成代码 或 JDBC抽象层 。它支持声明式事务管理、通过RMI或web服务实现远程访问,并可以使用多种方式持久化数据。它提供了功能全面的 MVC框架 ,可以透明地集成 AOP 到软件中。 Spring被设计为非侵入式的

Spring MVC基础入门

只谈情不闲聊 提交于 2019-12-23 02:04:36
Spring MVC简介 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 Spring Web MVC处理请求的流程: 具体执行步骤如下: 1、 首先用户发送请求到前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它; 2、 页面控制器接收到请求后,进行功能处理,处理请求和创建相应的Model,处理完毕后返回一个ModelAndView(模型数据和逻辑视图名); 3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染; 4、 前端控制器将响应返回给用户,至此整个结束。 Spring MVC Demo 写一个简单的例子来说明Spring MVC是如何工作的,该例子默认启动一个欢迎页面,并有一个login的页面,输入用户名和密码,当用户名和密码不为空返回“登录成功”,当输入有空时,则停留在login页面,例子非常简单。 新建一个Dynamic Web Project。 看web.xml的配置: <?xml version="1.0"

Springboot开发web项目

倖福魔咒の 提交于 2019-12-21 11:56:22
当前,Spring毫无疑问已经成为java后台对象管理标准框架,除了通过IOC能够管理我们的自定义对象的生命周期之外还提供了众多功能繁复的可配置功能模块。但同时带来了复杂的配置项,这对初学者而言简直是一种灾难。于是SpringBoot应运而生,Springboot的出现大大简化了配置,主要表现在消除了web.xml和依赖注入配置的整合,处处遵循规约大于配置的思想,将初学者在繁杂的配置项中解放出来,专注于业务的实现,而不需要去关注太底层的实现。当然,也可以自己手动添加Web.xml,因为对于高端玩家而言,很多时候配置项还是很有必要的。这篇博客不涉及具体的技术细节,只是从一个开发者的角度梳理下我的使用模式。 springboot提供了一套完整的web开发流程。前端到后台,再到数据库一条龙。使用spring开发一个web工程有两条路线: 1-前后端完全分离 这种方式前端开发和后端开发完全分离,只需要协商好接口就行,前端负责开发页面并调用后端接口展示数据。后端只负责提供rest接口; 2-使用springboot自带的模板 springboot支持多种主流后端模板: · Thymeleaf · FreeMarker · Velocity · Groovy · Mustache · JSP 需要注意的是,虽然Spring MVC支持JSP,但是Spring Boot不建议使用JSP

Servlet 学习开发笔记

依然范特西╮ 提交于 2019-12-21 04:23:25
生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: Servlet 通过调用 init () 方法进行初始化。 Servlet 调用 service() 方法来处理客户端的请求。 Servlet 通过调用 destroy() 方法终止(结束)。 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。 init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。 service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet、doPost、doPut,doDelete 等方法。 destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。在调用 destroy() 方法之后

docker构建镜像

天涯浪子 提交于 2019-12-21 03:33:07
一般来说,我们所说的“构建镜像”并不是真正的从零构建一个全新的镜像,而是修改一个已有的基础镜像(如ubuntu)。 创建Docker Hub账号 (1) 如果要存储和分发我们构建的新镜像,那么可以将镜像发布到 Docker Hub 或者自己私有的Registry上面。所以需要先在 Docker Hub 创建一个账号。 (2)创建账号后,使用 docker login 命令就可以登录到Docker Hub了。 # docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: sweeneys Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/

Docker快速入门——Docker-Compose

拈花ヽ惹草 提交于 2019-12-20 20:02:23
Docker快速入门——Docker-Compose 一、Docker-Compose简介 1、Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。 Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。 使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器

JSP 过滤器

偶尔善良 提交于 2019-12-20 12:50:43
JSP 和 Servlet 中的过滤器都是 Java 类。 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。 过滤器是可用于 Servlet 编程的 Java 类,可以实现以下目的: 在客户端的请求访问后端资源之前,拦截这些请求。 在服务器的响应发送回客户端之前,处理这些响应。 根据规范建议的各种类型的过滤器: 身份验证过滤器(Authentication Filters)。 数据压缩过滤器(Data compression Filters)。 加密过滤器(Encryption Filters)。 触发资源访问事件过滤器。 图像转换过滤器(Image Conversion Filters)。 日志记录和审核过滤器(Logging and Auditing Filters)。 MIME-TYPE 链过滤器(MIME-TYPE Chain Filters)。 标记化过滤器(Tokenizing Filters)。 XSL/T 过滤器(XSL/T Filters),转换 XML 内容。 过滤器通过 Web 部署描述符(web.xml)中的 XML 标签来声明,然后映射到您的应用程序的部署描述符中的