ServletContext对象【持续更新】
2016-05-29 12:09
253 查看
ServletContext对象:
一个Web应用程序中所有的Servlet都共享同一个ServletContext对象,所以多个Servlet通过ServletContext
对象实现数据共享。
ServletContext对象通常也被称之为context域对象。
ServletContext对象作用以及应用场景:
1.获取Web应用的初始化参数。
2.实现Servlet的转发。
3.利用ServletContext对象读取资源文件。
//获取ServletContext对象的两种方式:
package cn.lsh.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletContextDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取ServletContext对象的两种方式:
//第一种方式
ServletContext context1 = this.getServletConfig().getServletContext();
//第二种方式
ServletContext context2 = this.getServletContext();
System.out.println(context1 == context2);//true
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}<strong>
</strong>输出结果为:
true
获取web应用中初始化参数:
配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!--配置初始化参数2 -->
<context-param>
<param-name>charset</param-name>
<param-value>utf-8</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mydb</param-value>
</context-param>
<servlet>
<servlet-name>ServletContextDemo1</servlet-name>
<servlet-class>cn.lsh.servlet.ServletContextDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/ServletDemo1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletContextDemo1</servlet-name>
<url-pattern>/ServletContextDemo1</url-pattern>
</servlet-mapping>
ServletContextDemo1
package cn.lsh.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletContextDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取ServletContext对象的两种方式:
//第一种方式
ServletContext context1 = this.getServletConfig().getServletContext();
//第二种方式
ServletContext context2 = this.getServletContext();
System.out.println(context1 == context2);//true
Enumeration en = this.getServletContext().getInitParameterNames();
while(en.hasMoreElements()){
String name = (String) en.nextElement();
String value = this.getServletContext().getInitParameter(name);
System.out.println(name+"="+value);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
输出结果为:
username=root
charset=utf-8
password=root
url=jdbc:mysql://localhost:3306/mydb
一个Web应用程序中所有的Servlet都共享同一个ServletContext对象,所以多个Servlet通过ServletContext
对象实现数据共享。
ServletContext对象通常也被称之为context域对象。
ServletContext对象作用以及应用场景:
1.获取Web应用的初始化参数。
2.实现Servlet的转发。
3.利用ServletContext对象读取资源文件。
//获取ServletContext对象的两种方式:
package cn.lsh.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletContextDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取ServletContext对象的两种方式:
//第一种方式
ServletContext context1 = this.getServletConfig().getServletContext();
//第二种方式
ServletContext context2 = this.getServletContext();
System.out.println(context1 == context2);//true
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}<strong>
</strong>输出结果为:
true
获取web应用中初始化参数:
配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!--配置初始化参数2 -->
<context-param>
<param-name>charset</param-name>
<param-value>utf-8</param-value>
</context-param>
<context-param>
<param-name>username</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>password</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mydb</param-value>
</context-param>
<servlet>
<servlet-name>ServletContextDemo1</servlet-name>
<servlet-class>cn.lsh.servlet.ServletContextDemo1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo1</servlet-name>
<url-pattern>/ServletDemo1</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletContextDemo1</servlet-name>
<url-pattern>/ServletContextDemo1</url-pattern>
</servlet-mapping>
ServletContextDemo1
package cn.lsh.servlet;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletContextDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获取ServletContext对象的两种方式:
//第一种方式
ServletContext context1 = this.getServletConfig().getServletContext();
//第二种方式
ServletContext context2 = this.getServletContext();
System.out.println(context1 == context2);//true
Enumeration en = this.getServletContext().getInitParameterNames();
while(en.hasMoreElements()){
String name = (String) en.nextElement();
String value = this.getServletContext().getInitParameter(name);
System.out.println(name+"="+value);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
输出结果为:
username=root
charset=utf-8
password=root
url=jdbc:mysql://localhost:3306/mydb
相关文章推荐
- Eclipse如果关闭了JavaScript、xml等文件的校验,我怎么人工去验证某个诸如xml文件格式是否有错误??
- JMS中点对点消息
- 根元素
- 1085: [SCOI2005]骑士精神
- Java二分查找算法
- JMS概述
- 随笔—邀请赛前训—Codeforces Round #327 (Div. 2) Rebranding
- 重建freescale 4.6.2 multilib toolchain
- 抓包来看ftp状态码
- 数据加密(MD5,DES,RSA)简析
- BZOJ3779: 重组病毒
- 【算法笔记】贪心算法——01背包问题
- TI CC2541 OAD流程
- 用两个栈组成队列
- Shader Forge 颜色乘法+加法+控制饱和度+角色发光+和程序的衔接
- 同程面试经历 android开发工程师
- 计算机中的布尔操作 ^ (即XOR)的学习
- ActiveMQ编程实例
- 牧羊曲
- Digit(湘潭大学比赛)