您的位置:首页 > 其它

servlet中的第一个域对象ServletContext

2016-10-30 22:07 218 查看
在开篇之前我们思考一个问题,在涉及到两个独立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();//这句是上面代码的简写方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息