ServletConfig:表示servlet的配置信息,一个servlet对象对应一个servletconfig对象
 
方法:
1.获取初始化参数
config.getInitParameter()
 
 
ServletContext:表示servlet的全局配置信息,一个WebApplication只有一个ServletContext对象,该对象被所有Servlet共用
 
方法:
1.获取全局的初始化参数
context.getInitParameter()
2.获取上下文路径(部署在tomcat中的项目目录名)
context.getContextPath()
3.获取文件的绝对路径(从WebRoot下开始定位文件)
context.getRealPath()
4.获取资源,将资源作为流返回
context.getResourceAsStream();
5.显示目录下的资源
Set<String> paths = sc1.getResourcePaths();
6.存储一个key-value数据
context.setAttribute(key,value)
根据key获取value
context.getAttribute(key)
 
ServletConfig:
  1. //web中
  2. <init-param>
  3. <param-name>listings</param-name>
  4. <param-value>true</param-value>
  5. </init-param>
  1. public void doPost(HttpServletRequest request, HttpServletResponse response)
  2. throws ServletException, IOException {
  3. //1.获取ServletConfig对象
  4. // 表示servlet的配置信息
  5. ServletConfig config = this.getServletConfig();
  6. //2.使用config读取初始化参数
  7. String value = config.getInitParameter("listings");
  8. System.out.println(value);
  9. //获取servletName
  10. System.out.println(config.getServletName());
  11.  
  12. }
  13.  
  14. }
  1. /*@Override
  2. public void init(ServletConfig config) throws ServletException {
  3. String value = config.getInitParameter("listings");
  4. System.out.println(value);
  5. }*/

ServletContext

  1. //web中
  2. <context-param>
  3. <param-name>aaa</param-name>
  4. <param-value>bbb</param-value>
  5. </context-param>
  1. public void doPost(HttpServletRequest request, HttpServletResponse response)
  2. throws ServletException, IOException {
  3.  
  4. //1.获取ServletContext:servlet的全局对象,整个项目就一个ServletContext对象
  5. ServletContext sc1 = this.getServletContext();
  6. ServletContext sc2 = request.getServletContext();
  7. ServletContext sc3 = this.getServletConfig().getServletContext();
  8.  
  9. //2.使用该对象
  10. //读取全局配置信息
  11. String val = sc1.getInitParameter("aaa");
  12. System.out.println(val);
  13.  
  14. //* 获取上下文路径
  15. String contextPath = sc1.getContextPath();
  16. System.out.println(contextPath);
  17.  
  18. //* 获取文件的绝对路径:从WebRoot下开始定位文件
  19. String realPath = sc1.getRealPath("/image/1.jpg");
  20. System.out.println(realPath);
  21.  
  22. //获取资源,将资源作为流返回
  23. InputStream in = sc1.getResourceAsStream("/WEB-INF/car.properties");
  24.  
  25. //显示目录下的资源
  26. Set<String> paths = sc1.getResourcePaths("/aaa");
  27. for (String string : paths) {
  28. System.out.println(string);
  29. }
  30.  
  31. }
作用域对象
生命周期 作用范围
HttpServletRequest 一次请求 一次请求经过的所有servlet
HttpSession 一次会话 一次会话中,所有的servlet
ServletContext 项目从加载到卸载 一个项目中,所有servlet
 
 
作用域对象,有三个方法:
1.setAttribute(String key,Object value);
2.getAttribute(String key);
3.removeAttribute(String key);
  1. public void doPost(HttpServletRequest request, HttpServletResponse response)
  2. throws ServletException, IOException {
  3. //1.request对象
  4. request.setAttribute("name", "zhangsan");
  5. //request.getRequestDispatcher("scope2").forward(request, response);
  6.  
  7. //2.session对象 先向浏览器输入,在用下面输出
  8. HttpSession session = request.getSession();
  9. session.setAttribute("age", 18);
  10.  
  11. //3.application对象 先向浏览器输入,所有浏览器都可以输出
  12. ServletContext sc = request.getServletContext();
  13. sc.setAttribute("gender", "男");
  14.  
  15. }
  1. public void doPost(HttpServletRequest request, HttpServletResponse response)
  2. throws ServletException, IOException {
  3. //1.获取request对象中数据
  4. /*String name = (String) request.getAttribute("name");
  5. System.out.println(name);
  6.  
  7. //2.获取session对象中的数据
  8. int age = (int) request.getSession().getAttribute("age");
  9. System.out.println(age);*/
  10.  
  11. //3.获取application对象中的数据
  12. String gender = (String) request.getServletContext().getAttribute("gender");
  13. System.out.println(gender);
  14.  
  15. }
 
 
 
 
 
 
 

