【Javaweb】Servlet四 | ServletConfig类|ServletContext类

ServletConfig类是Servlet程序的配置信息类。

ServletConfig类的三大作用

1、可以获取Servlet程序的别名servlet-name的值

System.out.println("HelloServlet程序的别名"+servletConfig.getServletName());

2、获取初始化参数 init-param

System.out.println("初始化参数username的值是:"+servletConfig.getInitParameter("username"));
System.out.println("初始化参数url的值是:"+servletConfig.getInitParameter("url"));

3、获取ServletContext对象

System.out.println(servletConfig.getServletContext());

显示截图

 

补充说明 

servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责使用。

Servlet程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象

重写init方法是,必须用super()继承父类。

ServletContext类

什么是ServletContext?

1、ServletContext是一个接口,它表示Servlet上下文对象

2、一个web工程,只有一个ServletContext对象实例

3、ServletContext对象是一个域对象

4、ServletContext是在web工程部署启动的时候创建,在web工程停止的时候销毁

什么是域对象?

域对象,是可以像Map一样存取数据的对象,叫域对象。

这里的域指的是存取对象的操作范围,整个web工程

 

 ServletContext类的四个作用

1、获取web.xml中配置的上下文参数context-param

ServletContext context= getServletConfig().getServletContext();
String password=context.getInitParameter("password");
System.out.println("param"+password);

2、获取当前的工程路径,格式:/工程路径(如果为空,就是部署在了根目录上)

System.out.println("当前工程路径:"+context.getContextPath());

3、获取工程部署后在服务器硬盘上的绝对路径

System.out.println("工程部署的路径"+context.getRealPath("/"));

4、像Map一样存取数据

servlet1①

ServletContext context= getServletContext();
System.out.println("定义前域对象key1值:"+context.getAttribute("key1"));
context.setAttribute("key1","value1");
System.out.println("定义后域对象key1值:"+context.getAttribute("key1"));

servlet2②

ServletContext context=getServletContext();
System.out.println("servlet2域对象key1值:"+context.getAttribute("key1"));

先运行①    后运行②

  null value1   value1

先运行②    在运行①     在运行②

   null   null value1      value1  

 

本文作者:TranquilTimber

本文链接:https://www.cnblogs.com/gbrr/p/17060984.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   喝着农药吐泡泡o  阅读(18)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