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. Maven私服使用经验总结

    我是使用nexus2.11.2在centos6.5上搭建的私服,以下是总结我这几天的经验. 1.当你修改pom.xml的时候,eclipse检查的是你本地仓库里的jar包,如果有了,pom.xml文件 ...

  2. synchronized的原理与使用

    理论层面: 内置锁与互斥锁 修饰普通方法.修饰静态方法.修饰代码块 demo如下: package com.roocon.thread.t3; public class Sequence { priv ...

  3. GO make&new区别

    自:http://www.cnblogs.com/ghj1976/archive/2013/02/12/2910384.html 1.make用于内建类型(map.slice 和channel)的内存 ...

  4. Java 面向对象(十一)

    常用类之集合 集合:就是用来存放数据的一个容器. 数组和集合的区别 (1)数组能存基本数据类型和引用类型:集合当中只能存放引用数据类型,直接放基本数据类型,也会自动帮你装箱(把基本数据类型转成对象), ...

  5. secureCRT操作redis-cli时, 不断追加ip:port

    Session Options-->Terminal-->Emulation-->Terminal为Linux

  6. XMind 快捷键完整命令

      XMind 快捷键完整命令 快捷键(Windows) 快捷键(Mac) 描述 + + 展开当前分支 - - 收缩当前分支 * * 展开所有分支 / / 收缩所有分支 Alt+- Alt+- 显示系 ...

  7. android: ListView设置emptyView 误区

    使用ListVIew 来设置EmptyView的时候须注意: ListView listview = (ListView) findViewById(R.id.list); View emptyVie ...

  8. Div 居中对齐(水平、垂直)

    一:水平居中对齐 ***********************************************************************************  示例图 代码 ...

  9. winform软件版本检测自动升级开发流程(转)

    注:按此博文试验OK 基于C/S的开发有开发效率高,对于业务逻辑复杂,且不需要外网使用具有较大优势,但是弊端也不可忽视,就是升级麻烦,不可能每写一个版本就要拿着安装包给每个人去替换,这样不仅搞得自己很 ...

  10. win7下docker环境安装

    最近公司涉及到对docker容器引擎的使用,所以就在网上各种搜索,由于是win7系统,所以在使用上更是麻烦,遇到各种错误就是无法成功启动docker,经过两天的各种尝试下,终于安装成功,在此记录一下使 ...