1. 获取web的上下文路径
2. 获取全局的参数
3. 作为域对象使用
4. 请求转发
5. 读取web项目的资源文件
package day10.about_servletcontext.scope;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 【context对象的作用-3】:域对象
* @author mzy
* 域对象是什么?域对象的作用?
* 在web中我们经常需要在两个servlet之间传递信息
* 但是通过重定向的话:
* 通过response.sendReirect("/servlet2?name=eric");
* 这种方式弊端很大:
* 这种方式的本质就是通过get方式进行数据传输的
*
* 现在ServletContext是我们学习的第一个域对象:
*
* 域对象负责到servlet中获取数据
* 和将数据传输到指定的地方
* 其中提供了两个方法进行这种操作:
* setAttribute("name", Object);
* getAttribute("name");
*/
public class ContextDemo03_ScopeDemo01 extends HttpServlet {
private static final long serialVersionUID = -4001884291361193466L;
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();
context.setAttribute("name", "mzy");
System.out.println("name属性已经保存到context中...");
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
}
}
查看域对象中Attribute的servlet:
package day10.about_servletcontext.scope;
import java.io.IOException;
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 ContextDemo03_ScopeDemo02 extends HttpServlet {
private static final long serialVersionUID = 880491464311792192L;
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();
String name = (String)context.getAttribute("name");
System.out.println(name);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
}
}