web容器

secureCat扫描jetty

我的未来我决定 提交于 2019-12-12 09:18:46
jetty 应该是目前最活跃也是很有前景的一个 Servlet 引擎。本文将介绍 Jetty 基本架构与基本的工作原理:您将了解到 Jetty 的基本体系结构;Jetty 的启动过程;Jetty 如何接受和处理用户的请求。你还将了解到 AJP 的一些细节:Jetty 如何基于 AJP 工作;以及 Jetty 如何集成到 Jboss;最后我们将比较一下两个 Servlet 引擎:Tomcat 和 Jetty 的优缺点。 Jetty 的基本架构 Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器,它有一个基本数据模型,这个数据模型就是 Handler,所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮你管理这些 Handler。 Jetty 的基本架构 下图是 Jetty 的基本架构图,整个 Jetty 的核心组件由 Server 和 Connector 两个组件构成,整个 Server 组件是基于 Handler 容器工作的,它类似与 Tomcat 的 Container 容器,Jetty 与 Tomcat 的比较在后面详细介绍。Jetty 中另外一个比不可少的组件是 Connector,它负责接受客户端的连接请求,并将请求分配给一个处理队列去执行。 图 1. Jetty

Java面试题全集(下)

久未见 提交于 2019-12-11 14:55:07
这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service()方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。 补充:Sun Microsystems公司在1996年发布Servlet技术就是为了和CGI进行竞争,Servlet是一个特殊的Java程序,一个基于Java的Web应用通常包含一个或多个Servlet类。Servlet不能够自行创建并执行,它是在Servlet容器中运行的,容器将用户的请求传递给Servlet程序,并将Servlet的响应回传给用户。通常一个Servlet会关联一个或多个JSP页面。以前CGI经常因为性能开销上的问题被诟病,然而Fast CGI早就已经解决了CGI效率上的问题,所以面试的时候大可不必信口开河的诟病CGI,事实上有很多你熟悉的网站都使用了CGI技术。 97、Servlet接口中有哪些方法? 答:Servlet接口定义了5个方法,其中前三个方法与Servlet生命周期相关: - void init(ServletConfig config) throws ServletException -

spring源码解读(二)基础篇之servlet3.1规范

你说的曾经没有我的故事 提交于 2019-12-11 06:00:10
目录 servlet接口 request servletContext response filter filter生命周期 filter环境 在Web应用中配置filter filter和RequestDispatcher 会话 Cookies URL 重写 会话完整性 注解 @WebServlet @WebFilter @WebInitParam @WebListener @MultipartConfig 其他注解/惯例 可插拔性 web fragment web.xml和web-fragment.xml顺序 可插拔性 web应用 Web应用程序部署 包含web.xml部署描述文件 servlet3.1规范中文版。 参考文章: Servlet 是基于 Java 技术的 web 组件,容器托管的,用于生成动态内容。    早期的Web应用主要用于浏览新闻等静态页面,Http服务器(比如Apache,Nginx)向浏览器返回静态HTML,浏览器负责解析HTML,将结果呈现给用户。   需求:为了不仅仅浏览静态页面,还希望通过一些交互操作,来获取动态结果。那么可以通过让HTTP服务器调用服务端程序来实现。   那么服务端如何来实现这个需求呢?   Sun公司就推出了Servlet技术。Servlet可以理解为运行在服务端的Java小程序,因为Servlet不能独立运行

《Spring源码深度解析》阅读笔记(一)

别来无恙 提交于 2019-12-11 04:58:12
第一章:spring整体架构和环境搭建 1)core container:核心容器 核心容器包含core,beans,context,expressoin language core:是spring框架基本的核心工具类,spring的其他组件基本上都要用到core里面的类 beans:包含访问配置文件,创建和管理bean,以及进行IoC/DI 操作相关类 context:构建在core和beans的基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法。Context继承了Beans的特性,为spring核心提供了大量扩展,添加了对国际化,事件传播,资源加载和对Context的透明创建的支持。ApplicationContext接口是Context模块的关键 expression language:表达式语言,用于在运行时查询和操纵对象 2)AOP 提供面向切面编程的实现 3)Data Access/Integration 包含了JDBC,ORM,JMS,Transaction等模块 4)web web上下文建立在应用程序上下文之上,为基于web的应用程序提供了上下文。例如web-servlet模块,该模块包含model-view-controller(MVC)实现。 来源: CSDN 作者: guihhhh 链接: https://blog.csdn.net/weixin

宜信容器云排错工具集

匆匆过客 提交于 2019-12-11 00:03:42
宜信容器云是一套基于kubernetes的容器管理平台。业务线用户在容器云上部署应用程序时,常常会遇到容器无法启动或者应用程序运行不正常的情况。为了方便用户排查在应用上云过程中的问题,我们在web端集成了一系列的排错方式,如下图: 一、终端信息 终端信息查看的是容器实例运行时的标准输出日志。 效果等同于: kubectl logs PODNAME [-c CONTAINER] 基本原理如下图: 应用部署时,所属节点的kubelet通过grpc调用容器运行时接口(container runtime interface),来请求docker守护进程创建容器运行时。 此时,docker守护进程会创建一个协程来接收容器运行时的标准输出日志,这个协程最终将STDOUT(标准输出)的日志写到容器运行时所在节点的对应目录下: /var/lib/docker/containers/container_id/{container_id-json.log} 如下图: 在web端查看对应实例的终端信息时,kubelet将接收的Api-server请求转化成docker client来请求docker守护进程。Docker守护进程到相应的目录下读取对应容器的日志文件数据,再由kubelet返回日志数据到Api-server,最终显示到web端,供用户查看。 容器日志的生命周期与容器的生命周期一致

