百度
360搜索
搜狗搜索

servletcontext,ServletContext作用是什么 怎么用详细介绍

本文目录一览: ServletContext作用是什么 怎么用

ServletContext.getContext().getxx()
一般是引用上下文路径。
作用
1、可以读取全局配置参数。
2、可以搜索当前工程目录下面的资源文件。
3、可以获取当前工程名字。
用法
1、ServletContext对象获取
this.getServletContext();
this.getServletConfig().getServletContext();
2、添加属性:setAttribute(String name, Object obj);
3、得到值:getAttribute(String name),这个方法返回Object
4、删除属性:removeAttribute(String name)
扩展资料
实例
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();ServletContext servletContext = this.getServletContext();
ServletContext servletContext2 = this.getServletConfig().getServletContext(); servletContext.setAttribute("name", "小明");out.println("将 name=小明 写入了ServletContext");}
注意
存在ServletContext中的数据在服务器中会长时间,就会占用很多内存,因此在使用ServletContext时,最好不要往里面添加过大的数据。

ServletContext对象

每一个web应用都有且仅有一个ServletContext对象,又称Application对象,从名称中可知,该对象是与应用程序相关的。在WEB容器启动的时候,会为每一个WEB应用程序创建一个对应的ServletContext对象。
该对象有两大作用, 第一 :作为域对象用来共享数据,此时数据在整个应用程序中共享; 第二 :该对象中保存了当前应用程序相关信息。例如可以通过getServerInfo()方法获取当前服务器信息,getRealPath(Stringpath)获取资源的真实路径等。
获取ServletContext对象的途径有很多。
ServletContext 也可当做域对象来使用,通过向ServletContext 中存取数据,可以使得整个应用程序共享某些数据。当然不建议存放过多数据,因为ServletContext中的数据一旦存储进去没有手动移除将会一直保存。
1.request域对象 在一次请求中有效。请求转发有效,重定向失效。 2.session域对象 在一次会话中有效。请求转发和重定向都有效,session销毁后失效。 3.servletContext域对象 在整个应用程序中有效。服务器关闭后失效。

怎么理解ServletContext,在Servlet访问过程中什么作用

ServletContext 被 Servlet 程序用来与 Web 容器通信。例如写日志,转发请求。每一个 Web 应用程序含有一个Context,被Web应用内的各个程序共享。因为Context可以用来保存资源并且共享,所以我所知道的 ServletContext 的最大应用是Web缓存----把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要进行慢速的磁盘I/O了。
1 )上下文的作用
web
容器在启动时,它会为每个web程序都创建一个对应的ServletContext对象,它代表当前的web应用。
事实上SpringMVC封装的ApplicationContext
以及Struts2封装的ApplicationContext里面都是保存着原本的ServletContext
作用:Web应用范围内存取共享数据;访问web应用的静态资源;Servlet对象之间通过ServletContext对象来实现通讯。
2) 下文接口的方法
在Servlet中通过final ServletContext application = request.getServletContext();
获取上下文对象application
上下文的常用方法如下:
getInitParameter(String name) 获取name名称的初始化参数的值
getResourceAsStream(String path) 输入流的形式返回path对应的资源,path参数必须以“/”
getInitParameterNames() 获取所有初始化参数的名称,返回的结果是一个枚举值
getRequestDispatcher(String name) 根据转发的地址获取 RequestDispatcher对象
setAttribute() 设置属性值
getAttributeNames() 获取所有属性值名称
3) 上下文参数
在web.xml中配置初始化参数:

adminEmail

webmaster

元素是针对整个应用的,所以并不嵌套在某个

元素中,该元素是

元素的直接子元素。

从Servlet中访问初始化参数:

final ServletContext application=this.getServletContext();

application.getInitParameter("email");

4) 上下文属性ServletContext application=this.getServletContext();

application.setAttribute("name","value");

application.getAttribute("name");

Enumberation p=application.getAttributeNames();

https://www.zhihu.com/question/38481443/answer/76596017

ServletConfig和ServletContext的区别及应用

servlet config对象可以使用一个或多个

标签为servlet配置一些初始化参数,servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。

ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。

相差字母1个,4个字母不同

简述servletcontext接口的三个主要作用?

ServletContext是javax.servlet包内定义的接口,Web容器会为每个Web程序构造一个实现该接口的对象实例,通过这个对象,Servlet可以和web容器进行交互,如获取Web容器版本号,通过Web容器的日志机制记录信息等;也可以和同一Web程序的其他Servlet进行交流,如可以通过该对象的属性来共享数据。

ServletConfig和ServletContext的区别及应用

