servlet中的第一个域对象ServletContext

来源:互联网 发布:淘宝客服主管考核 编辑:程序博客网 时间:2024/05/25 13:34
在开篇之前我们思考一个问题,在涉及到两个独立Servlet之间,如何进行信息的有效传递?
 这就涉及到 Servlet之间进行数据共享,也就是本文中的域对象
定义:一个ServletContext就是一个WEB项目的身份证
作用范围:整个项目
    生命周期:
    创建:服务器启动时
    销毁:服务器关闭时

ServletContext   其实就是map对象,以key-value形式存在的

相关方法:

1.getAttribute(String name);                                                    相当于map.get(key);
                                        返回值是Object
                                        如果获取不到,返回null

2.setAttribute(String name,Object value);                相当于map.put(key,value);
3.removeAttribute(String name);                                            相当于map.remove(key);

4.获取ServletContext对象:
this.getServletConfig().getServletContext();
this.getServletContext();//这句是上面代码的简写方式

下面举个小例子,代码如下:

全局初始化参数:    <web-app>标签下    <context-param>          <param-name>password</param-name>          <param-value>1234</param-value>  </context-param>调用this.getServletContext().getInitParameter("password");适用环境:一般都会存储所有Servlet都需要的参数


其中servlet中海存在一个ServletConfig,它是是某个Servlet的身份证。
一个Servlet就有一个ServletConfig,ServletConfig把<Servlet>标签下的所有内容进行了封装。
获取Servlet的注册名:getServletName();

下面有一个需求:只需要存储某个Servlet需要的初始化参数
我们需要设置某个Servlet独有的初始化参数:
需要在<Servlet>标签下书写

<init-param>        <param-name>username</param-name>        <param-value>某个Servlet独有的用户名</param-value>    </init-param>获取ServletConfig对象:ServletConfig servletConfig = this.getServletConfig();获取初始化参数:servletConfig.getInitParameter(“username”);获取ServletContext对象:this.getServletConfig().getServletContext();this.getServletContext();//这句是上面代码的简写方式





0 0
原创粉丝点击