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. 网络爬虫3-使用LIB_http库

    LIB_http库提供了一个包装函数集,来简化复杂的PHP/CURL接口 1.http_get()函数,使用GET方法下载文件

  2. smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5错误解决办法

    1.自动化测试中,调用邮件模块自动发送邮件时,运行脚本报错: smtplib.SMTPDataError: (554, 'DT:SPM 126 smtp5,jtKowAD3MJz2c1JXLcK2AA ...

  3. epoll

    https://segmentfault.com/a/1190000003063859http://man7.org/linux/man-pages/man7/epoll.7.html EPOLLIN ...

  4. PHP热身

    0.环境说明 win10 xampp phpstorm xampp带了apache和mysql以及phpmyadmin 1.配置mysql:修改默认编码 关mysql xampp/mysql/bin/ ...

  5. 树上倍增求LCA(最近公共祖先)

    前几天做faebdc学长出的模拟题,第三题最后要倍增来优化,在学长的讲解下,尝试的学习和编了一下倍增求LCA(我能说我其他方法也大会吗?..) 倍增求LCA: father[i][j]表示节点i往上跳 ...

  6. HA模式下历史服务器配置

    笔者的集群是 HA 模式的( HDFS 和 ResourceManager HA).在 ” Hadoop-2.5.0-cdh5.3.2 HA 安装" 中详细讲解了关于 HA 模式的搭建,这里就不再赘述 ...

  7. Matlab中cell存储为txt

    clc clear all [data1,data3]=textread('E:\RSWeb\mahoyt数据集\movielens\u.user','%s%*d%s%*s%*s','delimite ...

  8. 【codevs1170】 双栈排序

    http://codevs.cn/problem/1170/ (题目链接) 题意 给出一个初始序列,判断能否通过两个栈的入栈和出栈操作构造出一个有序序列.若可以,输出字典序最小的方案. Solutio ...

  9. javascript向上向下取整

    alert(Math.ceil(25.9)); alert(Math.ceil(25.5)); alert(Math.ceil(25.1)); alert(Math.round(25.9)); ale ...

  10. asp.net下webform的ReadOnly和Enabled属性最终渲染的结果

    ReadOnly对应readonly="readonly" Enabled对应disabled="disabled" 然后研究了一下这两种的用法,特此标记一下: ...