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. sublime text 如何设置”在浏览器浏览“的快捷键

    sublime text编辑器极其强大 ,但在刚开始用的时候,每次在浏览器中查看非得右键鼠标----”open in browser“,着实觉得麻烦....百度之,上面的方法有很多,但是根据我自己的经 ...

  2. highchart去掉highcharts.com及导出

    右下角默认会有highcharts.com credits: { enabled:false} 导出服务用于Highcharts导出功能,即通过导出服务器将图表导出为常见图片格式或 PDF 文档. 默 ...

  3. 编译器角度看C++复制构造函数

    [C++对象模型]复制构造函数的建构操作 关于复制构造函数的简单介绍,可以看我以前写过的一篇文章C++复制控制之复制构造函数该文章中介绍了复制构造函数的定义.调用时机.也对编译器合成的复制构造函数行为 ...

  4. js-JavaScript高级程序设计学习笔记13

    第十五章 canvas绘图 1.WebGL是针对Canvas的3D上下文. 2.类型化数组 WebGL涉及的复杂计算需要提前知道数值的精度,而标准的JS数值无法满足需求.因此WebGL引入了一个概念, ...

  5. Leetcode 86. Unique Binary Search Trees

    本题利用BST的特性来用DP求解.由于BST的性质,所以root左子树的node全部<root.而右子树的node全部>root. 左子树 = [1, j-1], root = j, 右子 ...

  6. soapUI使用-DataSource获取oracle库中的参数

    soapUI使用-DataSource获取oracle库中的参数 下载mysql和oracle驱动包:http://pan.baidu.com/s/1i3sy1MH 放在Program Files\S ...

  7. 【Alpha版本】冲刺-Day9

    队伍:606notconnected 会议时间:11月17日 会议总结 张斯巍(433) 今天安排:关注界面设计 完成度:90% 明天计划:优化上传界面 遇到的问题:无 感想:图画得好未必做的好,没有 ...

  8. javascript中对象字面量的理解

    javascript中对象字面量与数组字面量 第一部分 我们知道JavaScript中的数据类型有基本数据类型和引用类型,其中Object类型就是非常常用的类型.那么如果创建一个Object类型的实例 ...

  9. c语言程序

    汇编语言嵌入到c语言中 #include<stdio.h> int main(void) { int a,b,c; a=4; b=5; _asm { mov eax,a; add eax, ...

  10. 9.19 JS数组

    数组:相同类型数据的集合强类型语言:1数组里面只能存放相同数据类型的数据     2定义数组的时候需要制定一个长度(可以存放的元素数量)     3内存空间连续集合:1.可以存放任意类型的数据     ...