1. 获取web的上下文路径
2. 获取全局的参数
3. 作为域对象使用
4. 请求转发
5. 读取web项目的资源文件
package day10.about_servletcontext.get_init_arameter;
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;
/**
* 【context对象的作用-2】:获取全局的参数
* 首先要到web.xml中进行全局参数的配置
*
*
* <context-param>
<param-name>AAA</param-name>
<param-value>AAA'value</param-value>
</context-param>
* @author mzy
*/
public class ContextDemo02 extends HttpServlet {
private static final long serialVersionUID = -4589027275888804319L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
ServletContext context = this.getServletContext();
System.out.println(context.getInitParameter("AAA"));
Enumeration<String> names = context.getInitParameterNames();
// 遍历所有参数
while(names.hasMoreElements()) {
String name = names.nextElement();
String value = context.getInitParameter(name);
System.out.println(name+"="+value);
}
/*
* 从这里我们来分析ServletContext的context-param参数
* 和ServletConfig的init-param参数的区别:
*
* 首先这个context参数是全局的,放在servlet的外部
* 而config的init参数是局部的,放在servlet的内部
*
* 所以context-param是全局的。
* 该网站下的任何servlet都可以通过servletContext对象
* 来获取到全局参数!!!
*
* 但是其实context-param参数既可以放到servlet内部;
* 也可以放到servlet外部,区别就是全局和局部的区别。
*
*
* 如果整个网站都要用的话,就设置成全局的;
* 如果只是这个servlet中要使用的话,就设置成局部的。
*/
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
}
}