以下代码未测试

package com;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

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 Content extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取ServletContext方式1
		ServletContext context1 = this.getServletConfig().getServletContext();
		context1.setAttribute("data", "123");

		//获取ServletContext方式2
		ServletContext context2 = this.getServletContext();
		String data = (String) context2.getAttribute("data");
		System.out.println(data);

		//获取整个web站点的初始化参数
		ServletContext context = this.getServletContext();
		System.out.println(context.getInitParameter("url"));

		//使用ServletContext读取资源文件
		InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
		Properties prop = new Properties();
		prop.load(in);

		String driver = prop.getProperty("driver");
		String url = prop.getProperty("url");
		String username = prop.getProperty("username");
		String password = prop.getProperty("password");
		System.out.println(driver);

		//获取web资源的绝对路径
		String path = this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
		in = new FileInputStream(path);

		prop = new Properties();
		prop.load(in);

		driver = prop.getProperty("driver");
		url = prop.getProperty("url");
		username = prop.getProperty("username");
		password = prop.getProperty("password");

		System.out.println(driver);

		//用类装载器读取资源文件
		ClassLoader loader = Content.class.getClassLoader();

		in = loader.getResourceAsStream("db.properties");
		prop = new Properties();
		prop.load(in);

		driver = prop.getProperty("driver");
		url = prop.getProperty("url");
		username = prop.getProperty("username");
		password = prop.getProperty("password");

		System.out.println(driver);

		//读取类路径下面、包下面的资源文件
		in = Content.class.getClassLoader().getResourceAsStream("cn/itcast/context/db.properties");
		System.out.println(in);

		//通过类装载器读取资源文件的注意事项:不适合装载大文件,否则会导致jvm内存溢出
		in = Content.class.getClassLoader().getResourceAsStream("PranavMistry_2009I_480.mp4");
		System.out.println(in);

		//文件太大,可通过以下方式
		path = Content.class.getClassLoader().getResource("cn/itcast/context/db.properties").getPath();
		FileInputStream fis = new FileInputStream(path);
		prop = new Properties();
		prop.load(fis);
		driver = prop.getProperty("driver");

		//文件太大,只能用servletContext
		path = this.getServletContext().getRealPath("/WEB-INF/classes/PranavMistry_2009I_480.mp4");
		String filename = path.substring(path.lastIndexOf("\\") + 1);

		in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/PranavMistry_2009I_480.mp4");
		byte buffer[] = new byte[1024];
		int len = 0;

		FileOutputStream out = new FileOutputStream("e:\\" + filename);
		while ((len = in.read(buffer)) > 0) {
			out.write(buffer, 0, len);
		}

		out.close();
		in.close();
	}
}