web容器

Docker从入门到动手实践

╄→尐↘猪︶ㄣ 提交于 2019-11-28 17:05:02
一些理论知识,我这里就不累赘了 docker 入门资料,参考: https://yeasy.gitbooks.io/docker_practice/content/ Dockerfile常用命令,图片来源于网络 Dockerfile 打包控制台应用程序 新建一个控制台程序,控制台程序添加一个文本文件,去掉.txt 扩展名,改成Dockerfile 输入以下代码 FROM microsoft/dotnet:sdk AS build WORKDIR /code COPY *.csproj /code RUN dotnet restore COPY . /code RUN dotnet publish -c Release -o out FROM microsoft/dotnet:runtime WORKDIR /app COPY --from=build /code/out /app ENTRYPOINT ["dotnet","console.dll"] Program.cs 中编写测试代码 一切准备完成。就是build把项目打包成镜像了 切换到当前项目路径下。输入: docker build -t cn/console:v1 . docker build -t :是打包固有的命令 cn/console:v1 : cn:是组织名称或者说是用户名,如果你想把自己的镜像push到hub

Servlet 3.0 新特性

谁都会走 提交于 2019-11-28 15:50:40
Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声: 异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应,最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成,自己在不生成响应的情况下返回至容器。针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。 新增的注解支持:该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明,这使得 web.xml 部署描述文件从该版本开始不再是必选的了。 可插性支持:熟悉 Struts2 的开发者一定会对其通过插件的方式与包括 Spring 在内的各种常用框架的整合特性记忆犹新。将相应的插件封装成 JAR 包并放在类路径下,Struts2 运行时便能自动加载这些插件。现在 Servlet 3.0 提供了类似的特性,开发者可以通过插件的方式很方便的扩充已有 Web 应用的功能,而不需要修改原有的应用。 下面我们将逐一讲解这些新特性

Docker总结