06 ServletConfig、ServletContext_作用域对象的更多相关文章

  1. JSP(二):JSP九大内置对象、四个作用域对象

    jsp的九大内置对象:        内置对象:            jsp文件在转译成其对应的Servlet文件的时候自动生成的并声明的对象.我们在jsp页面中直接使用即可.        注意: ...

  2. JSP九大内置对象和四大作用域和Servlet的三大作用域对象

    一.JSP九大内置对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用 内置对象特点: 由JSP规范提供,不用编写者实例化. 通过Web容器实现和管理 所有 ...

  3. servlet的三大作用域对象和jsp的九大内置对象及其四大作用域对象

    servlet的三大作用域对象: request(HttpServletRequest) session(HttpSession): application(ServletContext):tomca ...

  4. Struts2的Action中如何操作作用域对象

    得到作用域对象有三种方法,这里用代码来解释: package com.cy.action; import javax.servlet.ServletContext; import javax.serv ...

  5. day05 Servlet 开发和 ServletConfig 与 ServletContext 对象

    day05 Servlet 开发和 ServletConfig 与 ServletContext 对象 1. Servlet 开发入门 - hello world 2. Servlet 的调用过程和生 ...

  6. EL作用域对象

    EL与jsp的作用域对象对应关系,,,,,及EL具体作用域对象介绍,如下

  7. JSP的9大内置对象和4打作用域对象

    一.9大内置对象 二.4大内置作用域对象

  8. SpringBoot入门06-Thymeleaf显示作用域对象种的对象

    作用域对象request,session, servletContext中的数据在Thymeleaf中的显示都是相同的 作用域对象中的 List和Set的集合在html中的显示是相同的 作用域对象中的 ...

  9. ServletConfig与ServletContext对象(接口)

    ServletConfig:封装servlet的配置信息. 在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. <ser ...

随机推荐

  1. cgdb UTF-8乱码

    support utf-8 cgdb github上的issues里面有人提到了这个问题,维护者回复的是需要使用libncursesw这个支持宽字符的库来解决这个问题. 查看是否安装了该库ldconf ...

  2. java基础类型源码解析之String

    差点忘了最常用的String类型,我们对String的大多数方法都已经很熟了,这里就挑几个平时不会直接接触的点来解析一下. 先来看看它的成员变量 public final class String { ...

  3. legend3---阿里云服务器配置多个网站项目

    legend3---阿里云服务器配置多个网站项目 一.总结 一句话总结: 就是和本机上面的一样,多个域名可以指向同一个ip,配置apache的时候记得ServerName配置域名,不要直接整ip 二. ...

  4. Socket函数详解

    #include <sys/types.h>; #include <sys/socket.h>; --------------------------------------- ...

  5. 运行模型,COM错误,解决问题步骤

    运行模型,COM错误,解决问题步骤 1.数据新建一个,路径短一点,不要有中文 2.所有数据重新导入 3.文档新建 4,问题莫名奇妙解决了

  6. Maven中的SnapShot版本和Release版本

    # Maven中的SnapShot版本和Release版本 ## 区别 - SnapShot 快照版本- Release 发布版本 ## 重要区别 - 本地获取这些依赖的机制不同,如果是快照版本,Ma ...

  7. vue开发环境、正式环境的配置及原理

    修改prod.env.js里的内容,修改后的内容如下: 'use strict' module.exports = { NODE_ENV: '"production"', EVN_ ...

  8. 如何向Makefile传递参数?

    答: 直接在make命令的后面加上参数,如: make HOST_CFLAGS=-I. 注意事项: HOST_CFLAGS变量将会替换相应Makefile中的HOST_CFLAGS,也就是Makefi ...

  9. Android简单实现滚动悬停效果

    import android.content.Context; import android.support.design.widget.TabLayout; import android.suppo ...

  10. struct2json -- C结构体与 JSON 快速互转库V1.0发布

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zhutianlong/article/d ...