阅读 13

servletcontext的常用方法(servletcontext)

1、A:ServletContext是一个规范

2、B:ServletContext是一个接口

3、C:什么是ServletContext?

4、它是servlet的上下文环境(就是servlet的生存环境)

5、D:ServletContext在整个应用中只有一个

6、它是所有的servlet的上下文环境

7、E:既然ServletContext是整个应用的环境

8、那么它的生命周期就和服务器启动时创建,

9、在服务器关闭时回收

10、所以它的生命周期是整个应用中最大的(排除对象持久化)

11、F:ServletContext中保存的数据会被所有的servlet共享

12、G:ServletContext的实现类

13、org.apache.catalina.core.ApplicationContextFacade

14、H:ServletContext在使用时通常都叫做application

15、application就是代表整个应用

16、J:因为ServletContext被放入的数据会被所有的servlet共享

17、通常这种可以放数据,也可以取数据的对象,一般叫做域对象

18、常见的在web编程中的域对象:

19、ServletContext application

20、 放入的数据可以跨越用户 跨越多个servlet被共享

21、HttpSession session

22、 放入的数据就是用户的状态数据,可以被多个HttpServletRequest共享 跨越了多个request

23、HttpServletRequest request

24、 放入的数据在这次请求中可以使用

25、K:ServletContext常用的方法

26、getInitParameter(String name) 获取某个初始化参数的值

27、getInitParameterNames() 获取所有的初始化参数的名称

28、getRealPath(String path) 获取某个资源在web应用中的绝对路径

29、getRequestDispatcher(String path) 获取请求转发对象

30、setAttribute(String name, Object object) 往ServletContext中放数据,并起一个名称便于管理

31、getAttribute(String name) 通过名称从ServletContext获取数据

32、removeAttribute(String name) 从ServletContext中直接移除数据

33、在使用ServletContext来放入和获取数据时,就类似使用一个map

34、L:通过ServletContext获取初始化参数

35、getInitParameter(String name) 获取某个初始化参数的值

36、getInitParameterNames() 获取所有的初始化参数的名称

37、它的初始化参数和使用ServletConfig获取的某个servlet的初始化参数有区别:

38、ServletConfig获取的只是专门给某个servlet添加的初始化参数,这个参数别的servlet不能使用

39、而使用ServletContext添加的初始化参数,实际上是给整个应用添加的初始化参数,所有的servlet都可以使用这个初始化参数

40、给整个应用添加初始化参数的方法:

41、在web.xml中添加如下配置信息

42、 <context-param>

43、 <param-name>aaa</param-name>

44、 <param-value>111</param-value>

45、 </context-param>

46、配置的变量aaa是一个全局初始化参数,它可以被所有的servlet共享

47、使用getInitParameter(String name)获取某个参数

48、使用getInitParameterNames() 一次获取多个参数

49、M:getRealPath(String path) 获取应用中某个资源的真实路径

50、获取的是某个应用下资源的真实物理路径

51、获取路径后往往就可以获取这个资源的信息

52、所以通常这种资源都是配置文件

53、注意:这个方法如果查找的资源不存在,并不是报错误,而是还是拼接好路径返回

54、所以在使用getRealPath这个方法时,请一定保证所查找的资源真实存在

55、N:域对象的相关方法

56、setAttribute(String name, Object object) 往ServletContext中放数据,并起一个名称便于管理

57、getAttribute(String name) 通过名称从ServletContext获取数据

58、removeAttribute(String name) 从ServletContext中直接移除数据

59、eg:

60、在HelloServlet中向ServletContext中放入对象user

61、在HelloServlet02中从ServletContext中获取user对象

62、要注意的是域方法中 放入的对象会丢失类型,最终都是Object 需要类型转换

63、O:在实际编程中ServletContext的使用时机

64、定义整个应用的全局初始化参数

65、把ServletContext当做域对象使用

本文到此结束,希望对大家有所帮助。

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