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. HttpClient学习(二)—— MinimalHttpClient源码解析

    依赖关系 方法 class MinimalHttpClient extends CloseableHttpClient { //连接管理器 private final HttpClientConnec ...

  2. .NET开发人员的完美.gitignore文件

    # Build and Object Folders bin/ obj/ # Nuget packages directory packages/ ## Ignore Visual Studio te ...

  3. git补充(关于pull request)转自知乎

    当你想更正别人仓库里的错误时,要走一个流程: 1先 fork 别人的仓库,相当于拷贝一份,不会有人直接让你修改原仓库的 2.clone 到本地分支,做一些 bug fix 3.发起 pull requ ...

  4. mysql使用慢查询日志分析数据执行情况

    #查询慢查询日志文件路径show variables like '%slow_query%';#开启慢查询日志 ; #设置慢查询阀值为0,将所有的语句都记入慢查询日志 ;#未使用索引的查询也被记录到慢 ...

  5. NLP 文本预处理

    1.不同类别文本量统计,类别不平衡差异 2.文本长度统计 3.文本处理,比如文本语料中简体与繁体共存,这会加大模型的学习难度.因此,他们对数据进行繁体转简体的处理. 同时,过滤掉了对分类没有任何作用的 ...

  6. SQL注入自学[第一学:一个简单的注入环境的编写]

    /* 转载请注明出处 ID:珍惜少年时 */ CODE区域: /*注:现在mysql_connect的这种连接方式已经被放弃了,也就是说不用了,老夫也是新手上路故,下载了一个wampserver2.2 ...

  7. osg::PagedLOD example

    int main() { osg::ref_ptr<osgViewer::Viewer> viewer1 = new osgViewer::Viewer; osg::ref_ptr< ...

  8. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_18-认证接口开发-接口开发-service

    定义AuthController 实现刚才写的api接口 controller定义热requestMapping 是 / 就可以了. 因为我们的登陆跟路径就是/auth. 这样到login就是 /au ...

  9. Linux -- PHP-FPM的源码解析和模型

    1.进程管理模式 PHP-FPM由1个master进程和N个worker进程组成.其中,Worker进程由master进程fork而来. PHP-FPM有3种worker进程管理模式. 1. Stat ...

  10. PAT 甲级 1058 A+B in Hogwarts (20 分) (简单题)

    1058 A+B in Hogwarts (20 分)   If you are a fan of Harry Potter, you would know the world of magic ha ...