先介绍一些相关的知识点

Web服务器是提供web服务的软件或主机,即Web服务器软件或装有Web服务器软件的计算机。例如:IIS、apache、nginx等。Web服务器可以处理 HTTP 协议,响应针对静态页面或图片的请求,进行页面跳转,或者把动态请求委托其它程序(它的扩展、某种语言的解释引擎(php)、Web容器)。
所以,我们可以把 IIS、Apache、Nginx、Tomcat等都称为Web服务器,因为他们都提供了web服务。
中间件(Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。容器就是中间件的一种。所以说我们可以把Tomcat、Weblogic、Jboss等叫做Web中间件。
容器是中间件的一种,作为操作系统和应用程序之间的桥梁,给处于其中的应用程序组件提供一个环境,使应用程序直接跟容器中的环境变量交互,而不必关注其它系统问题。例如:tomcat(servlet容器),Jboss(EJB容器)。这些容器提供的接口严格遵守J2EE规范中的web application 标准。

servlet的生命周期就是从servlet出现到销毁的全过程。主要分为以下几个阶段:
加载类—>实例化(为对象分配空间)—>初始化(为对象的属性赋值)—>请求处理(服务阶段)—>销毁
服务器启动时(web.xml中配置load-on-startup=1,默认为0)或者第一次请求该servlet时,就会初始化一个Servlet对象,也就是会执行初始化方法init(ServletConfig conf),该servlet对象去处理所有客户端请求,service(ServletRequest req,ServletResponse res)方法中执行,最后服务器关闭时,才会销毁这个servlet对象,执行destroy()方法。

开发过程步骤:
先编写servlet程序,然后去web.xml中配置servlet注册信息,即其名字和对应的servlet程序代码,然后在编写映射路径,即其名字和对应的访问路径。向web服务器注册。

servletContext

servlet应用程序之间相互独立执行
servletContext(上下文)可能是面试题。是在web容器(tomcat)启动的时候,会为每个web程序创建一个对应的ServletContext对象,代表当前web应用工程(包含多个servlet程序),全局唯一,凌驾于所有servlet程序之上,可以用它对web应用进行一些操作。

  • 共享数据(后面会用session或者request代替他),在这个servlet中向servletContext中保存的数据可以在另一个servlet中拿到。例:淘宝登录之后跳转不同的界面都携带自己的登录信息。也可以使用io输出到文件中,但是不方便,浪费资源。

  • 获取初始化参数(几乎不用),getinitparam

  • 请求转发功能实现(后面会用request去做)。
    /*向容器的context对象发出请求,要从指定的请求路径,即某个servlet程序获取数据。
    *context作为中间商获取到此数据之后会由它转发到当前程序,当前程序接触不到指定的
    servlet程序。当前页面路径不变,能够显示指定请求数据,状态码为200,即正常访问.
    而重定向则是中间商告诉你去找目标程序,状态码为3

    */
    // 指定请求数据的目标转发路径
    // RequestDispatcher getp = context.getRequestDispatcher(“getp”);
    // 调用forward实现请求转发
    // getp.forward(req,resp);
    context.getRequestDispatcher("/getp").forward(req,resp);

  • 读取资源文件(后面用类加载classload,反射去做)

Properties

  • 在java目录下新建properties文件
  • 在resources目录下新建properties文件
    都会在项目build时被打包到同一个路径下:classes,俗称这个路径为classpath类路径。
    可以通过getResourcesAsStream获取到流形式的properties配置信息,然后再用一个空白的properties文件load装载这个流,再通过这个新文件去获取信息。

itan:ServletContext简介相关推荐

  1. ServletContext的学习笔记(属Servlet学习课程)

    文章目录 ServletContext 简介 获取 ServletContext 对象 功能 获取 MIME 类型 用来共享数据 获取文件在服务器主机的物理路径 获取全局级别的初始化参数 获取临时目录 ...

  2. JavaWeb_基础知识

    学习目录 零.互联网通信流程 (一).设计技术[偏过时] (二).实质 (三).角色划分 (四).互联网通信模型 1. C/S通信模型: C:client software:客户端软件 S:serve ...

  3. Java开发之ServLet详解

    一.什么是ServLet? serverLet是javaEE中运行于服务器端的,用于接收和响应HTTP协议的请求的程序. 二.ServLet的三种实现方式 1.实现ServLet接口 步骤: (1)实 ...

  4. itan:cookie-session简介

    1.会话 用户打开一个浏览器,点击很多超链接,访问多个web资源,关闭浏览器的过程称为会话. 有状态会话:一个同学来过教室,下次再来,我们知道这个同学曾经来过,称之为有状态会话.例如直播网站等会记住你 ...

  5. itan:request-response简介

    输出汉字用getwriter(),否则会乱码:其余的用getOutputStream(),否则会漏掉字符,字符串损坏或丢失. Web服务器接收到客户端的http请求,针对此请求,分别创建代表请求的Ht ...

  6. Servlet简介与Servlet和HttpServlet运行的流程

    2019独角兽企业重金招聘Python工程师标准>>> 1.Servlet [1] Servlet简介 > Server + let > 意为:运行在服务器端的小程序. ...

  7. Java Servlet 技术简介

    开始之前 关于本教程 在您最喜欢的 Web 浏览器中,您所阅读的页面是如何出现的呢?当登录到您最喜欢的 Web 站点时,该 Web 站点如何知道登录的用户是您?而 Web 零售商又如何接受您的在线订购 ...

  8. Spring-Security 简介、入门案例详解、安全框架、权限验证 SSM项目 使用 JavaConfig配置

    Spring-Security 简介 一.介绍 二.详细步骤 1.创建一个maven项目 添加web 框架. 2.导入依赖 3.项目整体结构 4.Spring 容器配置 5.servletContex ...

  9. JavaWeb(五)——Servlet、Mapping问题、ServletContext

    文章目录 1. Servlet 简介 2. HelloServlet 3. Servlet原理 4. Mapping问题 5. ServletContext 1. Servlet 简介 Servlet ...

最新文章

  1. lotus php,LotusPhp框架目录_PHP教程
  2. Android startActivityForResult的使用
  3. java 编码二进制写法、十六进制用源代码表示
  4. intellij tomcat配置
  5. python金融工程的工具包_金融工程及其Python应用
  6. python全栈开发笔记---------数据类型-----集合set
  7. CSS代码属性大全(HTML)
  8. keras_contrib安装
  9. fopen()函数的文件模式
  10. 修改 docker容器hosts文件
  11. win10 2016 LTSB
  12. 移动端H5 QQ在线客服链接代码
  13. java 日历选择天_如何从Java中的日历对象构建天,月,年的列表?
  14. 2018最佳GAN论文回顾
  15. azure mysql on vnet_Azure Database for MySQL (2) VNET rules
  16. 获取post请求的数据
  17. 二硫化锡/纳米碳/MXene/PANI复合材料研究进展
  18. Delphi7企业原版_史上最经典的delphi 版本
  19. 程序员是青春饭吗?30岁后的发展方向和突破
  20. 计算机软件统考,计算机统考_计算机与软件_考研论坛(kaoyan.com)

热门文章

  1. nvme固态必须uefi启动吗_加装了M.2固态无法安装WIN7系统?
  2. 二十一世纪大学英语读写基础教程学习笔记(原文)——5 - Shipwrecked in Antarctica(沉船南极洲)
  3. Ubuntu安装使用Krita
  4. 银河麒麟 kylin server v10上创建虚拟机(基于 鲲鹏920 CPU)
  5. 在用户输入手机号或者要求输入纯数字时,输入法自动切换到数字的代码
  6. 免费制作在线网站教程
  7. CJOJ 1308 【HNOI 2002 】营业额统计 / CodeVS 1296 营业额统计
  8. Javascript 中 atob 方法解码中文字符乱码问题
  9. 游戏辅助小助手框架构想
  10. 机器学习--详解人脸对齐算法SDM-LBF