ServletConfig和ServletContext的区别1、定义
1)ServletConfig:Servlet的配置对象,容器在初始化Servlet时通过它传递信息给Servlet。
2)ServletContext:上下文对象,提供了一系列方法供Servlet与Web容器交互。
2、创建时机
1)ServletConfig:在容器初始化Servlet的时候,并为其提供上下文初始化参数的名/值对的引用。
2)ServletContext:容器启动的时候,并为其提供Servlet初始化参数的名/值对的引用。
3、作用范围(可见性)
1)ServletConfig:每个JVM中每个Web应用一个ServletContext。
2)ServletContext:每个JVM中每个Web应用的每个Servlet一个ServletConfig。
所以ServletConfig=Servlet初始化参数,ServletContext=上下文初始化参数。
4、Servlet中的访问方法
1)ServletConfig:getServletConfig().getInitParameter(“name”)。
2)ServletContext:getServletContext().getInitParameter(“name”)。

如何使用servlet+context对象存储数据,并实现共享?

使用servlet+context对象存储数据并实现共享可以通过以下步骤实现:
1.在servlet中获取ServletContext对象
ServletContext context = getServletContext();
2.将数据存储在ServletContext对象中
context.setAttribute("name", "value");
3.在其他servlet或jsp中获取ServletContext对象并获取数据
ServletContext context = getServletContext();String value = (String) context.getAttribute("name");
4.注意事项
存储在ServletContext对象中的数据是应用程序级别的,可以在整个应用程序中共享。
数据存储在ServletContext对象中后,可以在整个应用程序中访问,但是需要注意线程安全问题。
可以使用ServletContextListener接口来监听ServletContext对象的创建和销毁事件,以便进行相应的初始化和清理操作。

如何利用servletcontext和servletconfig对象获得初始化参数

七、ServletConfig对象
在Servlet的配置文件中可以使用一个或多个

标签为Servlet配置初始化参数,web服务器会在创建Servlet对象时,将这些参数封装在ServletConfig对象中,因此我们可以通过ServletConfig对象来获取一个Servlet的初始化参数。通常将Servlet运行时要读取的配置文件写在这里。

八、ServletContext对象

ServletContext对象代表了一个应用,他是一个Context域对象,它里面的方法主要是一些全局性的方法,可以用来存储各个Servlet之间的共享数据。

ServletContext对象的应用场景,主要用于Servlet之间数据共享(可以用来做聊天室),获取web应用的初始化参数,实现Servlet转发,读取资源文件。

配置web应用的初始化参数,在web.xml文件中使用标签

,通常在这里配置数据库连接,

Servlet的转发和重定向,转发(你来请求我,我将请求转给他),通常转发给jsp用来美化输出,重定向(你来请求我,我让你重新请求他)

RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/1.jsp");

rd.forward(request,response);

  

九、利用ServletContext读取资源文件

1.

1 InputStream stream = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");

2 Propertied prop = new Properties();

3 prop.load(stream);

4 prop.getProperty("user");

2.

//这种方式,可以很方便的获取文件名称

String path = this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");

FileInputStream inStream = new FileInputStream(path);

Propertied prop = new Properties();

prop.load(stream);

prop.getProperty("user");

十、Java web应用中非Servlet程序读取资源文件

1.

//使用类装载器,文件不能太大

public class UserDao

{

private static Properties prop = new Properties();

static

{

//InputStream inStream = UserDao.class.getClassLoader().getResourceAsStream("db.properties"); 这种方式无法获取到更新后的数据

String path = UserDao.class.getClassLoader().getResource("db.properties");

FileInputStream inStream = new FileInputStream(path); //这种方式可以获取到更新后的数据

prop.load(inStream);

}

public void update()

{

//引用inStream

}

public void find()

{

//引用inStream

}

}

Servlet总结六:ServletContext接口总结

3、到底是什么?什么时候被创建?什么时候被销毁?创建几个?
4、ServletContext接口中有哪些常用方法
5、Servlet、ServletConfig、ServletContext之间的关系
6、ServletContext范围可以完成跨用户传递数据
7、 上下文参数
username admin password 123
总结注意:
ServletConfig与ServletContext中的 getInitParameter() 、 getInitParameterNames() 不同
ServletContext中的 getInitParameter(String name) 与 getAttribute(String name) 不同

阅读更多 >>>  java中stringbuffer,java中字符串的是什么?

如何在普通的Java类中获得servletcontext

connection放在servletcontext中,action可以访问到servletcontext,而你的所谓普通类,必然是要在action中调用的,那么在action中取到后传入那个类就好了。
另:这样的取连接方法并不好!
在web项目中,如果需要在后台java代码中获取web上下文对象(以及session、request、response等对象),可以使用ActionContext类:
ActionContext context=ActionContext.getContext(); --得到Action执行的上下文
在获取了context后,还可以继续获取session等对象:
Map request=(Map)context.get("request");--得到HttpServletRequest的Map对象
Map session=context.getSession();--得到HttpSession的Map对象
Map application=context.getApplication();--得到ServletContext的Map对象
也可以直接使用常量枚举作为参数获取内置对象:
HttpServletResponse response = (HttpServletResponse)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
HttpServletRequest request = (HttpServletRequest)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);

网站数据信息

"servletcontext,ServletContext作用是什么 怎么用"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:servletcontext,ServletContext作用是什么 怎么用的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!