web容器

Servlet 工作原理解析【转】

旧巷老猫 提交于 2020-03-20 01:06:04
3 月,跳不动了?>>> 简介: Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。本文将带你认识 Java Web 技术是如何基于 Servlet 工作,你将知道:以 Tomcat 为例了解 Servlet 容器是如何工作的?一个 Web 工程在 Servlet 容器中是如何启动的? Servlet 容器如何解析你在 web.xml 中定义的 Servlet ?用户的请求是如何被分配给指定的 Servlet 的? Servlet 容器如何管理 Servlet 生命周期?你还将了解到最新的 Servlet 的 API 的类层次结构,以及 Servlet 中一些难点问题的分析。 从 Servlet 容器说起 要介绍 Servlet 必须要先把 Servlet 容器说清楚,Servlet 与 Servlet 容器的关系有点像枪和子弹的关系,枪是为子弹而生,而子弹又让枪有了杀伤力。虽然它们是彼此依存的,但是又相互独立发展,这一切都是为了适应工业化生产的结果。从技术角度来说是为了解耦,通过标准化接口来相互协作。既然接口是连接 Servlet 与 Servlet 容器的关键,那我们就从它们的接口说起。 前面说了 Servlet

JavaWeb Servlet

回眸只為那壹抹淺笑 提交于 2020-03-19 13:42:18
1. Servlet 介绍 1.1. 百度百科 Servlet是在服务器上运行的小程序。这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。 服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口( CGI(Common Gateway Interface))应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现。在通信量大的服务器上,Javaservlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而 无需 创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。 1.2. 维基百科 Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口 ,广义的 Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求

自定义标签

≡放荡痞女 提交于 2020-03-19 13:03:07
3 月,跳不动了?>>> 一、概述 JSP 2.0 中提供了两种新的开发自定义标记的方法: 1、简单标签机制SimpleTag JSP 2.0 中加入了新的创建自定义标记的API:javax.servlet.jsp.tagext.SimpleTag,该API 定义了用来实现简单标记的接口。和JSP 1.2 中的已有接口不同的是,SimpleTag 接口不使用doStartTag()和doEndTag()方法,而提供了一个简单的doTag()方法。这个方法在调用该标记时只被使用一次。一个自定义标记中实现的所有逻辑都在这个方法中实现。相对JSP1.2 中自定义标记机制,SimpleTag 的方法和处理周期要简单得多。 2、 标签文件 标签文件允许JSP 网页作者使用JSP 语法创建可复用的标签库。标签文件的扩展名必须是.tag。 1.1 使用简单标签机制 与JSP1.2 相似,开发自定义标签要遵循“开发标记类---配置TLD 文件----在JSP 中使用”的过程, 示例如下: 步骤一:编写标记处理类AddTag.java package tag; import java.io.IOException; import javax.servlet.jsp.JspContext; import javax.servlet.jsp.JspException; import javax

什么是面向服务的体系结构?一文看懂

喜欢而已 提交于 2020-03-18 17:09:22
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。 了解面向服务的体系结构的特征以及什么构成基于Java的SOA基础结构 面向服务的体系结构(SOA)是基于用于同步和异步应用程序的请求/答复设计范例的分布式计算的演变。应用程序的业务逻辑或各个功能被模块化,并作为针对消费者/客户端应用程序的服务呈现。这些服务的关键是它们的松散耦合性质。即服务接口独立于实现。应用程序开发人员或系统集成商可以通过组合一项或多项服务来构建应用程序,而无需了解服务的基础实现。例如,可以在.Net或J2EE中实现服务,而使用该服务的应用程序可以在其他平台或语言上。 SOA的好处是其与平台无关的方法以及Web服务之间更好的互操作性。本文是SOA的概述,包括构建Web服务时使用的一些工具和协议。 SOA和Web服务 面向服务的体系结构是可以使用Web服务实现的体系结构模式。 有关在Java中构建基于SOAP的RESTful Web服务的教程简介,请参见“ Java SE中的Web服务”(JavaWorld,2017年)。 面向服务的体系结构具有以下关键特征: SOA服务在与平台无关的XML文档中具有自描述接口; 用于描述服务的标准是WSDL或Web服务描述语言。 SOA服务与通过XML Schema或XSD正式定义的消息进行通信。

Spring注解版学习笔记——课程整体框架

筅森魡賤 提交于 2020-03-16 11:58:48
课程主要分为容器、web两个方面的介绍。 容器: 组件注册: 组件添加,@Bean,@Configuration,@Component,@Service,@Controller,@Repository,@Import,FactoryBean 组件赋值,组件注入 容器优势: AOP 声明式事务 内部原理: bean注册到销毁的生命周期 spring的各种钩子函数 web: 来源: https://www.cnblogs.com/demo12138/p/12502770.html

Java Web项目运行流程

◇◆丶佛笑我妖孽 提交于 2020-03-15 11:41:56
运行一个Javaweb项目,首先,将项目部署到服务器,由客户端发起请求,将请求发送到tomcat的监听端口。通过端口进入tomcat,再由tomcat将携带的请求信息移交给web项目。接下来,正式进入Javaweb项目,一开始,要解读web.xml配置文件,将依据文件的配置决定进入哪一个页面或者servlet。 要知道,在tomcat下的conf中也有一个web.xml文件。当tomcat部署应用程序时(在激活过程中,或加载应用程序后),它都会读取通用的conf/web.xml,然后再读取web应用程序中的WEB-INF/web.xml。其实根据他们的位置,我们就可以知道,conf/web.xml文件中的设定会应用于所有的web应用程序,而某些web应用程序的WEB-INF/web.xml中的设定只应用于该应用程序本身。如果没有WEB-INF/web.xml文件,tomcat会输出找不到的消息,但仍然会部署并使用web应用程序,servlet规范的作者想要实现一种能迅速并简易设定新范围的方法,以用作测试,因此,这个web.xml并不是必要的,不过通常最好还是让每一个上线的web应用程序都有一个自己的WEB-INF/web.xml。 tomcat加载顺序: 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener

