servlet

Tomcat工作原理

蹲街弑〆低调 提交于 2020-01-24 05:31:15
1 - Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet container. (Singleton) 1.2 - Service A Service element represents the combination of one or more Connector components that share a single Engine Service是这样一个集合:它由一个或者多个Connector组成,以及一个Engine,负责处理所有Connector所获得的客户请求 1.3 - Connector 一个Connector将在某个指定端口上侦听客户请求,并将获得的请求交给Engine来处理,从Engine处获得回应并返回客户 TOMCAT有两个典型的Connector,一个直接侦听来自browser的http请求,一个侦听来自其它WebServer的请求 Coyote Http/1.1 Connector 在端口8080处侦听来自客户browser的http请求 Coyote JK2 Connector 在端口8009处侦听来自其它WebServer(Apache)的servlet/jsp代理请求 1.4 - Engine The Engine

1_Servlet基础

ⅰ亾dé卋堺 提交于 2020-01-24 03:12:03
Servlet基础 什么是Servlet Servlet是指实现了Servlet这个接口的类, Servlet主要负责对Http的请求与响应 Servle应用程序的体系结构 Servlet由Servlet容器提供,所谓Servlet容器是指提供了Servlet功能的服务器,如Tomcat Servlet的接口及其实现类 Servlet的实现类有很多个,这里以两个为例,一个是GenericServlet 另一个是HttpServlet GenericServlet 是抽象类 实现 Servlet 接口 ,该接口提供了Servlet的部分实现,并没有实现HTTP的处理 HttpServlet 是GenericServlet的子类,其中,它继承了GenericServlet的所有方法,并且实现了HTTP请求中的post以及get方法 Servlet的生命周期 Servlet的生命周期图 Servlet 有三个阶段, 初始化阶段,运行阶段以及销毁阶段 初始化阶段:调用init方法完成初始化工作,init方法只会被调用一次, init 加载 ServletConfig 这个类的参数进行Servlet 初始化,ServletConfig 的参数来自读取配置文件web.xml ​ 运行阶段: 运行期间,每一次Http的请求,Servlet会调用一次Service方法

关于tomcat

泄露秘密 提交于 2020-01-24 00:18:07
** web应用服务器 安装在服务端的服务产品,在web服务器上放置一些允许客户端直接访问的资源,启动服务,客户端通过ip+端口号即可以访问web应用服务器上的资源 下载tomcat压缩包并解压后: tomcat: bin目录:存放启动和停止服务等的脚本 mac电脑通过命令sudo sh startup.sh来启动,windows系统通过bat可以手动启动 conf目录:存放tomcat服务器配置文件 web.xml, server.xml 等 web.xml 可以在web.xml里配置客户端访问servlet的映射 <servlet></servlet> 和 <servlet-mapping> 通过包含的 <servlet-name> 相互对应 tomcat 是通过反射机制创建Servlet的无参构造创建servlet的实例,即通过xml解析,获取运行时类,获取无参构造,接着调用sevlet实现的方法 lib目录:存放tomcat服务需要的jar文件 servlet-api.jar jsp-api.jar 主要用来与客户端响应 logs目录:存放tomcat运行时产生的日志文件 temp目录:存放tomcat运行时的临时文件 webapps:允许客户端访问的资源 work:存放jsp生成的servlet java web servlet+jsp servlet接收客户端请求

深入Servlet---(三) 浴火重生

自闭症网瘾萝莉.ら 提交于 2020-01-23 22:27:10
原来你是这样的JSP 一.惊晓 我们知道 Servelt 作为后端业务的核心控制类,专门处理来自前台jsp等网页的请求 .今天我们安利一下整个jsp请求servlet流程: 上帝视角 我们程序员一向自诩是站在上帝的角度静静欣赏这科技发达的世界.那么从上帝视角看jsp页面的请求大致是这样: 比如现在有这样一个业务场景,用户点击某个图片,内部我们知道触发a标签: < a href = "FisrtServlet" > < img src = "..." > < / a > 点击后jsp就会向服务器发起一次业务处理请求并等待反馈结果:这个时候web.xml起到核心作用:流程如下 这个流程用过servlet都明白,笔者重点自然不在这,但是需要一个药引子,所幸还是给出来 用户请求就会映射到 FirstServlet 这个类,我们重点是这个自定义类做了那些事:既然深入,那么自然少不了源码的分析:进入serlvet-api.jar跟踪请求: 二 浴火重生 通过源码不停追踪,我们可以发现Servlet顶层有一个service接口,很容易发现我们平常所使用的doget()/doPost()均来自这个业务方法:有意思的是在请求经过底层源码进行一次脱胎换骨: 前面我们提到过servlet加载之后主要处理的是 service方法,经过断点跟踪发现jsp请求之后进入到自定义的父类HttpServlet

Web基础(7)——Tomcat&Servlet

邮差的信 提交于 2020-01-23 11:28:57
文章目录 web相关概念回顾 1. 软件架构 2. 资源分类 3. 网络通信三要素 web服务器软件: Tomcat:web服务器软件 1. 下载:http://tomcat.apache.org/ 2. 安装:解压压缩包即可。 3. 卸载:删除目录就行了 4. 启动: 5. 关闭: 6. 配置: Servlet: server applet 概念:运行在服务器端的小程序 快速入门: 执行原理: Servlet中的生命周期方法: 1. 被创建:执行init方法,只执行一次 Servlet的init方法: 2. 提供服务: 3. 被销毁: Servlet3.0: 好处: 步骤: IDEA与tomcat的相关配置 web相关概念回顾 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 * 如: html,css,JavaScript 2. 动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器 * 如:servlet/jsp,php,asp.... 3. 网络通信三要素 1. IP:电子设备(计算机)在网络中的唯一标识。 2. 端口:应用程序在计算机中的唯一标识。 0

