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:
//web中
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//1.获取ServletConfig对象
// 表示servlet的配置信息
ServletConfig config = this.getServletConfig();
//2.使用config读取初始化参数
String value = config.getInitParameter("listings");
System.out.println(value);
//获取servletName
System.out.println(config.getServletName()); } }
/*@Override
public void init(ServletConfig config) throws ServletException {
String value = config.getInitParameter("listings");
System.out.println(value);
}*/

ServletContext

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

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. springMVC_配置文件搭建基础环境

    SpringMVC与Struts的区别. 一.基础jar包 二.①DispatcherServlet,handelMapping,webAction(colltroller),ModelAndView ...

  2. M有SQL删除数据库提示Error dropping database (can't rmdir './db_test', errno: 39)

    1.执行ps aux | grep mysql,查看mysql的data目录,比如结果是--datadir=/var/lib/mysql.2.进入data目录,删除以该数据库为名字的文件夹.cd /v ...

  3. 标准6轴机器人正反解(1)-坐标系和MDH参数表

    刚来新公司不久,部门给安排了新人作业,我被分到的任务是求标准6轴机器人的正反解,以及利用就近原则选择最优解.从今天开始,逐步将这部分内容总结出来: 本文以及后续文章均使用改进DH法: 连杆坐标系: 坐 ...

  4. 会话技术cookie与session

    目录 会话技术cookie 会话技术 cookie 服务器怎样把Cookie写 给客户端 服务器如何获取客户端携带的cookie session session简介 Session如何办到在一个ser ...

  5. Mininet系列实验(三):Mininet命令延伸实验扩展

    1 实验目的 熟悉Mininet自定义拓扑三种实现方式:命令行创建.Python脚本编写.交互式界面创建. 2 实验原理 Mininet 是一个轻量级软件定义网络和测试平台:它采用轻量级的虚拟化技术使 ...

  6. 对请求数据的格式化 方案 Spring Cloud Gateway features:

    对请求数据的格式化 例如 {body:{}}--->{data:{}} 执行阶段概念 · OpenResty最佳实践 · 看云 https://www.kancloud.cn/kancloud/ ...

  7. 编译grub时报告"grub_script.yy.c:19:22: error: statement with no effect [-Werror=unused-value]"怎么处理?

    答: 在configure时加--disable-werror选项,如下: ./configure --target=aarch64-linux-gnu --disable-werror

  8. ES6 Syntax and Feature Overview

    View on GitHub Note: A commonly accepted practice is to use const except in cases of loops and reass ...

  9. pytorch0.4.1安装

    pytorch官网:https://pytorch.org/ 这里安装pytorch0.4.1版本(最新版本为1.3.0系列,但是在跑github上的一些项目时会不断地报“ UseWarinig:Le ...

  10. 基于pythonselect.select模块通信的实例讲解

    基于python select.select模块通信的实例讲解 要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值. select()方法接收并监控3个通信列表, 第一 ...