拟墨画扇 提交于 2019-11-28 15:16:47
1. Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口 (类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 的应用场景 Web 应用的自动化打包和发布 自动化测试和持续集成、发布 在服务型环境中部署和调整数据库或其他的后台应用 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS (Platform-as-a-Service) 环境 简化程序:Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。 避免选择恐惧症:如果你有选择恐惧症,还是资深患者。Docker 帮你打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker

Java Web学习(六)HttpServletRequest(客户端请求)

拜拜、爱过 提交于 2019-11-28 13:42:00
一、定义   HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。 二、常用方法 /** * 通过request对象获取客户端请求信息 */ public class RequestDemo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //客户端是以UTF-8编码提交表单数据的,所以需要设置服务器端以UTF-8的编码进行接收,否则对于中文数据就会产生乱码 request.setCharacterEncoding("UTF-8");//设置接收数据时的编码格式,要与被提交表单的编码格式相同 /** * 1.获得客户机信息 */ String requestUrl = request.getRequestURL().toString();//得到请求的URL地址 String requestUri = request.getRequestURI();//得到请求的资源 String queryString =

Spring容器类型推断

感情迁移 提交于 2019-11-28 13:26:48
springboot定义了WebApplicationType枚举,用于指定web应用的类型。 1 public enum WebApplicationType { 2 NONE, // 非WEB应用,不会启动嵌入式WEB容器 3 SERVLET, // 支持Servlet的WEB应用,会启动嵌入式servlet web容器 4 REACTIVE; // 支持reactive的WEB应用,会启动嵌入式reactive web容器 5 // ...... 省略 6 } 在SpringApplication的构造方法中会进行WebApplicationType的推断,决定使用哪一种类型。 1 this.webApplicationType = WebApplicationType.deduceFromClasspath(); 核心代码在deduceFromClassPath()方法中 1 static WebApplicationType deduceFromClasspath() { 2 if (ClassUtils.isPresent(WEBFLUX_INDICATOR_CLASS, null) && !ClassUtils.isPresent(WEBMVC_INDICATOR_CLASS, null) 3 && !ClassUtils.isPresent(JERSEY

(JavaEE-05)Response与Request

懵懂的女人 提交于 2019-11-28 12:47:28
如何才算掌握Servlet ServletConfig ServletContext Request Response Cookie Session 上面这些对象(当然不止这些,剩下的对象查阅ServletAPI,不是JavaEEAPI)都是web服务器在条用Servlet时所创建的交给Servlet的对象,将这些对象的API掌握熟练,就基本上掌握Servlet技术了,剩下的就是你的Java编程功力了,基本都是设计方面的事了。 Web服务器 web服务器接受到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的 request对象 和代表相应的 response对象 。如果需要获取客户端的相关信息,就使用 request对象 ,需要向客户端发送数据,就使用 response对象 。 这里的request对象和response对象都不是标准的HTTP协议的请求和响应,而是Web服务器根据标准的HTTP协议的请求和响应,然后再根据Servlet规范(接口)实现的Web对象。 ###Servlet技术 其实Servlet技术就是一套接口,这个接口是由当年的SUN公司指定的, Tomcat 是一个web服务器,也是Servlet和JSP的容器,为什么它是Servlet与JSP的容器呢,原因就是它实现了SUN规定的那一套关于Servlet和JSP的规范与接口,所以在查阅

Spring源码剖析开篇:什么是Spring?

亡梦爱人 提交于 2019-11-28 12:45:53
在讲源码之前,先让我们回顾一下一下Spring的基本概念,当然,在看源码之前你需要使用过spring或者spirngmvc。 Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。应用程序是由一组相互协作的对象组成。而在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合、高内聚。业务逻辑开发是不可避免的,那如果有个框架出来帮我们来创建对象及管理这些对象之间的依赖关系。可能有人说了,比如“抽象工厂、工厂方法 设计模式 ”不也可以帮我们创建对象,“生成器模式”帮我们处理对象间的依赖关系,不也能完成这些功能吗?可是这些又需要我们创建另一些工厂类、生成器类,我们又要而外管理这些类,增加了我们的负担,如果能有种通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们是不是减少了许多工作,加速了开发,能节省出很多时间来干其他事。Spring框架刚出来时主要就是来完成这个功能。 Spring框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力

docker镜像管理

随声附和 提交于 2019-11-28 11:03:42
docker镜像 1.image(镜像)包含了启动容器所需要的文件系统及其内容作用,是创建 并启动容器,特点是分层构建,联合挂载(同时也是构建新镜像的核心) 容器在运行时,会在当前镜像最上级之上复制出一个可写层,运行完毕 后,该可写层会被删除;如果将该可写层数据保存,则一个新的镜象就 构建出来了。 2.镜象的制作方式有基于容器,Dockerfile,Dcoker Hub自动构建(基于Docker file制作,将Dockerfile推送到GitHub仓库,通过Webhooks通知Docker HUb, 以此触发构建,并存入Docker Hub的仓库中)。 3.基于容器创建镜像(容器要储于运行中) [root@localhost ~]# docker run --name web-based-busybox -it busybox / # ls bin dev etc home proc root sys tmp usr var / # mkdir -p /data/html /data/html # vi index.html <h1>build image based container busybox!</h1> 注:启动一个容器,并创建一个静态网页 基于运行中的容器创建新镜像(创建过程中最好暂停容器(-p),防止数据丢失) [root@localhost ~]# docker

深入分析Spring 与 Spring MVC容器

久未见 提交于 2019-11-28 10:47:23
#0 系列目录# Spring经典详解 Spring事务机制详解 Spring配置事务五种方式 关于Spring加载classpath与classpath*的过程剖析 深入分析Spring 与 Spring MVC容器 Spring系列文章 【第1章 Spring概述与结构】1.1 Spring起源与概述 【第1章 Spring概述与结构】1.2 Spring模块与结构 【第2章 Spring快速入门】2.1 Java应用之HelloWorld 【第2章 Spring快速入门】2.2 WEB应用之HelloWorld [【第2章 Spring快速入门】2.3 Spring三大核心组件] #1 Spring MVC WEB配置# Spring Framework本身没有Web功能, Spring MVC使用WebApplicationContext类扩展ApplicationContext ,使得拥有web功能。那么,Spring MVC是如何在web环境中创建IoC容器呢?web环境中的IoC容器的结构又是什么结构呢?web环境中,Spring IoC容器是怎么启动呢? 以Tomcat为例,在Web容器中使用Spirng MVC,必须进行四项的配置: 修改web.xml,添加servlet定义; 编写servletname-servlet.xml(servletname是在web

java面试题 --web篇

牧云@^-^@ 提交于 2019-11-28 09:46:51
jsp 和 servlet 有什么区别? jsp是展示页面,servlet是后端处理用于数据处理,运行在服务器端,jsp不能不能直接用于响应,在用户第一次请求时web容器将jsp编译成servlet,然后执行 jsp 有哪些内置对象?作用分别是什么? request : 代表向服务器端的请求,包含请求时的请求参数 response :服务器端对用户请求的响应 session : 一次会话,即一次浏览器的开关,会为每个用户生成一个session对象 config : 获取服务器的配置信息,可以在web.xml中配置服务器端的配置信息 page :代表jsp页面本身,类似于this pagecontext : 作用是取得任意范围的参数,pagecontext对象的创建和初始化都是由容器完成的 application :将信息保存在服务器端,直到服务器关闭,否则application中保存的信息一直都在 out :在浏览器中打印消息,并且管理服务器的输出缓冲区 exception : 显示错误信息,只有在isErrorPage=“true”的页面中才能使用 四大作用域 page:只能在当前页面使用 request:只能在一次请求中使用 session:只能在一次会话中使用 context:只能在同一个web应用中使用 session 和 cookie 有什么区别?