java web部分的一些知识点

半腔热情 提交于 2020-01-23 10:35:38
1. 讲一下http get 和post请求的区别 get和post请求都是http的请求方式,用户通过不同的http的请求方式完成对资源(URL)的不同操作。具体来说get一般用于获取/查询资源信息,而post一般用于更新数据。 get请求提交的数据会在地址栏显示出来,而post请求不会在地址栏显示出来。get提交,请求的数据会附在URL之后(就是把数据防止在http协议头中)。post提交:把提交的数据放置在http包的包体中。因此,get提交的数据会在地址栏显示出来,而post提交,地址栏不会变化。 传输的数据大小 get请求由于浏览器对地址长度的限制而导致传输的数据有限制。post请求不会因为地址长度限制而导致传输数据限制。 安全性 post的安全性比get要高 2.说一下你对servlet的理解?或servlet是什么? ** servlet是用java编写的服务器端程序。而这些servlet都要实现servlet这个接口。其主要功能在于交互式地浏览和修改数据,生成动态web内容。servlet运行于支持java的应用服务器中。 **httpservlet重写doget和dopost方法或则你也可以重写service方法完成对get和post请求的响应。 3.简单说一下servlet的生命周期? **servlet有良好的生存期的定义,包括加载和实例化、初始化

Jadvaweb客户端与服务端的通信-Request请求与Response响应

落爺英雄遲暮 提交于 2020-01-22 23:24:28
Jadvaweb客户端与服务端的通信-Request请求与Response响应 文章目录 Jadvaweb客户端与服务端的通信-Request请求与Response响应 相对路径与绝对路径 相对路径访问servlet 绝对路径访问Servlet Tomcat请求响应 HttpServletRequest基本功能 HttpServletRequest参数 获取参数 传递参数 接收参数 Request请求中文乱码问题 Post乱码问题 Get乱码问题 HttpServletRequest请求转发 Request域的作用范围 HttpServletResponse基本功能 相对路径与绝对路径 相对路径访问servlet xml映射配置: < servlet-mapping > < servlet-name > HelloWorld </ servlet-name > < url-pattern > /HELLO </ url-pattern > </ servlet-mapping > Servlet映射为/HELLO,代表根目录下的HELLO 此时在IDEA的web/下(根目录)新建html <!DOCTYPE html> < html lang = " en " > < head > < meta charset = " UTF-8 " > < title > Title </

ssm之spring+springmvc+mybatis整合初探

我是研究僧i 提交于 2020-01-22 22:03:21
1、基本目录如下 2、首先是向lib中加入相应的jar包 3、然后在web.xml中加入配置,使spring和springmvc配置文件起作用。 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- needed for ContextLoaderListener --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </context-param> <!-- Bootstraps the root web application context before servlet initialization

(转)servlet、filter、listener、interceptor之间的区别和联系

六月ゝ 毕业季﹏ 提交于 2020-01-22 20:44:15
写在前面: 使用Spring-Boot时,嵌入式Servlet容器可以通过扫描注解(@ServletComponentScan)的方式注册Servlet、Filter和Servlet规范的所有监听器(如HttpSessionListener监听器)。 Spring boot 的主 Servlet 为 DispatcherServlet,其默认的url-pattern为“/”。一般情况系统默认的Servlet就够用了,如果需要自定义Servlet,可以继承系统抽象类HttpServlet,重写方法来实现自己的Servlet。关于Servlet、过滤器、拦截器、监听器可以参考: (转)servlet、filter、listener、interceptor之间的区别和联系 Spring-Boot有两种方法注册Servlet、Filter和Listener : 1、代码注册:通过ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 获得控制。 2、在 SpringBootApplication 上使用@ServletComponentScan 注解后,Servlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter、@WebListener

Servlet的Cookie与Seesion的介绍

人走茶凉 提交于 2020-01-22 19:35:51
什么是Cookie? Cookie是服务器在本地机器上存储的小段文本,它是一个简单的字符串形式的键值对。 网络服务器用HTTP头向客户端发送cookie, (一般情况下Cookie是由服务端生成的,当然js也能操作cookie) 在客户端,浏览器解析这些cookies并将它们保存到本地, 而后当浏览器访问这个服务器时,它会在任何请求上加上这些cookie。 说白了就是每次你和服务器的交互都会带着这些cookie。 什么是Session? session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这样的话“在一个浏览器会话期间,...”,这里的会话一词用的就是其本义,是指从一个浏览器窗口打开到关闭这个期间。最混乱的是“用户(客户端)在一次会话期间”这样一句话,它可能指用户的一系列动作(一般情况下是同某个具体目的相关的一系列动作,比如从登录到选购商品到结账登出这样一个网上购物的过程,有时候也被称为一个transaction),然而有时候也可能仅仅是指一次连接。 然而当session一词与网络协议相关联时,它又往往隐含了“面向连接”和/或“保持状态”这样两个含义,“面向连接”指的是在通信双方在通信之前要先建立一个通信的渠道,比如打电话,直到对方接了电话通信才能开始