zoukankan      html  css  js  c++  java
  • ServletConfig和ServletContext 区别

     
    ServletConfig和ServletContext

    1.ServletContext在整个web应用程序生命周期内存在,用来保存全局对象,整个web应用都可以使用其获取context参数。当启动服务器后,servlet容器将读取web.xml中配置的context参数,进行初始化工作。ServletContext可以获取该参数。比如我们可以配置编码信息供web程序使用。

    web.xml

    <web-app>
    <context-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </context-param>
    </web-app>

    ReadEncoding.java读取context参数中的编码信息。

    ="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" />
    复制代码
    public class ReadEncoding extends HttpServlet
    {

    //获取servletcontext对象
    ServletContext sc = this.ServletConfig.getServletContext();
    //获取初始化参数
    String encoding = sc.getInitParameter("encoding");
    //设置响应的编码格式
    response.setCharacterEncoding(encoding);
    }
    复制代码

    为了方便获取ServletContext对象,servlet提供了一种简化的写法,this.getServletContext();

    其实该方法内部也是调用了this.getServletConfig.getSerlvetContext。

    2.ServletConfig对象保存着servlet的配置信息,当servlet被实例化后,web容器读取初始化参数,保存到config对象中,

    每一个servlet都有一个servletconfig对象保存着自己的参数信息。

    web.xml

    复制代码
    <web-app>
    <servlet-name>myServlet</servlet-name>
    <servlet-class>com.cnblogs.7days.helloServlet</servlet-class>
    <intit-param>
    <param-name>blogname</param-name>
    <param-value>cnblogs</param-value>
    </intit-param>
    </web-app>
    复制代码

    ReadBlogName.java

    public class ReadBlogName extends HttpServlet
    {
    //读取配置的blogname
    String blogName = this.getServletConfig.getInitParameter("blogName");
    System.out.println(blogName);
    }

    同ServletContext一样,servlet容器也提供了一个简化获取servletconfig参数的方法,this.getInitParameter("blogName")。

  • 相关阅读:
    如何通过CSS3实现背景图片色彩的梯度渐变
    提升网站页面打开速度的12个建议
    DIV+CSS高手必知的15个CSS常识
    飞机订票-1注册用户脚本
    需求不明的测试
    职业发展-外包公司考虑项
    Linux-Apache+Mysql+PHP+PHPWind(重点Apache+PHP集成环境)
    LR11-更改licence
    Linux-服务排查
    C语言-删除重复字符
  • 原文地址:https://www.cnblogs.com/shaohz2014/p/3792721.html
Copyright © 2011-2022 走看看