itan:ServletContext简介

先介绍一些相关的知识点

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装载这个流,再通过这个新文件去获取信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值