1.为什么需要servletContext

   需求1
需求2
---------------》解决之道servletContext
 
 
servletContext
1.ServletContext是在服务器
2.ServletContext是被所有客户端共享
3.ServletContext是当web应用启动的时候,自动创建
4.ServletContext当web应用关闭  ,tomcat关闭,对web应用reload造成ServletContext的消亡
 
 
ServletContext小结
 
获取属性
//1.通过this直接获取。
 ServletContext servletcontext=this.getServletContext();
   //2.通过ServletConfig获取
ServletContext servletcontext2=this.getServletConfig().getServletContext();
 

添加属性

servletcontext.setAttribute("属性名name", "val韩顺平");  
 
取出属性
String val=(String)servletcontext.getAttribute("属性名name");  
 
删除
servletcontext.removeAttribute("属性名name");  
 
ServletContext应用
(1)获取WEB应用的初始化参数
  <!--如果希望所有的servlet都可以访问该配置-->
   <context-param>
          <param-name>name</param-name>
          <param-value>nscott</param-value>
  </context-param>
如何获取
String val=(String)this.getServletContext().getInitParameter("name");  
 
(2)转发
  response.sendRedirect("/web应用名/资源");
  request.getRequestDispatcher("/资源名").forward(request,response);
区别1.getRequestDispatcher发生在web服务器,sendRedirect发生在浏览器
       2.如果  request.setAttribute("name","shunping")希望下一个页面可以使用该值使用  request.getRequestDispatcher("/资源名").forward(request,response);
       3.如果  session.setAttribute("name","shunping")希望下一个页面,两个方法都能使用
               建议使用  request.getRequestDispatcher("/资源名").forward(request,response);
      4.如果希望跳转到本web应用以外的url ,只能使用 response.sendRedirect
this.getServletContext().getRequestDispatcher("/资源名").forward(request,response);
(3)读取文件和获取文件的全路径
1.为什么需要servletContext

   需求1
需求2
---------------》解决之道servletContext
 
 
servletContext
1.ServletContext是在服务器
2.ServletContext是被所有客户端共享
3.ServletContext是当web应用启动的时候,自动创建
4.ServletContext当web应用关闭  ,tomcat关闭,对web应用reload造成ServletContext的消亡
 
 
ServletContext小结
 
获取属性
//1.通过this直接获取。
 ServletContext servletcontext=this.getServletContext();
   //2.通过ServletConfig获取
ServletContext servletcontext2=this.getServletConfig().getServletContext();
 

添加属性

servletcontext.setAttribute("属性名name", "val韩顺平");  
 
取出属性
String val=(String)servletcontext.getAttribute("属性名name");  
 
删除
servletcontext.removeAttribute("属性名name");  
 
ServletContext应用
(1)获取WEB应用的初始化参数
  <!--如果希望所有的servlet都可以访问该配置-->
   <context-param>
          <param-name>name</param-name>
          <param-value>nscott</param-value>
  </context-param>
如何获取
String val=(String)this.getServletContext().getInitParameter("name");  
 
(2)转发
  response.sendRedirect("/web应用名/资源");
  request.getRequestDispatcher("/资源名").forward(request,response);
区别1.getRequestDispatcher发生在web服务器,sendRedirect发生在浏览器
       2.如果  request.setAttribute("name","shunping")希望下一个页面可以使用该值使用  request.getRequestDispatcher("/资源名").forward(request,response);
       3.如果  session.setAttribute("name","shunping")希望下一个页面,两个方法都能使用
               建议使用  request.getRequestDispatcher("/资源名").forward(request,response);
      4.如果希望跳转到本web应用以外的url ,只能使用 response.sendRedirect
this.getServletContext().getRequestDispatcher("/资源名").forward(request,response);
(3)读取文件和获取文件的全路径

 
 
 
 
 
 

ServletContext的更多相关文章

  1. JavaWeb——ServletContext

    一.基本概念 说起ServletContext,一些人会产生误解,以为一个servlet对应一个ServletContext.其实不是这样的,事实是一个web应用对应一个ServletContext, ...

  2. The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

    The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory 这是由于项目里面的一些 ...

  3. 【原】tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决

    现象: tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig() ...

  4. 如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以"/"开头

    ServletContext.getRealPath() 的输入参数要以"/"开头 2014-03-26 15:54 5738人阅读 评论(1) 收藏 举报 版权声明:本文为博主原 ...

  5. 重温Servlet学习笔记--servletContext对象

    一个项目中只有一个ServletContext对象,我们可以在多个servlet中获取这个唯一的对象,使用它可以给多个servlet传递数据,我们通常成servletContext为上下文对象.这个对 ...

  6. Servlet 之 ServletContext

    package cn.jiemoxiaodi.servlet_servletcontext; import java.io.IOException; import java.io.PrintWrite ...

  7. Tomcat启动后,从spring容器中获取Bean和ServletContext

    public static Object getBean(String beanName){ ApplicationContext context = ContextLoader.getCurrent ...

  8. The method getJspApplicationContext(ServletContext) is undefined for the type

    type Exception report message Unable to compile class for JSP: description The server encountered an ...

  9. tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()

    JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...

  10. Spring以及SPringmvc相关问题: ServletContext -父子容器

    总结如下: 明确了Servlet规范中ServletContext的作用和意义.此外明确一个Tomcat中多个web应用,每个人web应用有唯一的一个ServletContext(全局上下文).[例子 ...

随机推荐

  1. js 身份验证

    var idCardNoUtil = {     provinceAndCitys: {11:"北京",12:"天津",13:"河北",14 ...

  2. 【USACO 1.3】Barn Repair

    贪心,去掉最大的min(m,c)-1个间隔 /******************************************* TASK: barn1 LANG: C++ Created Tim ...

  3. 获取登陆ip

    想获取用户的ip, 在vendor\yiisoft\yii2\web\User.php的login中看到 $ip = Yii::$app->getRequest()->getUserIP( ...

  4. Hive 的分桶 & Parquet 概念

    分区 & 分桶 都是把数据划分成块.分区是粗粒度的划分,桶是细粒度的划分,这样做为了可以让查询发生在小范围的数据上以提高效率. 分区之后,分区列都成了文件目录,从而查询时定位到文件目录,子数据 ...

  5. 【BZOJ-4281】Związek Harcerstwa Bajtockiego 树上倍增LCA

    4281: [ONTAK2015]Związek Harcerstwa Bajtockiego Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 167  ...

  6. 【bzoj3884】 上帝与集合的正确用法

    http://www.lydsy.com/JudgeOnline/problem.php?id=3884 (题目链接) 题意 求 Solution 解决的关键: 当${n>φ(p)}$,有$${ ...

  7. CruiseControl.NET/CCNET安装包下载

    链接:http://pan.baidu.com/s/1bHgeCI 密码:d7q1

  8. Jsoncpp Compiler、Programming

    catalog . C++ jsoncpp简介 . Jsoncpp的下载与编译 . Linux Jsoncpp的SDK编译 & 简单实例 . Windows Jsoncpp的SDK编译 &am ...

  9. django数据库时间存储格式问题

    http://blog.csdn.net/ichuzhen/article/details/38555645 一般建议用datefield 关于从数据库读取出来格式问题可以看 http://stack ...

  10. python 培训之 装饰器

    1. 高阶函数 接收 函数作为参数,返回函数. 2. 函数闭包 3. 接收一个函数为参数,对其进行包装,然后返回一个包装函数(tip:包装函数中调用并返回参数函数. #! /usr/env/pytho ...