龙空技术网

Servlet总结六:ServletContext接口总结

小瓜瓜666 117

前言:

现时姐妹们对“servlet调用存储过程”大约比较关注,我们都需要剖析一些“servlet调用存储过程”的相关内容。那么小编在网摘上搜集了一些有关“servlet调用存储过程””的相关内容,希望同学们能喜欢,大家快快来学习一下吧!

javax.servlet.ServletContext接口,Servlet规范Tomcat服务器对ServletContext接口的实现类完整类名是:

org.apache.catalina.core.ApplicationContextFacade

javaweb程序员只需要面向ServletContext接口调用方法即可,不需要关心Tomcat具体的实现

3、到底是什么?什么时候被创建?什么时候被销毁?创建几个?

1、ServletContext被译为:Servlet上下文

2、一个webapp只有一个web.xml文件,web.xml文件服务器启动阶段被解析

3、一个webapp只有一个ServletContext对象,ServletContext对象在服务器启动阶段被实例化

4、ServletContext在服务器关闭的时候被销毁

5、ServletContext对应的是web.xml文件,是web.xml文件的代表

6、ServletContext是所有Servlet对象四周环境的代表,被所有Servlet共享【在同一个webapp中,所有Servlet对象共享一个四周环境对象,该对象就是ServletContext】

7、所有用户若想共享同一个数据,可以将数据放到ServletContext对象中(写到web.xml文件中,或后期通过方法添加)

8、一般放到ServletContext对象中的数据不建议涉及到修改操作的,以为ServletContext是多线程共享的一个对象,修改的时候会存在线程安全问题

4、ServletContext接口中有哪些常用方法

1、void setAttribute(String name, Object object) 向ServletContext中添加数据

2、Object getAttribute(String name) 从ServletContext中获取数据

3、void removeAttribute(String name) 从ServletContext中移除数据

4、String getInitParameter(String name) 从ServletContext中获取name所对应的value初始化参数(<context-param>标签中)

5、Enumeration getInitParameterNames()从ServletContext中获取name所对应的value初始化参数(<context-param>标签中)

6、String getRealPath(String path) 获取文件绝对路径

5、Servlet、ServletConfig、ServletContext之间的关系

一个Servlet对应一个ServletConfig对象

所有的Servlet共享一个ServletContext对象

6、ServletContext范围可以完成跨用户传递数据

A用户在ServletContext中存储了一个数据,

B用户可以通过name获取对应的数据

7、<context-param>上下文参数

<context-param>标签是上下文参数(全局参数),定义在<web-app>标签中

<context-param>标签内还有<param-name>、<param-value>

<param-name>表示参数的name(key)

<param-value>表示name所对应的value

<context-param>定义的参数属于全局,所有Servlet共享

这些参数信息封装在ServletContext对象中

<context-param>

<param-name>username</param-name>

<param-value>admin</param-value>

</context-param>

<context-param>

<param-name>password</param-name>

<param-value>123</param-value>

</context-param>

总结注意:

ServletConfig与ServletContext中的getInitParameter()getInitParameterNames()不同

ServletConfig是每个Servlet对象的配置信息对象,ServletConfig中的getInitParameter()getInitParameterNames()获取到的初始化参数是在<init-param>标签中的,<init-param>标签定义在<servlet>标签里面ServletContext是所有Servlet对象的共用的四周环境,ServletContext中的getInitParameter()getInitParameterNames()获取到的参数是在<context-param>标签中的,<context-param>标签定义在<web-app>标签里面

ServletContext中的getInitParameter(String name)getAttribute(String name)不同

getInitParameter(String name)获取到的参数是写在web.xml文件<context-param>标签中的,获取到的都是字符串参数getAttribute(String name)获取到的数据是运行时添加到ServletContext中的数据,数据可以是任何类型,不同用户都可以通过name获取到数据

标签: #servlet调用存储过程