面试官会问关于spring的哪些问题?

依然范特西╮ 提交于 2019-12-10 23:49:01
什么是spring? Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。 使用Spring框架的好处是什么? 轻量:Spring 是轻量的,基本的版本大约2MB 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们 面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开 容器:Spring 包含并管理应用中对象的生命周期和配置 MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品 事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA) 异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常 Spring由哪些模块组成? 以下是Spring 框架的基本模块: Core module Bean module Context module Expression Language module JDBC module ORM module OXM

Tomcat配置系统管理、配置应用管理、部署一个应用、配置虚拟主机基础验证单点登录、限制主机访问

做~自己de王妃 提交于 2019-12-10 22:03:49
配置系统管理 (Admin Web Application) 大多数商业化的JavaEE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面。Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手。Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context、data source、user和group等。当然也可以管理像初始化参数,user、group、role的多种数据库管理等。在后续的版本中,这些功能将得 到很大的扩展,但现有的功能已经非常实用了。 Admin Web Application被定义在自动部署文件:CATALINA_BASE/webapps/admin.xml 。 必须编辑这个文件,以确定Context中的docBase参数是绝对路径。也就是说, CATALINA_BASE/webapps/admin.xml 的路径是绝对路径。作为另外一种选择,也可以删除这个自动部署文件,而在server.xml文件中建立一个Admin Web Application的context,效果是一样的。不能管理Admin Web Application这个应用,换而言之,除了删除CATALINA_BASE/webapps/admin.xml ,可能什么都做不了。

Java中Servlet与JSP

旧街凉风 提交于 2019-12-10 08:38:46
1 Servlet 1、概述 Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的web页面。它担当Web浏览器或其他http客户程序发出请求、与http服务器上的数据库或应用程序之间交互的中间层。 Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java服务器中。 Java Servlet可以动态地扩展服务器的能力,并采用请求-响应模式提供Web服务。 Servlet是使用Java Servlet应用程序设计接口及相关类和方法的Java程序。它在Web服务器上或应用服务器上运行并扩展了该服务器的能力。Servlet装入Web服务器并在Web服务器内执行。 Servlet是以Java技术为基础的服务器端应用程序组件,Servlet的客户端可以提出请求并获得该请求的响应,它可以是任何Java程序、浏览器或任何设备。 2、生命周期 编写的JSP页面最终将由web容器编译成对应的servlet,当servlet在容器中运行时,其实例的创建及销毁等都不是由程序员决定的,而是由web容器进行控制的。 servlet容器负责加载和实例化Servlet,在容器启动时根据设置决定是在启动时初始化(loadOnStartup大于等于0在容器启动时进行初始化,值越小优先级越高),还是延迟初始化直到第一次请求前; 初始化: init

Answer:web crawler question 1

落爺英雄遲暮 提交于 2019-12-10 08:03:35
Answer:web crawler question 1 概述 Question 1 1、cookie、JavaScript的关系?怎么产生的cookie?cookie包含哪些内容?JavaScript的功能在crawler代码中通过python的第三方库selenium,selenium用于执行JavaScript的脚本语言,那selenium是什么?运行脚本语言的脚本语言? Cookie产生 背景 Cookie背景和 意义: web应用包含多个页面,每个页面都对应一个url地址。web浏览器向Web服务器发送了两个请求,申请了两个页面。这两个页面的请求是分别使用了两个单独的HTTP连接。由于HTTP是无状态的协议,浏览器和Web服务器会在第一个请求完成以后关闭连接通道,在第二个请求的时候重新建立连接。 如果没有cookie ,Web服务器并不区分哪个请求来自哪个客户端,对所有的请求都一视同仁,都会针对这些请求建立单独的连接。无状态的协议优点:每个连接资源能够很快被其他客户端所重用;缺点:同一个用户发送的请求都建立单独的连接产生多余的时间消耗! Cookie :记录用户登陆状态,可以优化HTTP是无状的缺点,而且 设置cookie的域范围实现跨三级域名之间的cookie共享 ,那么有一个问题如何实现跨二级域名之间的登陆信息共享呢、比如www.taobao.com和www

Spring Boot注解学习之@SpringBootApplication(一)

假如想象 提交于 2019-12-10 01:39:07
文章目录 @SpringBootApplication @Configuration @Configuration 加载 Spring 方法 1、@Configuration 配置 Spring 并启动 Spring 容器 2、@Configuration 启动容器+@Bean 注册 bean 3、@Configuration 启动容器+@Component 注册 Bean 4、使用 AnnotationConfigApplicationContext 注册 AppContext 类的两种方法 5、配置 Web 应用程序(web.xml中配置 AnnotationConfigApplicationContext) 组合多个配置类 在@configuration 中引入 spring 的 xml 配置文件 在@configuration中引入其它注解配置 @configuration 嵌套(嵌套的 Configuration 必须是静态类) @EnableAutoConfiguration AutoConfigurationImportSelector @SpringBootApplication 在使用 Springboot 框架进行开发的时候,通常我们会在 main 函数上添加 @SpringBootApplication 注解 ,来使应用程序能够自动配置、组件扫描。