Tomcat服务器原理详解

若如初见. 提交于 2020-03-15 11:36:31
【目录】本文主要讲解Tomcat启动和部署webapp时的原理和过程,以及其使用的配置文件的详解。主要有三大部分: 第一部分、Tomcat的简介和启动过程 第二部分、Tomcat部署webapp 第三部分、Tomcat处理一个http请求的过程 【简介】   Tomcat依赖 <CATALINA_HOME>/conf/server.xml 这个配置文件启动server(一个Tomcat实例,核心就是启动容器Catalina)。    Tomcat 部署Webapp时,依赖 context.xml和web.xml( <CATALINA_HOME>/conf/目录下的context.xml和web.xml在部署任何webapp时都会启动,他们定义一些默认行为,而具体每个webapp的 META-INF/context.xml 和 WEB-INF/web.xml 则定义了每个webapp特定的行为 ) 两个配置文件部署web应用。 第一部分、Tomcat的简介和启动过程 一、Tomcat的下载包解压之后的目录 tomcat根目录在tomcat中叫<CATALINA_HOME> <CATALINA_HOME>/bin: 存放各种平台下启动和关闭Tomcat的脚本文件.其中有个档是catalina.bat,打开这个windos配置文件,在非注释行加入JDK路径,例如 : SET JAVA

Tomcat 简介

会有一股神秘感。 提交于 2020-03-13 00:50:02
Tomcat 是在SUN 公司的JSWDK(JavaServer Web DevelopmentKit ,是SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用java语言编写。 Servlet是一种运行在服务器上的小插件,他所具有的的以下特点: 1、提供了可被服务器加载并执行的程序代码,并服务于来自客户端的请求。 2、Servlet服务器必须支持java。 3、Servlet不依赖浏览器,是允许在服务器端,所以不管浏览器是否支持java,都能请求访问servlet。 Tomcat做为Servlet的容器基本功能如图一 图一 Servlet 的规范规定Servlet不仅可以运行在基于HTTP协议的Web服务器上,还可以运行在基于其他应用协议的服务器上。不过,目前Servlet主要运行在Web服务器上,用来扩展Web服务器的功能。Servlet规范规定,Servlet容器响应客户请求访问特定的Servlet的流程如下: 1、客户发出要求访问特定的Servlet的请求。 2、Servlet 容器接收到客户请求并解析。 3、Servlet 容器创建一个ServletRequest对象,在ServletRequest对象中包含了客户请求信息及其他关于客户的信息,如请求头,请求正文,以及客户机的IP地址等。 4

JavaWeb应用和Servlet

ⅰ亾dé卋堺 提交于 2020-03-12 18:17:05
JavaWeb应用的生命周期是由Servlet容器来控制的。包括三个阶段: 1.启动阶段: 加载Web应用的有关数据,创建ServletContest对象,对Filter(过滤器)和一些Servlet进行初始化。启动时会:   (1)把web.xml文件中的数据加载到内存中。   (2)为JavaWeb应用创建一个ServletContext对象。   (3)对所有的Filter进行初始化。   (4)对需要在Web应用启动时就被初始化的Servlet进行初始化。 2.运行阶段: 为客户端提供服务。   JavaWeb应用最主要的声明阶段,此阶段,所有的Servlet都处于待命状态,随时可以响应客户端的特定请求,提供相应的服务。若客户端请求的Servlet不存在,Servlet容器会先初始化Servlet,然后调用它的Service服务方法。 3.终止阶段: 释放Web应用所占用的各种资源。终止时会:   (1)销毁JavaWeb应用中所有处于运行状态的Servlet。   (2)销毁JavaWeb应用中所有处于运行时状态的Filter。     (3)销毁所有与JavaWeb应用相关的对象,如ServlerContext对象等,并且释放Web应用所占用的相关资源。 Servlet的生命周期 Servlet的生命周期分为5个阶段:加载、创建、初始化、处理客户请求、卸载。 (1)加载

22、spring注解学习(servlet3.0)——servlet3.0和SpringMVC注解启动

浪尽此生 提交于 2020-03-12 15:39:00
一、servlet3.0规范 1、新增的注解支持   在servlet3.0之前的话,我们要添加Servlet、Filter、Listener都需要在web.xml中注册,而在servlet3.0添加了注解支持:      @WebServlet: 用于将一个类声明为 Servlet ,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet,如:  @WebServlet(urlPatterns = {"/simple"}, asyncSupported = true, loadOnStartup = -1, name = "SimpleServlet", displayName = "ss", initParams = {@WebInitParam(name = "username", value = "tom")} ) public class SimpleServlet extends HttpServlet{ … }      @WebFilter: 用于将一个类声明为过滤器 ,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为过滤器;      @WebListener:该注解用于将类声明为监听器,被 @WebListener 标注的类必须实现对应的监听器接口      @WebInitParam:该注解通常不单独使用